2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
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
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
23 import jalview.gui.AlignFrame;
24 import jalview.gui.WebserviceInfo;
25 import jalview.ws.api.UIinfo;
27 public abstract class WSClient // implements WSMenuEntryProviderI
30 * WSClient holds the basic attributes that are displayed to the user for all
31 * jalview web service clients
34 * displayed name for this web service
36 protected String WebServiceName;
39 * specific job title (e.g. 'ClustalW Alignment of Selection from Aligment
40 * from Cut and Paste input')
42 protected String WebServiceJobTitle;
45 * String giving additional information such as method citations for this
48 protected String WebServiceReference;
53 protected String WsURL;
56 * Web service information used to initialise the WSClient attributes
58 protected WebserviceInfo wsInfo;
61 * total number of jobs managed by this web service client instance.
66 * TODO: this is really service metadata, and should be moved elsewhere.
67 * mappings between abstract interface names and menu entries
69 protected java.util.Hashtable ServiceActions;
72 * alignFrame associated with this client
74 protected AlignFrame alignFrame;
76 ServiceActions = new java.util.Hashtable();
77 ServiceActions.put("MsaWS", "Multiple Sequence Alignment");
78 ServiceActions.put("SecStrPred", "Secondary Structure Prediction");
85 protected WebserviceInfo setWebService(UIinfo serv, boolean b)
87 WebServiceName = serv.getName();
88 WebServiceJobTitle = serv.getActionText();
89 WsURL = serv.getHostURL();
92 return new WebserviceInfo(WebServiceJobTitle,
93 WebServiceJobTitle + " using service hosted at "
95 + (serv.getDescription() != null
96 ? serv.getDescription()