c8177baa7daa04d91c6382f57023e92997be2b5f
[jalview.git] / src / jalview / ws / jws2 / JabaPreset.java
1 package jalview.ws.jws2;
2
3 import jalview.ws.jws2.Jws2Discoverer.Jws2Instance;
4 import jalview.ws.params.ArgumentI;
5 import jalview.ws.params.WsParamSetI;
6
7 import java.util.List;
8
9 import compbio.metadata.Preset;
10
11 public class JabaPreset implements WsParamSetI {
12   Preset p=null;
13   Jws2Instance service;
14   public JabaPreset(Jws2Instance svc, Preset preset) {
15     service=svc;
16     p=preset;
17   }
18   @Override
19   public String getName()
20   {
21     return p.getName();
22   }
23   @Override
24   public String getDescription()
25   {
26     return p.getDescription();
27   }
28   @Override
29   public String[] getApplicableUrls()
30   {
31     return new String[] { service.getUri()};
32   }
33   @Override
34   public String getSourceFile()
35   {
36     return null;
37   }
38   @Override
39   public boolean isModifiable()
40   {
41     return false;
42   }
43   @Override
44   public void setSourceFile(String newfile)
45   {
46     throw new Error("Cannot set source file for "+getClass());
47   }
48   @Override
49   public List<ArgumentI> getArguments()
50   {
51     try {
52     return JabaParamStore.getJwsArgsfromJaba(p.getArguments(service.getRunnerConfig()));
53     }
54     catch (Exception e)
55     {
56       e.printStackTrace();
57       throw new Error("Probable mismatch between service instance and preset!");
58     }
59   }
60   @Override
61   public void setArguments(List<ArgumentI> args)
62   {
63     throw new Error("Cannot set Parameters for a Jaba Web service's preset");      
64   }
65 }