X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FWsPreferences.java;h=fa290785b598965a937b5a3a41fe41e9710514a9;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=7104fa9a9bf485d248eca4eb6c6661a3df82b8d2;hpb=20c48abe18f05c2802d7e59e1efb227547a4165d;p=jalview.git diff --git a/src/jalview/gui/WsPreferences.java b/src/jalview/gui/WsPreferences.java index 7104fa9..fa29078 100644 --- a/src/jalview/gui/WsPreferences.java +++ b/src/jalview/gui/WsPreferences.java @@ -1,24 +1,28 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle + * 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. - * + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * * 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 Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; import jalview.bin.Cache; import jalview.jbgui.GWsPreferences; +import jalview.util.MessageManager; import jalview.ws.jws2.Jws2Discoverer; import jalview.ws.rest.RestServiceDescription; @@ -29,6 +33,7 @@ import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.URL; +import java.util.List; import java.util.Vector; import javax.swing.JLabel; @@ -42,14 +47,15 @@ import javax.swing.table.TableCellRenderer; public class WsPreferences extends GWsPreferences { - public WsPreferences() { super(); initFromPreferences(); } - Vector wsUrls, oldUrls, rsbsUrls, oldRsbsUrls; + List wsUrls; + + Vector oldUrls, rsbsUrls, oldRsbsUrls; private boolean needWsMenuUpdate; @@ -59,8 +65,8 @@ public class WsPreferences extends GWsPreferences private void initFromPreferences() { - wsUrls = jalview.ws.jws2.Jws2Discoverer.getServiceUrls(); - if (wsUrls != null) + wsUrls = Jws2Discoverer.getDiscoverer().getServiceUrls(); + if (!wsUrls.isEmpty()) { oldUrls = new Vector(wsUrls); } @@ -110,73 +116,86 @@ public class WsPreferences extends GWsPreferences }; - private void updateList() { + private void updateList() + { Object tdat[][] = new Object[wsUrls.size()][2]; - int r=0; + int r = 0; for (String url : wsUrls) { int status = Jws2Discoverer.getDiscoverer().getServerStatusFor(url); - tdat[r][1]=new Integer(status); - tdat[r++][0]=url; + tdat[r][1] = new Integer(status); + tdat[r++][0] = url; } - + wsList.setModel(new WsUrlTableModel(tdat)); - wsList.getColumn("Status").setMinWidth(10); + wsList.getColumn(MessageManager.getString("label.status")).setMinWidth( + 10); } - private class JabaWSStatusRenderer extends JPanel implements TableCellRenderer + + private class JabaWSStatusRenderer extends JPanel implements + TableCellRenderer { public JabaWSStatusRenderer() { setOpaque(true); - setMinimumSize(new Dimension(10,10)); -// setText(" "); - + setMinimumSize(new Dimension(10, 10)); + // setText(" "); + } + /** * render an Integer reflecting service status as a colour and symbol */ @Override public Component getTableCellRendererComponent(JTable arg0, - Object status, boolean isSelected, boolean hasFocus, int row, int column) + Object status, boolean isSelected, boolean hasFocus, int row, + int column) { Color c; - String t=new String(""); + String t = new String(""); switch (((Integer) status).intValue()) { case 1: -// cb.setSelected(true); - //cb.setBackground( - c=Color.green; + // cb.setSelected(true); + // cb.setBackground( + c = Color.green; break; case 0: -// cb.setSelected(true); -// cb.setBackground( - c=Color.lightGray; + // cb.setSelected(true); + // cb.setBackground( + c = Color.lightGray; break; case -1: - //cb.setSelected(false); - //cb.setBackground( - c=Color.red; + // cb.setSelected(false); + // cb.setBackground( + c = Color.red; break; default: - //cb.setSelected(false); - //cb.setBackground( - c=Color.orange; + // cb.setSelected(false); + // cb.setBackground( + c = Color.orange; } setBackground(c); - //setText(t); + // setText(t); return this; - + } } - private class WsUrlTableModel extends AbstractTableModel { - + + private class WsUrlTableModel extends AbstractTableModel + { + private Object[][] data; + + private String[] columnNames = new String[] { + MessageManager.getString("label.service_url"), + MessageManager.getString("label.status") }; + public WsUrlTableModel(Object[][] tdat) { - this.data=tdat; + this.data = tdat; } @Override @@ -184,35 +203,37 @@ public class WsPreferences extends GWsPreferences { return 2; } + @Override public String getColumnName(int column) { - if (column==1) - { - return "Status"; - } - return "Service URL"; + return columnNames[column]; } + @Override public int getRowCount() { - if (data==null) + if (data == null) { return 0; } return data.length; } + @Override - public java.lang.Class getColumnClass(int columnIndex) { + public java.lang.Class getColumnClass(int columnIndex) + { return getValueAt(0, columnIndex).getClass(); }; + @Override public Object getValueAt(int rowIndex, int columnIndex) { return data[rowIndex][columnIndex]; } - + } + private void updateRsbsList() { sbrsList.setListData(rsbsUrls); @@ -220,7 +241,7 @@ public class WsPreferences extends GWsPreferences private void updateServiceList() { - jalview.ws.jws2.Jws2Discoverer.setServiceUrls(wsUrls); + Jws2Discoverer.getDiscoverer().setServiceUrls(wsUrls); } private void updateRsbsServiceList() @@ -241,7 +262,7 @@ public class WsPreferences extends GWsPreferences int sel = wsList.getSelectedRow(); if (sel > -1) { - wsUrls.removeElementAt(sel); + wsUrls.remove(sel); update++; updateList(); } @@ -259,21 +280,22 @@ public class WsPreferences extends GWsPreferences int sel = wsList.getSelectedRow(); if (sel > -1) { - String url = editUrl(wsUrls.elementAt(sel), "Edit JABAWS URL"); + String url = editUrl(wsUrls.get(sel), + MessageManager.getString("label.edit_jabaws_url")); if (url != null) { int present = wsUrls.indexOf(url); if (present == -1) { update++; - wsUrls.setElementAt(url, sel); + wsUrls.set(sel, url); updateList(); } else { if (present != sel) { - wsUrls.removeElementAt(sel); + wsUrls.remove(sel); updateList(); } } @@ -285,7 +307,7 @@ public class WsPreferences extends GWsPreferences protected void newSbrsUrl_actionPerformed(ActionEvent e) { RestServiceEditorPane rse = new RestServiceEditorPane(); - rse.showDialog("Add a new Simple Bioinformatics Rest Service"); + rse.showDialog(MessageManager.getString("label.add_new_sbrs_service")); String rservice = rse.getEditedRestService(); if (rservice != null && !rsbsUrls.contains(rservice)) { @@ -303,7 +325,7 @@ public class WsPreferences extends GWsPreferences { RestServiceEditorPane rse = new RestServiceEditorPane( new RestServiceDescription(rsbsUrls.elementAt(sel))); - rse.showDialog("Edit Simple Bioinformatics Rest Service entry"); + rse.showDialog(MessageManager.getString("label.edit_sbrs_entry")); String rservice = rse.getEditedRestService(); if (rservice != null) { @@ -391,10 +413,10 @@ public class WsPreferences extends GWsPreferences if (p > -1 && p < wsUrls.size() - 1) { String t = wsUrls.get(p + 1); - wsUrls.setElementAt(wsUrls.elementAt(p), p + 1); - wsUrls.setElementAt(t, p); + wsUrls.set(p + 1, wsUrls.get(p)); + wsUrls.set(p, t); updateList(); - wsList.getSelectionModel().setSelectionInterval(p+1,p + 1); + wsList.getSelectionModel().setSelectionInterval(p + 1, p + 1); update++; } } @@ -413,10 +435,10 @@ public class WsPreferences extends GWsPreferences if (p > 0) { String t = wsUrls.get(p - 1); - wsUrls.setElementAt(wsUrls.elementAt(p), p - 1); - wsUrls.setElementAt(t, p); + wsUrls.set(p - 1, wsUrls.get(p)); + wsUrls.set(p, t); updateList(); - wsList.getSelectionModel().setSelectionInterval(p-1,p - 1); + wsList.getSelectionModel().setSelectionInterval(p - 1, p - 1); update++; } } @@ -432,7 +454,8 @@ public class WsPreferences extends GWsPreferences JTextField urltf = new JTextField(url, 40); JPanel panel = new JPanel(new BorderLayout()); JPanel pane12 = new JPanel(new BorderLayout()); - pane12.add(new JLabel("URL: "), BorderLayout.CENTER); + pane12.add(new JLabel(MessageManager.getString("label.url")), + BorderLayout.CENTER); pane12.add(urltf, BorderLayout.EAST); panel.add(pane12, BorderLayout.NORTH); boolean valid = false; @@ -458,28 +481,46 @@ public class WsPreferences extends GWsPreferences { valid = false; JOptionPane.showInternalMessageDialog(Desktop.desktop, - "Invalid URL !"); + MessageManager.getString("label.invalid_url")); } } if (valid && resp == JOptionPane.OK_OPTION) { - int validate = JOptionPane - .showInternalConfirmDialog( - Desktop.desktop, - "Validate JabaWS Server ?\n(Look in console output for results)", - "Test Server?", JOptionPane.YES_NO_OPTION); + int validate = JOptionPane.showInternalConfirmDialog(Desktop.desktop, + MessageManager.getString("info.validate_jabaws_server"), + MessageManager.getString("label.test_server"), + JOptionPane.YES_NO_OPTION); + if (validate == JOptionPane.OK_OPTION) { - if (jalview.ws.jws2.Jws2Discoverer.testServiceUrl(foo)) + if (Jws2Discoverer.testServiceUrl(foo)) { return foo.toString(); } else { - JOptionPane - .showInternalMessageDialog( + int opt = JOptionPane + .showInternalOptionDialog( Desktop.desktop, - "Service did not pass validation.\nCheck the Jalview Console for more details."); + "The Server '" + + foo.toString() + + "' failed validation,\ndo you want to add it anyway? ", + "Server Validation Failed", + JOptionPane.YES_NO_OPTION, + JOptionPane.INFORMATION_MESSAGE, null, null, null); + if (opt == JOptionPane.YES_OPTION) + { + return foo.toString(); + } + else + { + JOptionPane + .showInternalMessageDialog( + Desktop.desktop, + MessageManager + .getString("warn.server_didnt_pass_validation")); + } + } } else @@ -500,7 +541,8 @@ public class WsPreferences extends GWsPreferences @Override protected void newWsUrl_actionPerformed(ActionEvent e) { - String url = editUrl(null, "Add new JABAWS URL"); + String url = editUrl(null, + MessageManager.getString("label.add_jabaws_url")); if (url != null) { if (!wsUrls.contains(url)) @@ -508,11 +550,11 @@ public class WsPreferences extends GWsPreferences int selind = wsList.getSelectedRow(); if (selind > -1) { - wsUrls.insertElementAt(url, selind); + wsUrls.add(selind, url); } else { - wsUrls.addElement(url); + wsUrls.add(url); } update++; updateList(); @@ -585,8 +627,8 @@ public class WsPreferences extends GWsPreferences public void run() { long ct = System.currentTimeMillis(); - Desktop.instance.setProgressBar("Refreshing Web Service Menus", - ct); + Desktop.instance.setProgressBar(MessageManager + .getString("status.refreshing_web_service_menus"), ct); if (lastrefresh != update) { lastrefresh = update; @@ -615,8 +657,8 @@ public class WsPreferences extends GWsPreferences @Override protected void resetWs_actionPerformed(ActionEvent e) { - jalview.ws.jws2.Jws2Discoverer.setServiceUrls(null); - Vector nwsUrls = jalview.ws.jws2.Jws2Discoverer.getServiceUrls(); + Jws2Discoverer.getDiscoverer().setServiceUrls(null); + List nwsUrls = Jws2Discoverer.getDiscoverer().getServiceUrls(); if (!wsUrls.equals(nwsUrls)) { update++;