fd9bbb4f6ac077a57caf7805ef1b5f1e627f9cb2
[jalview.git] / src / jalview / ws / jws2 / JabaPreset.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
3  * Copyright (C) 2014 The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
10  *  
11  * Jalview is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty 
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14  * PURPOSE.  See the GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  * The Jalview Authors are detailed in the 'AUTHORS' file.
18  */
19 package jalview.ws.jws2;
20
21 import jalview.ws.jws2.jabaws2.Jws2Instance;
22 import jalview.ws.params.ArgumentI;
23 import jalview.ws.params.WsParamSetI;
24
25 import java.util.List;
26
27 import compbio.metadata.Preset;
28
29 public class JabaPreset implements WsParamSetI
30 {
31   Preset p = null;
32
33   Jws2Instance service;
34
35   public JabaPreset(Jws2Instance svc, Preset preset)
36   {
37     service = svc;
38     p = preset;
39   }
40
41   @Override
42   public String getName()
43   {
44     return p.getName();
45   }
46
47   @Override
48   public String getDescription()
49   {
50     return p.getDescription();
51   }
52
53   @Override
54   public String[] getApplicableUrls()
55   {
56     return new String[]
57     { service.getUri() };
58   }
59
60   @Override
61   public String getSourceFile()
62   {
63     return null;
64   }
65
66   @Override
67   public boolean isModifiable()
68   {
69     return false;
70   }
71
72   @Override
73   public void setSourceFile(String newfile)
74   {
75     throw new Error("Cannot set source file for " + getClass());
76   }
77
78   @Override
79   public List<ArgumentI> getArguments()
80   {
81     try
82     {
83       return JabaParamStore.getJwsArgsfromJaba(p.getArguments(service
84               .getRunnerConfig()));
85     } catch (Exception e)
86     {
87       e.printStackTrace();
88       throw new Error(
89               "Probable mismatch between service instance and preset!");
90     }
91   }
92
93   @Override
94   public void setArguments(List<ArgumentI> args)
95   {
96     throw new Error("Cannot set Parameters for a Jaba Web service's preset");
97   }
98 }