Author: jflesch
Date: 2006-08-15 22:42:38 +0000 (Tue, 15 Aug 2006)
New Revision: 10103
Modified:
trunk/apps/Thaw/src/thaw/fcp/FCPQueueManager.java
trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
Log:
Fix an issue when adding a file to the queues
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPQueueManager.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPQueueManager.java 2006-08-15 22:05:00 UTC
(rev 10102)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPQueueManager.java 2006-08-15 22:42:38 UTC
(rev 10103)
@@ -8,6 +8,7 @@
/**
* Manage a running and a pending queue of FCPTransferQuery.
* Please notice that runningQueue contains too finished queries.
+ * Notify when: a query is added and when a query change to one queue to
another.
*/
public class FCPQueueManager extends java.util.Observable implements Runnable,
java.util.Observer {
@@ -123,15 +124,15 @@
Logger.notice(this, "Key was already in one of the
queues : "+query.getFilename());
return false;
}
-
- Logger.debug(this, "Adding query to the pending queue ...");
+ Logger.notice(this, "Adding query to the pending queue ...");
+
pendingQueries[query.getThawPriority()].add(query);
setChanged();
notifyObservers(query);
- Logger.debug(this, "Adding done");
+ Logger.notice(this, "Adding done");
return true;
}
Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
2006-08-15 22:05:00 UTC (rev 10102)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
2006-08-15 22:42:38 UTC (rev 10103)
@@ -199,6 +199,11 @@
}
public synchronized void addQuery(FCPTransferQuery query) {
+ if(queries.contains(query)) {
+ Logger.notice(this, "addQuery() : Already known");
+ return;
+ }
+
((Observable)query).addObserver(this);
queries.add(query);
@@ -283,25 +288,27 @@
reloadQueue();
return;
}
-
- FCPTransferQuery query = (FCPTransferQuery)arg;
-
- if(query.getQueryType() == 1 && isForInsertions)
- return;
-
- if(query.getQueryType() == 2 && !isForInsertions)
- return;
-
- if(queueManager.isInTheQueues(query)) { // then it's an adding
- addQuery(query);
- return;
+
+ if(o == queueManager) {
+ FCPTransferQuery query = (FCPTransferQuery)arg;
+
+ if(query.getQueryType() == 1 && isForInsertions)
+ return;
+
+ if(query.getQueryType() == 2 && !isForInsertions)
+ return;
+
+ if(queueManager.isInTheQueues(query)) { // then it's an
adding
+ addQuery(query);
+ return;
+ }
+
+ if(queries.contains(query)) {
+ removeQuery(query);
+ return;
+ }
}
- if(queries.contains(query)) {
- removeQuery(query);
- return;
- }
-
Logger.warning(this, "update(): Unknow change ?!");
reloadQueue();
}