X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Frest%2FRestClient.java;h=2d39db587127a40e2b04bc1d7c938d1573be9b4f;hb=7b9f93ca2c7f5e5d9347f00be309522f76e3e778;hp=1abe36e2b949da5ec6cdec54f14c0269c7138e24;hpb=e3e5f3e40517d53343859e4878c3032ae892d619;p=jalview.git diff --git a/src/jalview/ws/rest/RestClient.java b/src/jalview/ws/rest/RestClient.java index 1abe36e..2d39db5 100644 --- a/src/jalview/ws/rest/RestClient.java +++ b/src/jalview/ws/rest/RestClient.java @@ -20,12 +20,15 @@ */ package jalview.ws.rest; +import jalview.bin.ApplicationSingletonProvider; +import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI; import jalview.bin.Cache; import jalview.datamodel.AlignmentView; 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.util.MessageManager; import jalview.ws.WSClient; @@ -39,7 +42,6 @@ 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; @@ -47,9 +49,28 @@ import javax.swing.event.MenuListener; * @author JimP * */ -public class RestClient extends WSClient implements WSClientI, - WSMenuEntryProviderI +public class RestClient extends WSClient +implements WSClientI, WSMenuEntryProviderI, ApplicationSingletonI { + + @SuppressWarnings("unused") + private RestClient() + { + // accessed by ApplicationSingletonProvider + } + + +private static RestClient getInstance() +{ +return (RestClient) ApplicationSingletonProvider.getInstance(RestClient.class); +} + +public static final String RSBS_SERVICES = "RSBS_SERVICES"; + + + protected Vector services = null; + + RestServiceDescription service; public RestClient(RestServiceDescription rsd) @@ -96,19 +117,19 @@ 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 }); - WebServiceName = service.details.Name; + WebServiceJobTitle = MessageManager + .formatMessage("label.webservice_job_title", new String[] + { service.details.getAction(), service.details.getName() }); + WebServiceName = service.details.getName(); WebServiceReference = "No reference - go to url for more info"; - if (service.details.description != null) + if (service.details.getDescription() != null) { - WebServiceReference = service.details.description; + WebServiceReference = service.details.getDescription(); } if (!headless) { - wsInfo = new WebserviceInfo(WebServiceJobTitle, WebServiceName + "\n" - + WebServiceReference, true); + wsInfo = new WebserviceInfo(WebServiceJobTitle, + WebServiceName + "\n" + WebServiceReference, Desktop.FRAME_MAKE_VISIBLE); wsInfo.setRenderAsHtml(true); } @@ -140,10 +161,10 @@ public class RestClient extends WSClient implements WSClientI, public void attachWSMenuEntry(final JMenu wsmenu, 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 })); + JMenuItem submit = new JMenuItem(service.details.getName()); + submit.setToolTipText(MessageManager + .formatMessage("label.rest_client_submit", new String[] + { service.details.getAction(), service.details.getName() })); submit.addActionListener(new ActionListener() { @@ -258,40 +279,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() }); } } @@ -299,13 +322,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); @@ -323,15 +349,13 @@ 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.getDesktopPane(), + (jobsthread.hasWarnings() ? jobsthread.getWarnings() + : MessageManager.getString( + "label.job_couldnt_be_started_check_input")), + MessageManager + .getString("label.unable_start_web_service_analysis"), + JvOptionPane.WARNING_MESSAGE); } } @@ -355,15 +379,16 @@ public class RestClient extends WSClient implements WSClientI, return true; } - protected static Vector services = null; - - public static final String RSBS_SERVICES = "RSBS_SERVICES"; - public static RestClient[] getRestClients() { + return getInstance().getClients(); + } + + private RestClient[] getClients() + { if (services == null) { - services = new Vector(); + services = new Vector<>(); try { for (RestServiceDescription descr : RestServiceDescription @@ -375,8 +400,8 @@ public class RestClient extends WSClient implements WSClientI, } } 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(); } @@ -392,7 +417,7 @@ public class RestClient extends WSClient implements WSClientI, public String getAction() { - return service.details.Action; + return service.details.getAction(); } public RestServiceDescription getRestDescription() @@ -402,7 +427,7 @@ public class RestClient extends WSClient implements WSClientI, public static Vector getRsbsDescriptions() { - Vector rsbsDescrs = new Vector(); + Vector rsbsDescrs = new Vector<>(); for (RestClient rsbs : getRestClients()) { rsbsDescrs.add(rsbs.getRestDescription().toString()); @@ -414,10 +439,11 @@ public class RestClient extends WSClient implements WSClientI, { if (rsbsUrls != null) { + // TODO: consider validating services ? - services = new Vector(rsbsUrls); + getInstance().services = new Vector(rsbsUrls); StringBuffer sprop = new StringBuffer(); - for (String s : services) + for (String s : getInstance().services) { sprop.append(s); }