JAL-3690 Introduce AlignCalcManager2 tests.
[jalview.git] / src / jalview / workers / AlignCalcManager2.java
index 8340900..8d4796d 100644 (file)
@@ -59,7 +59,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
       {
         return;
       }
-      if (!isRestartable())
+      if (!isRegistered())
       {
         setEnabled(false);
       }
@@ -70,7 +70,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
       submit();
     }
 
-    protected boolean isRestartable()
+    protected boolean isRegistered()
     {
       return registered.containsKey(getWorker());
     }
@@ -125,7 +125,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
                   getWorker().getClass().getName()), th);
         } finally
         {
-          if (!isRestartable())
+          if (!isRegistered())
           {
             // delete worker reference so garbage collector can remove it
             worker = null;
@@ -217,7 +217,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
           if (completed)
           {
             final var worker = getWorker();
-            if (!isRestartable())
+            if (!isRegistered())
               PollableWorkerManager.super.worker = null;
             Cache.log.debug(format("Finalizing completed worker %s",
                     worker.getClass().getName()));
@@ -243,7 +243,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
       task.cancel(false);
       executor.submit(() -> {
         final var worker = getWorker();
-        if (!isRestartable())
+        if (!isRegistered())
           PollableWorkerManager.super.worker = null;
         if (worker != null)
         {
@@ -314,7 +314,10 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
   @Override
   public void removeWorker(AlignCalcWorkerI worker)
   {
-    registered.remove(worker);
+    if (worker.isDeletable())
+    {
+      registered.remove(worker);
+    }
   }
 
   @Override
@@ -324,7 +327,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
     {
       for (var worker : getWorkers())
       {
-        if (worker.involves(annot) && worker.isDeletable())
+        if (worker.involves(annot))
         {
           removeWorker(worker);
         }