Author: jflesch
Date: 2008-01-16 08:46:01 +0000 (Wed, 16 Jan 2008)
New Revision: 17064

Modified:
   trunk/apps/Thaw/src/thaw/plugins/StatusBar.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java
Log:
Should fix the memory leak : Minifrost added FCPTransferQuery objects to the 
FCPQueueManager and never removed them

Modified: trunk/apps/Thaw/src/thaw/plugins/StatusBar.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/StatusBar.java     2008-01-15 21:17:13 UTC 
(rev 17063)
+++ trunk/apps/Thaw/src/thaw/plugins/StatusBar.java     2008-01-16 08:46:01 UTC 
(rev 17064)
@@ -31,6 +31,15 @@
        private boolean dropNextRefresh = false;

        public final static Color ORANGE = new Color(240, 160, 0);
+       
+       private final static String connectingStr = 
I18n.getMessage("thaw.statusBar.connecting");
+       private final static String disconnectedStr = 
I18n.getMessage("thaw.statusBar.disconnected");
+       private final static String globalProgressionStr= 
I18n.getMessage("thaw.plugin.statistics.globalProgression");
+       private final static String finishedStr = 
I18n.getMessage("thaw.plugin.statistics.finished");
+       private final static String failedStr = 
I18n.getMessage("thaw.plugin.statistics.failed");
+       private final static String runningStr = 
I18n.getMessage("thaw.plugin.statistics.running");
+       private final static String pendingStr = 
I18n.getMessage("thaw.plugin.statistics.pending");
+       

        public boolean run(final Core core) {
                this.core = core;
@@ -86,13 +95,13 @@

                if (core.isReconnecting()) {
                        core.getMainWindow().setStatus(IconBox.blueBunny,
-                                                      
I18n.getMessage("thaw.statusBar.connecting"), java.awt.Color.RED);
+                                                      connectingStr, 
java.awt.Color.RED);
                        return;
                }

                if (!core.getConnectionManager().isConnected()) {
                        
core.getMainWindow().setStatus(IconBox.minDisconnectAction,
-                                                      
I18n.getMessage("thaw.statusBar.disconnected"), java.awt.Color.RED);
+                                                      disconnectedStr, 
java.awt.Color.RED);
                        return;
                }

@@ -148,19 +157,19 @@

                if(advancedMode) {
                        status = status
-                               + StatusBar.SEPARATOR + 
I18n.getMessage("thaw.plugin.statistics.globalProgression") + " "
+                               + StatusBar.SEPARATOR + globalProgressionStr + 
" "
                                + Integer.toString(progressDone) + "/" + 
Integer.toString(progressTotal);
                }


                status = status
-                       + StatusBar.SEPARATOR + 
I18n.getMessage("thaw.plugin.statistics.finished")+ " "
+                       + StatusBar.SEPARATOR + finishedStr+ " "
                        + Integer.toString(finished) + "/" + 
Integer.toString(total)
-                       + StatusBar.SEPARATOR + 
I18n.getMessage("thaw.plugin.statistics.failed") + " "
+                       + StatusBar.SEPARATOR + failedStr + " "
                        + Integer.toString(failed) + "/" + 
Integer.toString(total)
-                       + StatusBar.SEPARATOR + 
I18n.getMessage("thaw.plugin.statistics.running") + " "
+                       + StatusBar.SEPARATOR + runningStr + " "
                        + Integer.toString(running) + "/" + 
Integer.toString(total)
-                       + StatusBar.SEPARATOR + 
I18n.getMessage("thaw.plugin.statistics.pending") + " "
+                       + StatusBar.SEPARATOR + pendingStr + " "
                        + Integer.toString(pending) + "/" + 
Integer.toString(total);

                core.getMainWindow().setStatus(IconBox.minConnectAction, 
status);

Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java 
2008-01-15 21:17:13 UTC (rev 17063)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java 
2008-01-16 08:46:01 UTC (rev 17064)
@@ -61,11 +61,14 @@
        private boolean downloading = false; /* put back to false only after 
parsing */
        private boolean successfullyDownloaded = false;
        private boolean successfullyParsed = false;
+       private FCPQueueManager queueManager = null;

        private String key = null;

        public void download(FCPQueueManager queueManager, Hsqldb db) {
                this.db = db;
+               this.queueManager = queueManager;
+               
                downloading = true;

                key = board.getDownloadKey(date, rev);
@@ -91,7 +94,7 @@

                if (!get.isFinished())
                        return;
-
+               
                if (!get.isSuccessful()) {

                        int code = get.getGetFailedCode();
@@ -170,6 +173,9 @@
                                read = true;
                        }
                }
+               
+               get.stop(queueManager);
+               queueManager.remove(get);

                setChanged();
                notifyObservers();


Reply via email to