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();