diff --git a/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/grid/SessionTracker.java b/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/grid/SessionTracker.java index 690bff5a..77dde816 100644 --- a/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/grid/SessionTracker.java +++ b/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/grid/SessionTracker.java @@ -1,15 +1,27 @@ package com.groupon.seleniumgridextras.grid; +import com.groupon.seleniumgridextras.config.*; + import java.util.LinkedList; import java.util.List; public class SessionTracker { - List sessionsRecorded = new LinkedList(); + LinkedList sessionsRecorded = new LinkedList(); public void startSession(String session) { sessionsRecorded.add(session); + + // videos to keep, and sessions to keep track of + int videosToKeep + = RuntimeConfig.getConfig().getVideoRecording().getVideosToKeep(); + if (videosToKeep > 0 + && sessionsRecorded.size() > videosToKeep) + { + // then forget the first session + sessionsRecorded.remove(); + } } public List getSessions() { diff --git a/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/utilities/threads/video/VideoRecorderCallable.java b/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/utilities/threads/video/VideoRecorderCallable.java index 5128692e..7b0dea69 100644 --- a/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/utilities/threads/video/VideoRecorderCallable.java +++ b/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/utilities/threads/video/VideoRecorderCallable.java @@ -260,7 +260,9 @@ public static BufferedImage convertToType(BufferedImage sourceImage, else { image = new BufferedImage(sourceImage.getWidth(), sourceImage.getHeight(), targetType); - image.getGraphics().drawImage(sourceImage, 0, 0, null); + Graphics g = image.getGraphics(); + g.drawImage(sourceImage, 0, 0, null); + g.dispose(); } return image; diff --git a/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/videorecording/ImageProcessor.java b/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/videorecording/ImageProcessor.java index 9e7151bc..bfce4a64 100644 --- a/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/videorecording/ImageProcessor.java +++ b/SeleniumGridExtras/src/main/java/com/groupon/seleniumgridextras/videorecording/ImageProcessor.java @@ -82,6 +82,7 @@ public static BufferedImage createTitleFrame(Dimension dimension, int imageType, g.setFont(new Font("TimesRoman", Font.PLAIN, 14)); g.drawString("" + line2, firstLineX, secondLineY); g.drawString("" + line3, firstLineX, thirdLineY); + g.dispose(); return image; }