JAL-3954 create primitive gui handler for search service
[jalview.git] / src / jalview / ws2 / client / ebi / PhmmerWSClient.java
index b796618..9c79644 100644 (file)
@@ -2,10 +2,14 @@ package jalview.ws2.client.ebi;
 
 import java.io.IOException;
 import java.io.StringReader;
+import java.net.URI;
 import java.util.List;
 
+import jalview.datamodel.AlignmentI;
 import jalview.datamodel.SequenceI;
+import jalview.io.DataSourceType;
 import jalview.io.FileFormat;
+import jalview.io.FormatAdapter;
 import jalview.ws.params.ArgumentI;
 import jalview.ws.params.simple.BooleanOption;
 import jalview.ws.params.simple.DoubleParameter;
@@ -13,13 +17,14 @@ import jalview.ws.params.simple.IntegerParameter;
 import jalview.ws2.api.Credentials;
 import jalview.ws2.api.JobStatus;
 import jalview.ws2.api.WebServiceJobHandle;
+import jalview.ws2.client.api.AlignmentWebServiceClientI;
 import jalview.ws2.client.api.WebServiceClientI;
 import uk.ac.dundee.compbio.hmmerclient.PhmmerClient;
 import uk.ac.dundee.compbio.hmmerclient.PhmmerRequest;
 import uk.ac.dundee.compbio.hmmerclient.PhmmerRequest.SequenceDatabase;
 import uk.ac.dundee.compbio.hmmerclient.PhmmerRequest.SubstitutionMatrix;
 
-public class PhmmerWSClient implements WebServiceClientI
+public class PhmmerWSClient implements AlignmentWebServiceClientI
 {
 
   final PhmmerClient client;
@@ -226,7 +231,16 @@ public class PhmmerWSClient implements WebServiceClientI
           throws IOException, UnsupportedOperationException
   {
     throw new UnsupportedOperationException(
-            "ebi job dispather does not support job cancellation");
+            "ebi job dispatcher does not support job cancellation");
   }
 
+  /**
+   * FIXME: Temporary hack
+   */
+  @Override
+  public AlignmentI getAlignment(WebServiceJobHandle job) throws IOException
+  {
+    URI url = client.getResultURL(job.getJobId(), "sto");
+    return new FormatAdapter().readFile(url.toString(), DataSourceType.URL, FileFormat.Stockholm);
+  }
 }