JAL - 3690 AlignCalc rebuilt - FutureTask-based manager
[jalview.git] / src / jalview / ws / jws2 / SequenceAnnotationWSClient.java
index 7163974..16d8220 100644 (file)
@@ -26,8 +26,7 @@ import jalview.gui.Desktop;
 import jalview.gui.JvSwingUtils;
 import jalview.util.MessageManager;
 import jalview.ws.api.ServiceWithParameters;
-import jalview.ws.jws2.dm.AAConSettings;
-import jalview.ws.jws2.jabaws2.Jws2Instance;
+import jalview.ws.params.AutoCalcSetting;
 import jalview.ws.params.WsParamSetI;
 import jalview.ws.uimodel.AlignAnalysisUIText;
 
@@ -52,7 +51,7 @@ public class SequenceAnnotationWSClient extends Jws2Client
     // TODO Auto-generated constructor stub
   }
 
-  public SequenceAnnotationWSClient(final Jws2Instance sh,
+  public SequenceAnnotationWSClient(final ServiceWithParameters sh,
           AlignFrame alignFrame, WsParamSetI preset, boolean editParams)
   {
     super(alignFrame, preset, null);
@@ -84,7 +83,7 @@ public class SequenceAnnotationWSClient extends Jws2Client
 
       List<AlignCalcWorkerI> clnts = alignFrame.getViewport()
               .getCalcManager()
-              .getRegisteredWorkersOfClass(SeqAnnotationServiceCalcWorker.class);
+              .getWorkersOfClass(SeqAnnotationServiceCalcWorker.class);
 
       SeqAnnotationServiceCalcWorker worker = null;
       if (clnts != null)
@@ -117,9 +116,10 @@ public class SequenceAnnotationWSClient extends Jws2Client
                   MessageManager.getString("error.implementation_error"),
                   x);
         }
-        alignFrame.getViewport().getCalcManager().registerWorker(worker);
-        alignFrame.getViewport().getCalcManager().startWorker(worker);
-
+        alignFrame.getViewport().getCalcManager().registerWorker(worker); // also
+                                                                          // starts
+                                                                          // the
+                                                                          // worker
       }
       else
       {
@@ -139,7 +139,7 @@ public class SequenceAnnotationWSClient extends Jws2Client
         worker.updateParameters(this.preset, paramset);
       }
     }
-    if (sh.getAction().toLowerCase().contains("disorder"))
+    if (!sh.isInteractiveUpdate())
     {
       // build IUPred style client. take sequences, returns annotation per
       // sequence.
@@ -153,7 +153,7 @@ public class SequenceAnnotationWSClient extends Jws2Client
     }
   }
 
-  public SequenceAnnotationWSClient(AAConSettings fave,
+  public SequenceAnnotationWSClient(AutoCalcSetting fave,
           AlignFrame alignFrame, boolean b)
   {
     super(alignFrame, fave.getPreset(), fave.getArgumentSet());
@@ -172,16 +172,19 @@ public class SequenceAnnotationWSClient extends Jws2Client
           final ServiceWithParameters service,
           final AlignFrame alignFrame)
   {
-    if (Jws2ClientFactory.registerAAConWSInstance(wsmenu, service,
-            alignFrame))
+    if (Jws2ClientFactory.registerAAConWSInstance(wsmenu,
+            service, alignFrame))
     {
       // Alignment dependent analysis calculation WS gui
       return;
     }
     boolean hasparams = service.hasParameters();
-    // Assume name ends in WS
-    String calcName = service.getName().substring(0,
-            service.getName().length() - 2);
+    String calcName = service.getName();
+    if (calcName.endsWith("WS"))
+    {
+      // Remove "WS" suffix
+      calcName = calcName.substring(0, calcName.length() - 2);
+    }
 
     JMenuItem annotservice = new JMenuItem(MessageManager.formatMessage(
             "label.calcname_with_default_settings", new String[]
@@ -192,7 +195,7 @@ public class SequenceAnnotationWSClient extends Jws2Client
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        new SequenceAnnotationWSClient((Jws2Instance) service, alignFrame,
+        new SequenceAnnotationWSClient(service, alignFrame,
                 null, false);
       }
     });
@@ -211,7 +214,7 @@ public class SequenceAnnotationWSClient extends Jws2Client
         @Override
         public void actionPerformed(ActionEvent e)
         {
-          new SequenceAnnotationWSClient((Jws2Instance) service, alignFrame,
+          new SequenceAnnotationWSClient(service, alignFrame,
                   null, true);
         }
       });
@@ -237,7 +240,7 @@ public class SequenceAnnotationWSClient extends Jws2Client
             @Override
             public void actionPerformed(ActionEvent e)
             {
-              new SequenceAnnotationWSClient((Jws2Instance) service,
+              new SequenceAnnotationWSClient(service,
                       alignFrame, preset,
                       false);
             }