3fbd8b70efb5dba829d2c16261289a5fa1877787
[jalview.git] / src / jalview / ws2 / slivka / SlivkaWS.java
1 package jalview.ws2.slivka;
2
3 import java.io.IOException;
4 import java.util.Arrays;
5 import java.util.EnumMap;
6 import java.util.HashSet;
7 import java.util.List;
8 import java.util.Set;
9
10 import jalview.datamodel.SequenceI;
11 import jalview.ws.gui.WsJob;
12 import jalview.ws.params.ArgumentI;
13 import jalview.ws.params.ParamDatastoreI;
14 import jalview.ws.params.WsParamSetI;
15 import jalview.ws.slivkaws.SlivkaDatastore;
16 import jalview.ws2.JalviewWebServiceI;
17 import jalview.ws2.WSJobID;
18 import jalview.ws2.WSJobTrackerI;
19 import uk.ac.dundee.compbio.slivkaclient.JobState;
20 import uk.ac.dundee.compbio.slivkaclient.SlivkaClient;
21 import uk.ac.dundee.compbio.slivkaclient.SlivkaService;
22
23 public abstract class SlivkaWS<R> implements JalviewWebServiceI<R>
24 {
25   protected final SlivkaClient client;
26   protected final SlivkaService service;
27   protected SlivkaDatastore store = null;
28   protected final String name;  
29   protected final String description;
30   protected final String operation;
31   protected int type = 0;
32
33   protected static final EnumMap<JobState, WsJob.JobState> stateMap = new EnumMap<>(JobState.class);
34   {
35     stateMap.put(JobState.PENDING, WsJob.JobState.QUEUED);
36     stateMap.put(JobState.REJECTED, WsJob.JobState.INVALID);
37     stateMap.put(JobState.ACCEPTED, WsJob.JobState.QUEUED);
38     stateMap.put(JobState.QUEUED, WsJob.JobState.QUEUED);
39     stateMap.put(JobState.RUNNING, WsJob.JobState.RUNNING);
40     stateMap.put(JobState.COMPLETED, WsJob.JobState.FINISHED);
41     stateMap.put(JobState.INTERRUPTED, WsJob.JobState.CANCELLED);
42     stateMap.put(JobState.DELETED, WsJob.JobState.CANCELLED);
43     stateMap.put(JobState.FAILED, WsJob.JobState.FAILED);
44     stateMap.put(JobState.ERROR, WsJob.JobState.SERVERERROR);
45     stateMap.put(JobState.UNKNOWN, WsJob.JobState.UNKNOWN);
46   }
47   protected final Set<WsJob.JobState> failedStates = new HashSet<>(Arrays.asList(
48       WsJob.JobState.INVALID, WsJob.JobState.BROKEN, WsJob.JobState.FAILED,
49       WsJob.JobState.SERVERERROR, WsJob.JobState.CANCELLED
50   ));
51   
52   public SlivkaWS(SlivkaClient client, SlivkaService service, String operation) {
53     this.client = client;
54     this.service = service;
55     this.operation = operation;
56     this.name = service.getName();
57     this.description = "";
58   }
59   
60   @Override
61   public String getHostName()
62   {
63     return client.getUrl().toString();
64   }
65
66   @Override
67   public String getName()
68   {
69     // TODO Auto-generated method stub
70     return null;
71   }
72
73   @Override
74   public String getDescription()
75   {
76     // TODO Auto-generated method stub
77     return null;
78   }
79
80   @Override
81   public String getOperationType()
82   {
83     // TODO Auto-generated method stub
84     return null;
85   }
86
87   @Override
88   public int getTypeFlags()
89   {
90     // TODO Auto-generated method stub
91     return 0;
92   }
93
94   @Override
95   public boolean canSubmitGaps()
96   {
97     // TODO Auto-generated method stub
98     return false;
99   }
100
101   @Override
102   public int getMinSequences()
103   {
104     // TODO Auto-generated method stub
105     return 0;
106   }
107
108   @Override
109   public int getMaxSequences()
110   {
111     // TODO Auto-generated method stub
112     return 0;
113   }
114
115   @Override
116   public boolean hasParameters()
117   {
118     // TODO Auto-generated method stub
119     return false;
120   }
121
122   @Override
123   public ParamDatastoreI getParamStore()
124   {
125     // TODO Auto-generated method stub
126     return null;
127   }
128
129   @Override
130   public WSJobID submit(List<SequenceI> sequences, WsParamSetI preset,
131           List<ArgumentI> parameters) throws IOException
132   {
133     // TODO Auto-generated method stub
134     return null;
135   }
136
137   @Override
138   public void updateProgress(WSJobID id, WSJobTrackerI tracker)
139           throws IOException
140   {
141     // TODO Auto-generated method stub
142     
143   }
144
145   @Override
146   public R getResult(WSJobID id) throws IOException
147   {
148     // TODO Auto-generated method stub
149     return null;
150   }
151
152   @Override
153   public void cancel(WSJobID id) throws IOException
154   {
155     // TODO Auto-generated method stub
156     
157   }
158
159   @Override
160   public boolean handleSubmissionError(WSJobID id, Throwable th,
161           WSJobTrackerI tracker)
162   {
163     // TODO Auto-generated method stub
164     return false;
165   }
166
167   @Override
168   public boolean handleCollectionError(WSJobID id, Throwable th,
169           WSJobTrackerI tracker)
170   {
171     // TODO Auto-generated method stub
172     return false;
173   }
174   
175 }