X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2FWSClient.java;h=cf871b83573a56f19f0b4c4897a8eb336f8a0ddf;hb=229f08966955df51cc6feac709b8b47474488bbd;hp=506bd9b51dad99f9167fb980049271e795eb9290;hpb=588042b69abf8e60bcc950b24c283933c7dd422f;p=jalview.git diff --git a/src/jalview/ws/WSClient.java b/src/jalview/ws/WSClient.java index 506bd9b..cf871b8 100755 --- a/src/jalview/ws/WSClient.java +++ b/src/jalview/ws/WSClient.java @@ -1,40 +1,92 @@ /* -* Jalview - A Sequence Alignment Editor and Viewer -* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version 2 -* of the License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA -*/ -package jalview.ws; - -import jalview.gui.WebserviceInfo; - - -public class WSClient { - /** + * Jalview - A Sequence Alignment Editor and Viewer + * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ +package jalview.ws; -* MsaWSClient -* -* @param msa SequenceI[] -*/ - protected String WebServiceName; - protected String WebServiceJobTitle; - protected String WebServiceReference; - protected String WsURL; - protected WebserviceInfo wsInfo; - int jobsRunning = 0; - - public WSClient() { - } -} +import ext.vamsas.*; +import jalview.gui.*; + +public class WSClient +{ + /** + * WSClient holds the basic attributes that are displayed to the user + * for all jalview web service clients + */ + /** + * displayed name for this web service + */ + protected String WebServiceName; + /** + * specific job title (e.g. 'ClustalW Alignment of Selection from Aligment from Cut and Paste input') + */ + protected String WebServiceJobTitle; + /** + * String giving additional information such as method citations for this service + */ + protected String WebServiceReference; + /** + * Service endpoint + */ + protected String WsURL; + /** + * Web service information used to initialise the WSClient attributes + */ + protected WebserviceInfo wsInfo; + /** + * total number of jobs managed by this web service client instance. + */ + int jobsRunning = 0; + /** + * TODO: this is really service metadata, and should be moved elsewhere. + * mappings between abstract interface names and menu entries + */ + protected java.util.Hashtable ServiceActions; + { + ServiceActions = new java.util.Hashtable(); + ServiceActions.put("MsaWS", "Multiple Sequence Alignment"); + ServiceActions.put("SecStrPred", "Secondary Structure Prediction"); + }; + public WSClient() + { + } + /** + * initialise WSClient service information attributes from the service handle + * @param sh + * @return the service instance information for this client and job. + */ + protected WebserviceInfo setWebService(ServiceHandle sh) + { + WebServiceName = sh.getName(); + if (ServiceActions.containsKey(sh.getAbstractName())) + { + WebServiceJobTitle = sh.getName(); // TODO: control sh.Name specification properly + // add this for short names. +(String) ServiceActions.get(sh.getAbstractName()); + } + else + { + WebServiceJobTitle = sh.getAbstractName() + " using " + sh.getName(); + + } + WebServiceReference = sh.getDescription(); + WsURL = sh.getEndpointURL(); + WebserviceInfo wsInfo = new WebserviceInfo(WebServiceJobTitle, + WebServiceReference); + + return wsInfo; + } +}