JAL-3949 - refactor logging from jalview.bin.Cache to jalview.bin.Console
[jalview.git] / src / jalview / ws / jws1 / SeqSearchWSClient.java
index fe279cf..0c67063 100644 (file)
@@ -1,22 +1,34 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ 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 <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.ws.jws1;
 
+import jalview.bin.Console;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.AlignmentView;
+import jalview.gui.AlignFrame;
+import jalview.gui.Desktop;
+import jalview.gui.JvOptionPane;
+import jalview.gui.WebserviceInfo;
+import jalview.util.MessageManager;
+
 import java.awt.Component;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -25,11 +37,12 @@ import java.util.Hashtable;
 import java.util.StringTokenizer;
 import java.util.Vector;
 
-import javax.swing.*;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
 
-import ext.vamsas.*;
-import jalview.datamodel.*;
-import jalview.gui.*;
+import ext.vamsas.SeqSearchServiceLocator;
+import ext.vamsas.SeqSearchServiceSoapBindingStub;
+import ext.vamsas.ServiceHandle;
 
 /**
  * DOCUMENT ME!
@@ -64,7 +77,7 @@ public class SeqSearchWSClient extends WS1Client
 
   public SeqSearchWSClient(ext.vamsas.ServiceHandle sh, String altitle,
           jalview.datamodel.AlignmentView msa, String db,
-          Alignment seqdataset, AlignFrame _alignFrame)
+          AlignmentI seqdataset, AlignFrame _alignFrame)
   {
     super();
     alignFrame = _alignFrame;
@@ -72,20 +85,25 @@ public class SeqSearchWSClient extends WS1Client
     // name to service client name
     if (!sh.getAbstractName().equals(this.getServiceActionKey()))
     {
-      JOptionPane.showMessageDialog(Desktop.desktop,
-              "The Service called \n" + sh.getName()
-                      + "\nis not a \nSequence Search Service !",
-              "Internal Jalview Error", JOptionPane.WARNING_MESSAGE);
+      JvOptionPane.showMessageDialog(Desktop.desktop,
+              MessageManager.formatMessage(
+                      "label.service_called_is_not_seq_search_service",
+                      new String[]
+                      { sh.getName() }),
+              MessageManager.getString("label.internal_jalview_error"),
+              JvOptionPane.WARNING_MESSAGE);
 
       return;
     }
 
     if ((wsInfo = setWebService(sh)) == null)
     {
-      JOptionPane.showMessageDialog(Desktop.desktop,
-              "The Sequence Search Service named " + sh.getName()
-                      + " is unknown", "Internal Jalview Error",
-              JOptionPane.WARNING_MESSAGE);
+      JvOptionPane.showMessageDialog(Desktop.desktop,
+              MessageManager.formatMessage(
+                      "label.seq_search_service_is_unknown", new String[]
+                      { sh.getName() }),
+              MessageManager.getString("label.internal_jalview_error"),
+              JvOptionPane.WARNING_MESSAGE);
 
       return;
     }
@@ -112,7 +130,7 @@ public class SeqSearchWSClient extends WS1Client
   }
 
   private void startSeqSearchClient(String altitle, AlignmentView msa,
-          String db, Alignment seqdataset)
+          String db, AlignmentI seqdataset)
   {
     if (!locateWebService())
     {
@@ -123,20 +141,21 @@ public class SeqSearchWSClient extends WS1Client
     // sequence db
     boolean profileSearch = msa.getSequences().length > 2 ? true : false;
     // single sequence or profile from alignment view
-    wsInfo.setProgressText("Searching "
-            + visdb
-            + (!profileSearch ? " with sequence "
-                    + msa.getSequences()[0].getRefSeq().getName()
-                    : " with profile") + " from " + altitle
-            + "\nJob details\n");
+    wsInfo.setProgressText("Searching " + visdb
+            + (!profileSearch
+                    ? " with sequence "
+                            + msa.getSequences()[0].getRefSeq().getName()
+                    : " with profile")
+            + " from " + altitle + "\nJob details\n");
 
     String jobtitle = WebServiceName
             + ((WebServiceName.indexOf("earch") > -1) ? " " : " search ")
-            + " of "
-            + visdb
-            + (!profileSearch ? " with sequence "
-                    + msa.getSequences()[0].getRefSeq().getName()
-                    : " with profile") + " from " + altitle;
+            + " of " + visdb
+            + (!profileSearch
+                    ? " with sequence "
+                            + msa.getSequences()[0].getRefSeq().getName()
+                    : " with profile")
+            + " from " + altitle;
     SeqSearchWSThread ssthread = new SeqSearchWSThread(server, WsURL,
             wsInfo, alignFrame, WebServiceName, jobtitle, msa, db,
             seqdataset);
@@ -157,8 +176,7 @@ public class SeqSearchWSClient extends WS1Client
 
     try
     {
-      this.server = (SeqSearchI) loc.getSeqSearchService(new java.net.URL(
-              WsURL));
+      this.server = loc.getSeqSearchService(new java.net.URL(WsURL));
       ((SeqSearchServiceSoapBindingStub) this.server).setTimeout(60000); // One
       // minute
       // timeout
@@ -205,13 +223,14 @@ public class SeqSearchWSClient extends WS1Client
     }
     if (!locateWebService())
     {
-      throw new Exception("Cannot contact service endpoint at " + WsURL);
+      throw new Exception(MessageManager.formatMessage(
+              "exception.cannot_contact_service_endpoint_at", new String[]
+              { WsURL }));
     }
     String database = server.getDatabase();
     if (database == null)
     {
-      dbParamsForEndpoint.put(WsURL, new String[]
-      {});
+      dbParamsForEndpoint.put(WsURL, new String[] {});
       return null;
     }
     StringTokenizer en = new StringTokenizer(database.trim(), ",| ");
@@ -224,6 +243,7 @@ public class SeqSearchWSClient extends WS1Client
     return dbs;
   }
 
+  @Override
   public void attachWSMenuEntry(JMenu wsmenu, final ServiceHandle sh,
           final AlignFrame af)
   {
@@ -241,20 +261,22 @@ public class SeqSearchWSClient extends WS1Client
     JMenu defmenu = (JMenu) dbsrchs.get("Default Database");
     if (defmenu == null)
     {
-      dbsrchs.put("Default Database", defmenu = new JMenu(
-              "Default Database"));
+      dbsrchs.put("Default Database",
+              defmenu = new JMenu("Default Database"));
       newdbsrch.addElement(defmenu);
     }
 
     String dbs[] = null;
     try
     {
-      dbs = new jalview.ws.jws1.SeqSearchWSClient(sh).getSupportedDatabases();
+      dbs = new jalview.ws.jws1.SeqSearchWSClient(sh)
+              .getSupportedDatabases();
     } catch (Exception e)
     {
-      jalview.bin.Cache.log.warn(
+      Console.warn(
               "Database list request failed, so disabling SeqSearch Service client "
-                      + sh.getName() + " at " + sh.getEndpointURL(), e);
+                      + sh.getName() + " at " + sh.getEndpointURL(),
+              e);
       return;
     }
     JMenuItem method;
@@ -263,13 +285,14 @@ public class SeqSearchWSClient extends WS1Client
     method.setToolTipText(sh.getEndpointURL());
     method.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         // use same input gatherer as for secondary structure prediction
         // we could actually parameterise the gatherer method here...
         AlignmentView msa = af.gatherSeqOrMsaForSecStrPrediction();
-        new jalview.ws.jws1.SeqSearchWSClient(sh, af.getTitle(), msa, null, af
-                .getViewport().getAlignment().getDataset(), af);
+        new jalview.ws.jws1.SeqSearchWSClient(sh, af.getTitle(), msa, null,
+                af.getViewport().getAlignment().getDataset(), af);
       }
     });
     // add entry for each database the service supports
@@ -287,6 +310,7 @@ public class SeqSearchWSClient extends WS1Client
       final String searchdb = dbs[db];
       method.addActionListener(new ActionListener()
       {
+        @Override
         public void actionPerformed(ActionEvent e)
         {
           AlignmentView msa = af.gatherSeqOrMsaForSecStrPrediction();