X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2FWSClient.java;h=4ca0b76f77b8de32e03adae2788e1d9942ffa9c3;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=91fd4b0e704be0551ea36483e38f70b5cb91c6dc;hpb=08bde8d252a69d4d6a3b2497f759bd5d6f154a3f;p=jalview.git diff --git a/src/jalview/ws/WSClient.java b/src/jalview/ws/WSClient.java index 91fd4b0..4ca0b76 100755 --- a/src/jalview/ws/WSClient.java +++ b/src/jalview/ws/WSClient.java @@ -1,58 +1,65 @@ /* - * 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 + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) + * Copyright (C) 2015 The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview 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 3 * 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. - * + * + * Jalview 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 + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.ws; -import javax.swing.JMenu; +import jalview.gui.WebserviceInfo; -import ext.vamsas.*; -import jalview.gui.*; - -public abstract class WSClient +public abstract class WSClient // implements WSMenuEntryProviderI { /** - * WSClient holds the basic attributes that are displayed to the user - * for all jalview web service clients + * 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') + * 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 + * 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. + * 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 @@ -63,71 +70,8 @@ public abstract class WSClient 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 GUI for this client and job. - */ - protected WebserviceInfo setWebService(ServiceHandle sh) - { - return setWebService(sh, false); - } - /** - * original service handle that this client was derived from - */ - ServiceHandle serviceHandle=null; - /** - * initialise WSClient service information attributes from the service handle - * @param sh - * @param headless true implies no GUI objects will be created. - * @return the service instance information GUI for this client and job. - */ - protected WebserviceInfo setWebService(ServiceHandle sh, boolean headless) - { - 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 = null; - if (!headless) - { - wsInfo = new WebserviceInfo(WebServiceJobTitle, - WebServiceReference); - } - return wsInfo; - } - /** - * convenience method to pass the serviceHandle reference that instantiated this - * service on to the menu entry constructor - * @param wsmenu the menu to which any menu entries/sub menus are to be attached - * @param alignFrame the alignFrame instance that provides input data for the service - */ - public void attachWSMenuEntry(JMenu wsmenu, final AlignFrame alignFrame) + public WSClient() { - if (serviceHandle==null) - { - throw new Error("IMPLEMENTATION ERROR: cannot attach WS Menu Entry without service handle reference!"); - } - attachWSMenuEntry(wsmenu, serviceHandle, alignFrame); } - /** - * method implemented by each WSClient implementation that creates menu entries that enact their service - * using data from alignFrame. - * @param wsmenu where new menu entries (and submenus) are to be attached - * @param serviceHandle the serviceHandle document for the service that entries are created for - * @param alignFrame - */ - public abstract void attachWSMenuEntry(JMenu wsmenu, final ServiceHandle serviceHandle, final AlignFrame alignFrame); }