JAL-4199 Fix interactive jobs not being stopped
[jalview.git] / src / jalview / workers / AlignCalcManager2.java
index 8d4796d..582c84f 100644 (file)
@@ -23,6 +23,7 @@ import jalview.api.AlignCalcManagerI2;
 import jalview.api.AlignCalcWorkerI;
 import jalview.api.PollableAlignCalcWorkerI;
 import jalview.bin.Cache;
+import jalview.bin.Console;
 import jalview.datamodel.AlignmentAnnotation;
 
 public class AlignCalcManager2 implements AlignCalcManagerI2
@@ -105,24 +106,20 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
         throw new IllegalStateException(
                 "Cannot submit new task if the prevoius one is still running");
       }
-      Cache.log.debug(
-              format("Worker %s queued", getWorker().getClass().getName()));
+      Console.debug(
+              format("Worker %s queued", getWorker()));
       task = executor.submit(() -> {
         try
         {
-          Cache.log.debug(format("Worker %s started",
-                  getWorker().getClass().getName()));
+          Console.debug(format("Worker %s started", getWorker()));
           getWorker().run();
-          Cache.log.debug(format("Worker %s finished",
-                  getWorker().getClass().getName()));
+          Console.debug(format("Worker %s finished", getWorker()));
         } catch (InterruptedException e)
         {
-          Cache.log.debug(format("Worker %s interrupted",
-                  getWorker().getClass().getName()));
+          Console.debug(format("Worker %s interrupted", getWorker()));
         } catch (Throwable th)
         {
-          Cache.log.debug(format("Worker %s failed",
-                  getWorker().getClass().getName()), th);
+          Console.debug(format("Worker %s failed", getWorker()), th);
         } finally
         {
           if (!isRegistered())
@@ -141,8 +138,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
       {
         return;
       }
-      Cache.log.debug(format("Cancelling worker %s",
-              getWorker().getClass().getName()));
+      Console.debug(format("Cancelling worker %s", getWorker()));
       task.cancel(true);
     }
   }
@@ -173,10 +169,9 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
       if (task != null && !(task.isDone() || task.isCancelled()))
       {
         throw new IllegalStateException(
-                "Cannot submit new task if the prevoius one is still running");
+                "Cannot submit new task if the previous one is still running");
       }
-      Cache.log.debug(
-              format("Worker %s queued", getWorker().getClass().getName()));
+      Console.debug( format("Worker %s queued", getWorker()));
       final var runnable = new Runnable()
       {
         private boolean started = false;
@@ -192,26 +187,22 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
           {
             if (!started)
             {
-              Cache.log.debug(format("Worker %s started",
-                      getWorker().getClass().getName()));
+              Console.debug(format("Worker %s started", getWorker()));
               getWorker().startUp();
               started = true;
             }
             else if (!completed)
             {
-              Cache.log.debug(format("Polling worker %s",
-                      getWorker().getClass().getName()));
+              Console.debug(format("Polling worker %s", getWorker()));
               if (getWorker().poll())
               {
-                Cache.log.debug(format("Worker %s finished",
-                        getWorker().getClass().getName()));
+                Console.debug(format("Worker %s finished", getWorker()));
                 completed = true;
               }
             }
           } catch (Throwable th)
           {
-            Cache.log.debug(format("Worker %s failed",
-                    getWorker().getClass().getName()), th);
+            Console.debug(format("Worker %s failed", getWorker()), th);
             completed = true;
           }
           if (completed)
@@ -219,8 +210,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
             final var worker = getWorker();
             if (!isRegistered())
               PollableWorkerManager.super.worker = null;
-            Cache.log.debug(format("Finalizing completed worker %s",
-                    worker.getClass().getName()));
+            Console.debug(format("Finalizing completed worker %s", worker));
             worker.done();
             // almost impossible, but the future may be null at this point
             // let it throw NPE to cancel forcefully
@@ -238,8 +228,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
       {
         return;
       }
-      Cache.log.debug(format("Cancelling worker %s",
-              getWorker().getClass().getName()));
+      Console.debug(format("Cancelling worker %s", getWorker()));
       task.cancel(false);
       executor.submit(() -> {
         final var worker = getWorker();
@@ -248,8 +237,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
         if (worker != null)
         {
           worker.cancel();
-          Cache.log.debug(format("Finalizing cancelled worker %s",
-                  worker.getClass().getName()));
+          Console.debug(format("Finalizing cancelled worker %s", worker));
           worker.done();
         }
       });
@@ -314,10 +302,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
   @Override
   public void removeWorker(AlignCalcWorkerI worker)
   {
-    if (worker.isDeletable())
-    {
-      registered.remove(worker);
-    }
+    registered.remove(worker);
   }
 
   @Override
@@ -432,7 +417,7 @@ public class AlignCalcManager2 implements AlignCalcManagerI2
     var manager = registered.get(worker);
     if (manager == null)
     {
-      Cache.log.warn("Starting unregistered worker " + worker);
+      Console.warn("Starting unregistered worker " + worker);
       manager = createManager(worker);
       oneshot.put(worker, manager);
     }