Jalview 2.6 source licence
[jalview.git] / src / jalview / ws / jws2 / JabaPreset.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
3  * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
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  */
18 package jalview.ws.jws2;
19
20 import jalview.ws.jws2.Jws2Discoverer.Jws2Instance;
21 import jalview.ws.params.ArgumentI;
22 import jalview.ws.params.WsParamSetI;
23
24 import java.util.List;
25
26 import compbio.metadata.Preset;
27
28 public class JabaPreset implements WsParamSetI {
29   Preset p=null;
30   Jws2Instance service;
31   public JabaPreset(Jws2Instance svc, Preset preset) {
32     service=svc;
33     p=preset;
34   }
35   @Override
36   public String getName()
37   {
38     return p.getName();
39   }
40   @Override
41   public String getDescription()
42   {
43     return p.getDescription();
44   }
45   @Override
46   public String[] getApplicableUrls()
47   {
48     return new String[] { service.getUri()};
49   }
50   @Override
51   public String getSourceFile()
52   {
53     return null;
54   }
55   @Override
56   public boolean isModifiable()
57   {
58     return false;
59   }
60   @Override
61   public void setSourceFile(String newfile)
62   {
63     throw new Error("Cannot set source file for "+getClass());
64   }
65   @Override
66   public List<ArgumentI> getArguments()
67   {
68     try {
69     return JabaParamStore.getJwsArgsfromJaba(p.getArguments(service.getRunnerConfig()));
70     }
71     catch (Exception e)
72     {
73       e.printStackTrace();
74       throw new Error("Probable mismatch between service instance and preset!");
75     }
76   }
77   @Override
78   public void setArguments(List<ArgumentI> args)
79   {
80     throw new Error("Cannot set Parameters for a Jaba Web service's preset");      
81   }
82 }