Author: jflesch
Date: 2007-05-01 13:39:14 +0000 (Tue, 01 May 2007)
New Revision: 13075
Modified:
trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java
Log:
Catch a ConcurrentModificationException in plugin 'TransferLogs'
Modified: trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java 2007-05-01 07:57:39 UTC
(rev 13074)
+++ trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java 2007-05-01 13:39:14 UTC
(rev 13075)
@@ -186,16 +186,27 @@
else
core.getQueueManager().addObserver(this);
- for (Iterator it =
core.getQueueManager().getRunningQueue().iterator();
- it.hasNext();) {
- FCPTransferQuery query = (FCPTransferQuery)it.next();
+ boolean finished = false;
- if (query.isFinished() && !isDup(query.getFileKey()))
- notifyEnd(query);
+ do {
+ try {
+ for (Iterator it =
core.getQueueManager().getRunningQueue().iterator();
+ it.hasNext();) {
+ FCPTransferQuery query =
(FCPTransferQuery)it.next();
- if (query instanceof Observable)
- ((Observable)query).addObserver(this);
- }
+ if (query.isFinished() &&
!isDup(query.getFileKey()))
+ notifyEnd(query);
+
+ if (query instanceof Observable)
+
((Observable)query).addObserver(this);
+ }
+
+ finished = true;
+ } catch(final java.util.ConcurrentModificationException
e) {
+ Logger.warning(this, "setAsObserver : Collision
!");
+ }
+ } while(!finished);
+
}