X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fworkers%2FAlignCalcManager.java;h=d64bf4ddfbe4a283102bf28985a5003444671ef0;hb=b254ce17e47c43d19804efa129367291a79b1315;hp=fc28e535b88955e52009c0592255693e8b871e35;hpb=3d15945cbf4a0f70bde108bcceb42bb9553c1967;p=jalview.git diff --git a/src/jalview/workers/AlignCalcManager.java b/src/jalview/workers/AlignCalcManager.java index fc28e53..d64bf4d 100644 --- a/src/jalview/workers/AlignCalcManager.java +++ b/src/jalview/workers/AlignCalcManager.java @@ -20,10 +20,6 @@ */ package jalview.workers; -import jalview.api.AlignCalcManagerI; -import jalview.api.AlignCalcWorkerI; -import jalview.datamodel.AlignmentAnnotation; - import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -33,6 +29,10 @@ import java.util.List; import java.util.Map; import java.util.Set; +import jalview.api.AlignCalcManagerI; +import jalview.api.AlignCalcWorkerI; +import jalview.datamodel.AlignmentAnnotation; + public class AlignCalcManager implements AlignCalcManagerI { /* @@ -145,7 +145,8 @@ public class AlignCalcManager implements AlignCalcManagerI { synchronized (inProgress) { - // System.err.println("Worker " + worker + " marked as complete."); + // jalview.bin.Console.errPrintln("Worker " + worker + " marked as + // complete."); inProgress.remove(worker); List upd = updating.get(worker.getClass()); if (upd != null) @@ -192,7 +193,7 @@ public class AlignCalcManager implements AlignCalcManagerI public boolean isWorking(AlignCalcWorkerI worker) { synchronized (inProgress) - {// System.err.println("isWorking : worker "+(worker!=null ? + {// jalview.bin.Console.errPrintln("isWorking : worker "+(worker!=null ? // worker.getClass():"null")+ " "+hashCode()); return worker != null && inProgress.contains(worker); } @@ -201,10 +202,10 @@ public class AlignCalcManager implements AlignCalcManagerI @Override public boolean isWorking() { - boolean working=false; + boolean working = false; synchronized (inProgress) { - // System.err.println("isWorking "+hashCode()); + // jalview.bin.Console.errPrintln("isWorking "+hashCode()); working |= inProgress.size() > 0; } synchronized (updating) @@ -214,9 +215,10 @@ public class AlignCalcManager implements AlignCalcManagerI { for (List workers : workersLists) { - if (workers!=null) + if (workers != null) { - synchronized (workers) { + synchronized (workers) + { working |= workers.size() > 0; } } @@ -305,14 +307,16 @@ public class AlignCalcManager implements AlignCalcManagerI Class workerClass) { List workingClass = new ArrayList(); + AlignCalcWorkerI[] workers; synchronized (canUpdate) { - for (AlignCalcWorkerI worker : canUpdate) + workers = canUpdate.toArray(new AlignCalcWorkerI[0]); + } + for (AlignCalcWorkerI worker : workers) + { + if (workerClass.equals(worker.getClass())) { - if (workerClass.equals(worker.getClass())) - { - workingClass.add(worker); - } + workingClass.add(worker); } } return (workingClass.size() == 0) ? null : workingClass; @@ -367,7 +371,7 @@ public class AlignCalcManager implements AlignCalcManagerI * { * * if (isPending(worker)) { worker.abortAndDestroy(); startWorker(worker); } - * else { System.err.println("Pending exists for " + workerClass); } } + * else { jalview.bin.Console.errPrintln("Pending exists for " + workerClass); } } */ }