X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Frest%2FRestClient.java;h=b04030d466e3b607fbe66ffa97b2a759deb22e55;hb=f3133c4f086cbdf59a7ce7fe465d2a5fa4a0fd60;hp=1fb9259a0ffc908389472376815832aa3c96af24;hpb=37de9310bec3501cbc6381e0c3dcb282fcaad812;p=jalview.git diff --git a/src/jalview/ws/rest/RestClient.java b/src/jalview/ws/rest/RestClient.java index 1fb9259..b04030d 100644 --- a/src/jalview/ws/rest/RestClient.java +++ b/src/jalview/ws/rest/RestClient.java @@ -26,21 +26,20 @@ import jalview.gui.AlignFrame; import jalview.gui.AlignViewport; import jalview.gui.AlignmentPanel; import jalview.gui.Desktop; +import jalview.gui.JvOptionPane; import jalview.gui.WebserviceInfo; -import jalview.io.packed.DataProvider.JvDataType; import jalview.util.MessageManager; import jalview.ws.WSClient; import jalview.ws.WSClientI; import jalview.ws.WSMenuEntryProviderI; +import jalview.ws.rest.clientdefs.ShmrRestClient; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.util.Hashtable; import java.util.Vector; import javax.swing.JMenu; import javax.swing.JMenuItem; -import javax.swing.JOptionPane; import javax.swing.event.MenuEvent; import javax.swing.event.MenuListener; @@ -48,8 +47,8 @@ import javax.swing.event.MenuListener; * @author JimP * */ -public class RestClient extends WSClient implements WSClientI, - WSMenuEntryProviderI +public class RestClient extends WSClient + implements WSClientI, WSMenuEntryProviderI { RestServiceDescription service; @@ -97,9 +96,9 @@ public class RestClient extends WSClient implements WSClientI, public void setWebserviceInfo(boolean headless) { - WebServiceJobTitle = MessageManager.formatMessage( - "label.webservice_job_title", new String[] { - service.details.Action, service.details.Name }); + WebServiceJobTitle = MessageManager + .formatMessage("label.webservice_job_title", new String[] + { service.details.Action, service.details.Name }); WebServiceName = service.details.Name; WebServiceReference = "No reference - go to url for more info"; if (service.details.description != null) @@ -108,8 +107,8 @@ public class RestClient extends WSClient implements WSClientI, } if (!headless) { - wsInfo = new WebserviceInfo(WebServiceJobTitle, WebServiceName + "\n" - + WebServiceReference, true); + wsInfo = new WebserviceInfo(WebServiceJobTitle, + WebServiceName + "\n" + WebServiceReference, true); wsInfo.setRenderAsHtml(true); } @@ -142,9 +141,9 @@ public class RestClient extends WSClient implements WSClientI, final AlignFrame alignFrame) { JMenuItem submit = new JMenuItem(service.details.Name); - submit.setToolTipText(MessageManager.formatMessage( - "label.rest_client_submit", new String[] { - service.details.Action, service.details.Name })); + submit.setToolTipText(MessageManager + .formatMessage("label.rest_client_submit", new String[] + { service.details.Action, service.details.Name })); submit.addActionListener(new ActionListener() { @@ -259,40 +258,42 @@ public class RestClient extends WSClient implements WSClientI, { // intersect groups with selected region _input = new AlignmentView(av.getAlignment(), - av.getColumnSelection(), av.getSelectionGroup(), - av.hasHiddenColumns(), true, true); + av.getAlignment().getHiddenColumns(), + av.getSelectionGroup(), av.hasHiddenColumns(), true, + true); viewTitle = MessageManager.formatMessage( - "label.select_visible_region_of", - new String[] { - (av.hasHiddenColumns() ? MessageManager - .getString("label.visible") : ""), + "label.select_visible_region_of", new String[] + { (av.hasHiddenColumns() + ? MessageManager.getString("label.visible") + : ""), af.getTitle() }); } else { // use selected region to partition alignment _input = new AlignmentView(av.getAlignment(), - av.getColumnSelection(), av.getSelectionGroup(), - av.hasHiddenColumns(), false, true); + av.getAlignment().getHiddenColumns(), + av.getSelectionGroup(), av.hasHiddenColumns(), false, + true); } viewTitle = MessageManager.formatMessage( - "label.select_unselect_visible_regions_from", - new String[] { - (av.hasHiddenColumns() ? MessageManager - .getString("label.visible") : ""), + "label.select_unselect_visible_regions_from", new String[] + { (av.hasHiddenColumns() + ? MessageManager.getString("label.visible") + : ""), af.getTitle() }); } else { // just take selected region intersection _input = new AlignmentView(av.getAlignment(), - av.getColumnSelection(), av.getSelectionGroup(), - av.hasHiddenColumns(), true, true); + av.getAlignment().getHiddenColumns(), + av.getSelectionGroup(), av.hasHiddenColumns(), true, true); viewTitle = MessageManager.formatMessage( - "label.select_visible_region_of", - new String[] { - (av.hasHiddenColumns() ? MessageManager - .getString("label.visible") : ""), + "label.select_visible_region_of", new String[] + { (av.hasHiddenColumns() + ? MessageManager.getString("label.visible") + : ""), af.getTitle() }); } } @@ -300,13 +301,16 @@ public class RestClient extends WSClient implements WSClientI, { // standard alignment view without selection present _input = new AlignmentView(av.getAlignment(), - av.getColumnSelection(), null, av.hasHiddenColumns(), false, - true); + av.getAlignment().getHiddenColumns(), null, + av.hasHiddenColumns(), false, true); viewTitle = "" - + (av.hasHiddenColumns() ? (new StringBuffer(" ") - .append(MessageManager - .getString("label.visible_region_of")) - .toString()) : "") + af.getTitle(); + + (av.hasHiddenColumns() + ? (new StringBuffer(" ") + .append(MessageManager + .getString("label.visible_region_of")) + .toString()) + : "") + + af.getTitle(); } RestJobThread jobsthread = new RestJobThread(this); @@ -324,59 +328,16 @@ public class RestClient extends WSClient implements WSClientI, else { // TODO: try to tell the user why the job couldn't be started. - JOptionPane - .showMessageDialog( - Desktop.desktop, - (jobsthread.hasWarnings() ? jobsthread.getWarnings() - : MessageManager - .getString("label.job_couldnt_be_started_check_input")), - MessageManager - .getString("label.unable_start_web_service_analysis"), - JOptionPane.WARNING_MESSAGE); + JvOptionPane.showMessageDialog(Desktop.desktop, + (jobsthread.hasWarnings() ? jobsthread.getWarnings() + : MessageManager.getString( + "label.job_couldnt_be_started_check_input")), + MessageManager + .getString("label.unable_start_web_service_analysis"), + JvOptionPane.WARNING_MESSAGE); } } - public static RestClient makeShmmrRestClient() - { - String action = "Analysis", description = "Sequence Harmony and Multi-Relief (Brandt et al. 2010)", name = MessageManager - .getString("label.multiharmony"); - Hashtable iparams = new Hashtable(); - jalview.ws.rest.params.JobConstant toolp; - // toolp = new jalview.ws.rest.JobConstant("tool","jalview"); - // iparams.put(toolp.token, toolp); - // toolp = new jalview.ws.rest.params.JobConstant("mbjob[method]","shmr"); - // iparams.put(toolp.token, toolp); - // toolp = new - // jalview.ws.rest.params.JobConstant("mbjob[description]","step 1"); - // iparams.put(toolp.token, toolp); - // toolp = new jalview.ws.rest.params.JobConstant("start_search","1"); - // iparams.put(toolp.token, toolp); - // toolp = new jalview.ws.rest.params.JobConstant("blast","0"); - // iparams.put(toolp.token, toolp); - - jalview.ws.rest.params.Alignment aliinput = new jalview.ws.rest.params.Alignment(); - // SHMR server has a 65K limit for content pasted into the 'ali' parameter, - // so we always upload our files. - aliinput.token = "ali_file"; - aliinput.writeAsFile = true; - iparams.put(aliinput.token, aliinput); - jalview.ws.rest.params.SeqGroupIndexVector sgroups = new jalview.ws.rest.params.SeqGroupIndexVector(); - sgroups.setMinsize(2); - sgroups.min = 2;// need at least two group defined to make a partition - iparams.put("groups", sgroups); - sgroups.token = "groups"; - sgroups.sep = " "; - RestServiceDescription shmrService = new RestServiceDescription( - action, - description, - name, - "http://zeus.few.vu.nl/programs/shmrwww/index.php?tool=jalview",// ?tool=jalview&mbjob[method]=shmr&mbjob[description]=step1", - "?tool=jalview", iparams, true, false, '-'); - // a priori knowledge of the data returned from the service - shmrService.addResultDatatype(JvDataType.ANNOTATION); - return new RestClient(shmrService); - } - public AlignmentPanel recoverAlignPanelForView() { AlignmentPanel[] aps = Desktop @@ -411,14 +372,14 @@ public class RestClient extends WSClient implements WSClientI, for (RestServiceDescription descr : RestServiceDescription .parseDescriptions(jalview.bin.Cache.getDefault( RSBS_SERVICES, - makeShmmrRestClient().service.toString()))) + ShmrRestClient.makeShmmrRestClient().service.toString()))) { services.add(descr.toString()); } } catch (Exception ex) { - System.err - .println("Serious - RSBS descriptions in user preferences are corrupt!"); + System.err.println( + "Serious - RSBS descriptions in user preferences are corrupt!"); ex.printStackTrace(); }