more fixes and extension to allow return data types to be specified JAL-715
[jalview.git] / src / jalview / ws / rest / RestClient.java
index 5a4cf61..04c9561 100644 (file)
@@ -20,8 +20,10 @@ import jalview.datamodel.AlignmentView;
 import jalview.datamodel.SequenceGroup;
 import jalview.gui.AlignFrame;
 import jalview.gui.AlignViewport;
+import jalview.gui.AlignmentPanel;
 import jalview.gui.Desktop;
 import jalview.gui.WebserviceInfo;
+import jalview.io.packed.DataProvider.JvDataType;
 import jalview.ws.WSClient;
 import jalview.ws.WSClientI;
 import jalview.ws.WSMenuEntryProviderI;
@@ -82,6 +84,7 @@ public class RestClient extends WSClient implements WSClientI,
     {
       wsInfo = new WebserviceInfo(WebServiceJobTitle, WebServiceName + "\n"
               + WebServiceReference);
+      wsInfo.setRenderAsHtml(true);
     }
 
   }
@@ -266,6 +269,7 @@ public class RestClient extends WSClient implements WSClientI,
     }
     else
     {
+      // 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);
@@ -302,7 +306,28 @@ public class RestClient extends WSClient implements WSClientI,
             name,
             "http://www.ibi.vu.nl/programs/shmrwww/index.php?tool=jalview",// ?tool=jalview&mbjob[method]=shmr&mbjob[description]=step1",
             "?tool=jalview", iparams, true, false, '-');
+    // a priori knowledge of the data returned from the service
+    shmrService.addResultDatatype(JvDataType.ANNOTATION);
     return new RestClient(shmrService);
   }
 
+  public AlignmentPanel recoverAlignPanelForView()
+  {
+    AlignmentPanel[] aps = Desktop.getAlignmentPanels(av.getSequenceSetId());
+    for (AlignmentPanel alp:aps)
+    {
+      if (alp.av == av)
+      {
+        return alp;
+      }
+    }
+    return null;
+  }
+
+  public boolean isShowResultsInNewView()
+  {
+    // TODO make this a property of the service
+    return true;
+  }
+
 }