JAL-3807 JPred can now successfully submit and track the job.
[jalview.git] / src / jalview / ws / slivkaws / SlivkaJPredServiceInstance.java
1 package jalview.ws.slivkaws;
2
3 import java.io.IOError;
4 import java.io.IOException;
5 import java.util.List;
6
7 import jalview.datamodel.AlignmentI;
8 import jalview.datamodel.SequenceI;
9 import jalview.ws.api.JPredMutlipleAlignmentServiceI;
10 import jalview.ws.api.JobId;
11 import uk.ac.dundee.compbio.slivkaclient.RemoteFile;
12 import uk.ac.dundee.compbio.slivkaclient.SlivkaClient;
13 import uk.ac.dundee.compbio.slivkaclient.SlivkaService;
14
15 public class SlivkaJPredServiceInstance extends SlivkaWSInstance
16     implements JPredMutlipleAlignmentServiceI
17 {
18
19   public SlivkaJPredServiceInstance(SlivkaClient client,
20       SlivkaService service, String action)
21   {
22     super(client, service, action);
23     style = ServiceClient.JPREDWSCLIENT;
24   }
25
26   @Override
27   public JobId align(List<SequenceI> sequences) throws Throwable
28   {
29     return super.submit(sequences, null, null);
30   }
31
32   @Override
33   public AlignmentI getResult(JobId jobId) throws Exception
34   {
35     List<RemoteFile> files;
36     try {
37       files = client.getJobResults(jobId.getJobId());
38       for (RemoteFile f : files) {
39         return readAlignment(f);
40       }
41     }
42     catch (IOException e) {
43       throw new IOError(e);
44     }
45     return null;  
46   }
47 }