JAL-3807 - Re-implement results processing.
[jalview.git] / src / jalview / ws / slivkaws / SlivkaJPredServiceInstance.java
index a614f02..b8e4d2f 100644 (file)
@@ -6,6 +6,8 @@ import java.util.List;
 
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.SequenceI;
+import jalview.io.DataSourceType;
+import jalview.io.JPredFile;
 import jalview.ws.api.JPredMutlipleAlignmentServiceI;
 import jalview.ws.api.JobId;
 import uk.ac.dundee.compbio.slivkaclient.RemoteFile;
@@ -30,18 +32,36 @@ public class SlivkaJPredServiceInstance extends SlivkaWSInstance
   }
 
   @Override
-  public AlignmentI getResult(JobId jobId) throws Exception
+  public AlignmentI getAlignment(JobId jobId) throws Exception
   {
     List<RemoteFile> files;
     try {
       files = client.getJobResults(jobId.getJobId());
       for (RemoteFile f : files) {
-        return readAlignment(f);
+        var alignment = readAlignment(f);
+        if (alignment != null)
+        {
+          return alignment;
+        }
       }
     }
     catch (IOException e) {
       throw new IOError(e);
     }
-    return null;  
+    return null;
+  }
+
+  @Override
+  public JPredFile getPrediction(JobId jobId) throws Exception
+  {
+    List<RemoteFile> files = client.getJobResults(jobId.getJobId());
+    for (RemoteFile f : files)
+    {
+      if (f.getLabel().equals("concise"))
+      {
+        return new JPredFile(f.getURL(), DataSourceType.URL);
+      }
+    }
+    return null;
   }
 }