Merge branch 'patch/JAL-4062_sort_and_merge_contiguousregions' into develop
[jalview.git] / src / jalview / ws / jws2 / AbstractJabaCalcWorker.java
index b972ab8..3b56a70 100644 (file)
@@ -24,12 +24,14 @@ import jalview.analysis.AlignSeq;
 import jalview.analysis.SeqsetUtils;
 import jalview.api.AlignViewportI;
 import jalview.api.AlignmentViewPanel;
+import jalview.bin.Console;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.AnnotatedCollectionI;
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignFrame;
 import jalview.gui.IProgressIndicator;
+import jalview.gui.IProgressIndicatorHandler;
 import jalview.schemes.ResidueProperties;
 import jalview.workers.AlignCalcWorker;
 import jalview.ws.jws2.dm.AAConSettings;
@@ -220,7 +222,26 @@ public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
                 progressId = System.currentTimeMillis());
       }
       rslt = submitToService(seqs);
+      if (guiProgress != null)
+      {
+        guiProgress.registerHandler(progressId,
+                new IProgressIndicatorHandler()
+                {
 
+                  @Override
+                  public boolean cancelActivity(long id)
+                  {
+                    cancelCurrentJob();
+                    return true;
+                  }
+
+                  @Override
+                  public boolean canCancel()
+                  {
+                    return true;
+                  }
+                });
+      }
       boolean finished = false;
       long rpos = 0;
       do
@@ -238,11 +259,11 @@ public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
           {
             if (cancelJob(rslt))
             {
-              System.err.println("Cancelled AACon job: " + rslt);
+              jalview.bin.Console.errPrintln("Cancelled AACon job: " + rslt);
             }
             else
             {
-              System.err.println("FAILED TO CANCEL AACon job: " + rslt);
+              jalview.bin.Console.errPrintln("FAILED TO CANCEL AACon job: " + rslt);
             }
 
           } catch (Exception x)
@@ -324,8 +345,8 @@ public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
         }
         if (collectAnnotationResultsFor(rslt))
         {
-          jalview.bin.Cache.log.debug("Updating result annotation from Job "
-                  + rslt + " at " + service.getUri());
+          Console.debug("Updating result annotation from Job " + rslt
+                  + " at " + service.getUri());
           updateResultAnnotation(true);
           ap.adjustAnnotationHeight();
         }
@@ -335,13 +356,13 @@ public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
     catch (JobSubmissionException x)
     {
 
-      System.err.println(
+      jalview.bin.Console.errPrintln(
               "submission error with " + getServiceActionText() + " :");
       x.printStackTrace();
       calcMan.disableWorker(this);
     } catch (ResultNotAvailableException x)
     {
-      System.err.println("collection error:\nJob ID: " + rslt);
+      jalview.bin.Console.errPrintln("collection error:\nJob ID: " + rslt);
       x.printStackTrace();
       calcMan.disableWorker(this);
 
@@ -420,11 +441,11 @@ public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
       String id = rslt;
       if (cancelJob(rslt))
       {
-        System.err.println("Cancelled job " + id);
+        jalview.bin.Console.errPrintln("Cancelled job " + id);
       }
       else
       {
-        System.err.println("Job " + id + " couldn't be cancelled.");
+        jalview.bin.Console.errPrintln("Job " + id + " couldn't be cancelled.");
       }
     } catch (Exception q)
     {