made ws warning dialog optional, and fixed its wording (JAL-693)
[jalview.git] / src / jalview / gui / Desktop.java
index d263e88..6912e19 100755 (executable)
@@ -2179,32 +2179,42 @@ public class Desktop extends jalview.jbgui.GDesktop implements
    */
   protected void JalviewServicesChanged(PropertyChangeEvent evt)
   {
-    if (evt.getNewValue() instanceof Vector)
+    if (evt.getNewValue() == null || evt.getNewValue() instanceof Vector)
     {
       final String ermsg = jalview.ws.jws2.Jws2Discoverer.getDiscoverer()
               .getErrorMessages();
       if (ermsg != null)
       {
-        if (serviceChangedDialog == null)
+        if (Cache.getDefault("SHOW_WSDISCOVERY_ERRORS", true))
         {
-          // only run if we aren't already displaying one of these.
-          javax.swing.SwingUtilities
-                  .invokeLater(serviceChangedDialog = new Runnable()
-                  {
-                    public void run()
-                    {
+          if (serviceChangedDialog == null)
 
-                      JOptionPane
-                              .showInternalMessageDialog(
-                                      Desktop.desktop,
-                                      ermsg
-                                              + "\nPlease check the web services preferences.\n",
-                                      "Preferences Problem",
-                                      JOptionPane.WARNING_MESSAGE);
-                      serviceChangedDialog = null;
-
-                    }
-                  });
+          {
+            // only run if we aren't already displaying one of these.
+            javax.swing.SwingUtilities
+                    .invokeLater(serviceChangedDialog = new Runnable()
+                    {
+                      public void run()
+                      {
+
+                        JOptionPane
+                                .showInternalMessageDialog(
+                                        Desktop.desktop,
+                                        ermsg
+                                                + "It may be that you have invalid JABA URLs\nin your web service preferences.\n\nGo to the Web services tab of the\nTools->Preferences dialog box to change them.\n",
+                                        "Preferences Problem",
+                                        JOptionPane.WARNING_MESSAGE);
+                        serviceChangedDialog = null;
+
+                      }
+                    });
+          }
+        }
+        else
+        {
+          Cache.log
+                  .error("Errors reported by JABA discovery service. Check web services preferences.\n"
+                          + ermsg);
         }
       }
     }