Merge branch 'features/mchmmer' into merge/wsinterfaces_mchmmer_JAL-3070_JAL-1950
[jalview.git] / src / jalview / ws / jws2 / Jws2Client.java
index 751d330..3e4cc97 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -28,9 +28,11 @@ import jalview.gui.JvSwingUtils;
 import jalview.gui.WebserviceInfo;
 import jalview.gui.WsJobParameters;
 import jalview.util.MessageManager;
+import jalview.ws.api.UIinfo;
 import jalview.ws.jws2.dm.AAConSettings;
 import jalview.ws.jws2.dm.JabaWsParamSet;
 import jalview.ws.jws2.jabaws2.Jws2Instance;
+import jalview.ws.params.ParamDatastoreI;
 import jalview.ws.params.WsParamSetI;
 import jalview.ws.uimodel.AlignAnalysisUIText;
 
@@ -67,7 +69,8 @@ public abstract class Jws2Client extends jalview.ws.WSClient
     this.preset = preset;
     if (preset != null)
     {
-      if (!((preset instanceof JabaPreset) || preset instanceof JabaWsParamSet))
+      if (!((preset instanceof JabaPreset)
+              || preset instanceof JabaWsParamSet))
       {
         /*
          * { this.preset = ((JabaPreset) preset).p; } else if (preset instanceof
@@ -78,7 +81,8 @@ public abstract class Jws2Client extends jalview.ws.WSClient
          * arguments. for (Argument opt : arguments) { newargs.add(opt); } }
          * paramset = newargs; } else {
          */
-        throw new Error(MessageManager.getString("error.implementation_error_can_only_instantiate_jaba_param_sets"));
+        throw new Error(MessageManager.getString(
+                "error.implementation_error_can_only_instantiate_jaba_param_sets"));
       }
     }
     else
@@ -104,9 +108,14 @@ public abstract class Jws2Client extends jalview.ws.WSClient
         sh.paramStore = new JabaParamStore(sh,
                 Desktop.getUserParameterStore());
       }
-      WsJobParameters jobParams = (preset == null && paramset != null && paramset
-              .size() > 0) ? new WsJobParameters(null, sh, null, paramset)
-              : new WsJobParameters(sh, preset);
+      WsJobParameters jobParams = (preset == null && paramset != null
+              && paramset.size() > 0)
+                      ? new WsJobParameters((ParamDatastoreI) null, sh,
+                              (WsParamSetI) null,
+                              paramset)
+                      : new WsJobParameters((ParamDatastoreI) null, sh,
+                              preset,
+                              (List<Argument>) null);
       if (adjustingExisting)
       {
         jobParams.setName(MessageManager
@@ -114,13 +123,15 @@ public abstract class Jws2Client extends jalview.ws.WSClient
       }
       if (!jobParams.showRunDialog())
       {
-        return false;
+        return false; // dialog cancelled
       }
+
       WsParamSetI prset = jobParams.getPreset();
       if (prset == null)
       {
-        paramset = jobParams.isServiceDefaults() ? null : JabaParamStore
-                .getJabafromJwsArgs(jobParams.getJobParams());
+        paramset = jobParams.isServiceDefaults() ? null
+                : JabaParamStore
+                        .getJabafromJwsArgs(jobParams.getJobParams());
         this.preset = null;
       }
       else
@@ -138,18 +149,21 @@ public abstract class Jws2Client extends jalview.ws.WSClient
     // anonymous constructor - used for headless method calls only
   }
 
-  protected WebserviceInfo setWebService(Jws2Instance serv, boolean b)
+  protected WebserviceInfo setWebService(UIinfo serv, boolean b)
   {
-    // serviceHandle = serv;
-    String serviceInstance = serv.action; // serv.service.getClass().getName();
-    WebServiceName = serv.serviceType;
+    // TODO pullup
+    WebServiceName = serv.getName();
     WebServiceJobTitle = serv.getActionText();
-    WsURL = serv.hosturl;
+    WsURL = serv.getHostURL();
     if (!b)
     {
-      return new WebserviceInfo(WebServiceJobTitle, WebServiceJobTitle
-              + " using service hosted at " + serv.hosturl + "\n"
-              + (serv.description != null ? serv.description : ""), false);
+      return new WebserviceInfo(WebServiceJobTitle,
+              WebServiceJobTitle + " using service hosted at "
+                      + WsURL + "\n"
+                      + (serv.getDescription() != null
+                              ? serv.getDescription()
+                              : ""),
+              false);
     }
     return null;
   }
@@ -174,9 +188,8 @@ public abstract class Jws2Client extends jalview.ws.WSClient
    */
   abstract void attachWSMenuEntry(JMenu wsmenu, final Jws2Instance service,
           final AlignFrame alignFrame);
