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);
+
        }




Reply via email to