Merge branch 'bug/JAL-1043_warning-dialog-not-shown-for-JABA-errors' into Release_2_8...
[jalview.git] / src / jalview / ws / jws2 / JabaWsServerQuery.java
index 5a2db83..6cca61b 100644 (file)
@@ -1,19 +1,21 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
  * Copyright (C) 2014 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.jws2;
 
 import jalview.bin.Cache;
+import jalview.gui.Desktop;
 import jalview.ws.jws2.jabaws2.Jws2Instance;
+import jalview.ws.jws2.jabaws2.Jws2InstanceFactory;
 
 import java.util.HashSet;
 import java.util.Set;
 
+import javax.swing.JOptionPane;
+
 import compbio.data.msa.Category;
 import compbio.data.msa.JABAService;
 import compbio.ws.client.Jws2Client;
@@ -76,7 +82,7 @@ public class JabaWsServerQuery implements Runnable
   { Services.ClustalWS, Services.MuscleWS, Services.MafftWS,
       Services.ProbconsWS, Services.TcoffeeWS, Services.AAConWS,
       Services.DisemblWS, Services.GlobPlotWS, Services.IUPredWS,
-      Services.JronnWS };
+      Services.JronnWS, Services.RNAalifoldWS };
 
   /*
    * (non-Javadoc)
@@ -116,11 +122,25 @@ public class JabaWsServerQuery implements Runnable
 
             jabasws2 = true;
             srv_set = registry.getSupportedServices();
+
+            // dan test
+            System.out.println("registry.getSupportedServices: "
+                    + srv_set.toString());
+
             svccategories = registry.getServiceCategories();
 
+            // dan test
+            // System.out.println("registry.getServiceCategories: " +
+            // svccategories.toString());
+
           }
-        } catch (Exception ex)
+        } catch (javax.xml.ws.WebServiceException ex)
         {
+          JOptionPane
+                  .showInternalMessageDialog(
+                          Desktop.desktop,
+                          "Exception whilst trying to access the webservice registry:",
+                          "Webservice glitch", JOptionPane.WARNING_MESSAGE);
           System.err.println("Exception whilst trying to get at registry:");
           ex.printStackTrace();
           // if that failed, then we are probably working with a JABAWS1 server.
@@ -132,6 +152,10 @@ public class JabaWsServerQuery implements Runnable
             srv_set.add(srv);
           }
         }
+ catch (Exception ex)
+        {
+          ex.printStackTrace();
+        }
         for (Category cat : categories)
         {
           for (Services srv : cat.getServices())
@@ -171,13 +195,14 @@ public class JabaWsServerQuery implements Runnable
 
                 String description = registry.getServiceDescription(srv);
 
-                svc = new Jws2Instance(jwsservers, srv.toString(),
-                        cat.name, description, service);
+                svc = Jws2InstanceFactory.newJws2Instance(jwsservers,
+                        srv.toString(), cat.name, description, service);
               }
               if (svc == null)
               {
-                svc = new Jws2Instance(jwsservers, srv.toString(),
-                        cat.name, "JABAWS 1 Alignment Service", service);
+                svc = Jws2InstanceFactory.newJws2Instance(jwsservers,
+                        srv.toString(), cat.name,
+                        "JABAWS 1 Alignment Service", service);
               }
               jws2Discoverer.addService(jwsservers, svc);
             }