-  
 
-  protected boolean registerAAConWSInstance(final JMenu wsmenu,
+  static boolean registerAAConWSInstance(final JMenu wsmenu,
           final Jws2Instance service, final AlignFrame alignFrame)
   {
     final AlignAnalysisUIText aaui = service.getAlignAnalysisUI(); // null ; //
@@ -209,7 +222,7 @@ public abstract class Jws2Client extends jalview.ws.WSClient
       {
         AbstractJabaCalcWorker worker = (AbstractJabaCalcWorker) aaconClient
                 .get(0);
-        if (!worker.service.hosturl.equals(service.hosturl))
+        if (!worker.service.getHostURL().equals(service.getHostURL()))
         {
           // javax.swing.SwingUtilities.invokeLater(new Runnable()
           {
@@ -219,7 +232,7 @@ public abstract class Jws2Client extends jalview.ws.WSClient
               removeCurrentAAConWorkerFor(aaui, alignFrame);
               buildCurrentAAConWorkerFor(aaui, alignFrame, service);
             }
-          }// );
+          } // );
         }
       }
     }
@@ -231,7 +244,8 @@ public abstract class Jws2Client extends jalview.ws.WSClient
       final JCheckBoxMenuItem aaConEnabled = new JCheckBoxMenuItem(
               aaui.getAAconToggle());
 
-      aaConEnabled.setToolTipText(JvSwingUtils.wrapTooltip(true, aaui.getAAconToggleTooltip()));
+      aaConEnabled.setToolTipText(
+              JvSwingUtils.wrapTooltip(true, aaui.getAAconToggleTooltip()));
       aaConEnabled.addActionListener(new ActionListener()
       {
         @Override
@@ -253,10 +267,10 @@ public abstract class Jws2Client extends jalview.ws.WSClient
 
       });
       wsmenu.add(aaConEnabled);
-      final JMenuItem modifyParams = new JMenuItem(aaui.getAAeditSettings());
-      modifyParams.setToolTipText("<html><p>"
-              + JvSwingUtils.wrapTooltip(false, aaui.getAAeditSettingsTooltip()
-                      + "</p>") + "</html>");
+      final JMenuItem modifyParams = new JMenuItem(
+              aaui.getAAeditSettings());
+      modifyParams.setToolTipText(JvSwingUtils.wrapTooltip(true,
+              aaui.getAAeditSettingsTooltip()));
       modifyParams.addActionListener(new ActionListener()
       {
 
@@ -274,8 +288,9 @@ public abstract class Jws2Client extends jalview.ws.WSClient
         public void menuSelected(MenuEvent arg0)
         {
           // TODO: refactor to the implementing class.
-          if (alignFrame.getViewport().getAlignment().isNucleotide() ? aaui
-                  .isNa() : aaui.isPr())
+          if (alignFrame.getViewport().getAlignment().isNucleotide()
+                  ? aaui.isNa()
+                  : aaui.isPr())
           {
             aaConEnabled.setEnabled(true);
             modifyParams.setEnabled(true);
@@ -358,10 +373,11 @@ public abstract class Jws2Client extends jalview.ws.WSClient
     else
     {
       if (service != null
-              && !fave.getService().hosturl.equals(service.hosturl))
+              && !fave.getService().getHostURL()
+                      .equals(service.getHostURL()))
       {
-        Cache.log.debug("Changing AACon service to " + service.hosturl
-                + " from " + fave.getService().hosturl);
+        Cache.log.debug("Changing AACon service to " + service.getHostURL()
+                + " from " + fave.getService().getHostURL());
         fave.setService(service);
       }
     }
@@ -379,12 +395,12 @@ public abstract class Jws2Client extends jalview.ws.WSClient
   {
     if (service != null)
     {
-      if (!service.serviceType.toString().equals(
-              compbio.ws.client.Services.AAConWS.toString()))
+      if (!service.getServiceType()
+              .equals(compbio.ws.client.Services.AAConWS.toString()))
       {
-        Cache.log
-                .warn("Ignoring invalid preferred service for AACon calculations (service type was "
-                        + service.serviceType + ")");
+        Cache.log.warn(
+                "Ignoring invalid preferred service for AACon calculations (service type was "
+                        + service.getServiceType() + ")");
         service = null;
       }
       else
@@ -408,7 +424,8 @@ public abstract class Jws2Client extends jalview.ws.WSClient
     {
       // TODO raise dialog box explaining error, and/or open the JABA
       // preferences menu.
-      throw new Error(MessageManager.getString("error.no_aacon_service_found"));
+      throw new Error(
+              MessageManager.getString("error.no_aacon_service_found"));
     }
     return new AAConSettings(true, service, null, null);
   }