Set job title correctly and pass reason why
[jalview.git] / src / jalview / ws / rest / RestClient.java
index 37add58..606d927 100644 (file)
@@ -196,10 +196,14 @@ public class RestClient extends WSClient implements WSClientI,
    */
   jalview.io.packed.JalviewDataset jds;
 
+  /**
+   * informative name for results
+   */
+  public String viewTitle;
+
   protected void constructJob()
   {
     service.setInvolvesFlags();
-    
     // record all aspects of alignment view so we can merge back or recreate
     // later
     undoredo = av.getUndoRedoHash();
@@ -210,7 +214,7 @@ public class RestClient extends WSClient implements WSClientI,
      */
     boolean selExists = (av.getSelectionGroup() != null)
             && (av.getSelectionGroup().getSize() > 1);
-    // TODO: revise to full focus+context+dataset input data staging model
+    // TODO: JAL-715: refactor to alignViewport methods and revise to full focus+context+dataset input data staging model
     if (selExists)
     {
       if (service.partitiondata)
@@ -224,6 +228,7 @@ public class RestClient extends WSClient implements WSClientI,
                   av.hasHiddenColumns(), 
                   true, 
                   true);
+          viewTitle = "selected "+(av.hasHiddenColumns() ? "visible" : "") + " region of "+af.getTitle();
         }
         else
         {
@@ -235,7 +240,7 @@ public class RestClient extends WSClient implements WSClientI,
                   false, 
                   true);
         }
-        // TODO: verify that some kind of partition can be constructed from input
+        viewTitle = "select and unselected "+(av.hasHiddenColumns() ? "visible" : "") + " regions from "+af.getTitle();
       }
       else
       {
@@ -246,6 +251,7 @@ public class RestClient extends WSClient implements WSClientI,
                 av.hasHiddenColumns(), 
                 true, 
                 true);
+        viewTitle = "selected "+(av.hasHiddenColumns() ? "visible" : "") + " region of "+af.getTitle();
       }
     } else {
       // standard alignment view without selection present
@@ -255,6 +261,7 @@ public class RestClient extends WSClient implements WSClientI,
               av.hasHiddenColumns(), 
               false, 
               true);
+      viewTitle = ""+(av.hasHiddenColumns() ? "visible region of " : "") + af.getTitle();
     }
     
     RestJobThread jobsthread = new RestJobThread(this);
@@ -270,14 +277,14 @@ public class RestClient extends WSClient implements WSClientI,
     {
       // TODO: try to tell the user why the job couldn't be started.
       JOptionPane.showMessageDialog(Desktop.desktop,
-              "Unable to start web service analysis",
-              "Internal Jalview Error", JOptionPane.WARNING_MESSAGE);
+              (jobsthread.hasWarnings() ? jobsthread.getWarnings() : "The Job couldn't be started. Please check your input, and the Jalview console for any warning messages."),
+              "Unable to start web service analysis", JOptionPane.WARNING_MESSAGE);
     }
   }
 
   public static RestClient makeShmmrRestClient()
   {
-    String action = "Analyse", description = "Sequence Harmony and Multi-Relief (UNSTABLE!)", name = "Sequence Harmony";
+    String action = "Analysis", description = "Sequence Harmony and Multi-Relief (UNSTABLE!)", name = "Sequence Harmony";
     Hashtable<String, InputType> iparams = new Hashtable<String, InputType>();
     jalview.ws.rest.params.JobConstant toolp;
     //toolp = new jalview.ws.rest.JobConstant("tool","jalview");
@@ -298,7 +305,8 @@ public class RestClient extends WSClient implements WSClientI,
     //aliinput.writeAsFile=true;
     iparams.put(aliinput.token, aliinput);
     jalview.ws.rest.params.SeqGroupIndexVector sgroups = new jalview.ws.rest.params.SeqGroupIndexVector();
-    sgroups.minsize=2;
+    sgroups.setMinsize(2);
+    sgroups.min=2;// need at least two group defined to make a partition
     iparams.put("groups", sgroups);
     sgroups.token = "groups";
     sgroups.sep = " ";