+ /**
+ * called to check if the service discovery process completed successfully.
+ *
+ * @param evt
+ */
+ protected void JalviewServicesChanged(PropertyChangeEvent evt)
+ {
+ if (evt.getNewValue() == null || evt.getNewValue() instanceof Vector)
+ {
+ final String ermsg = jalview.ws.jws2.Jws2Discoverer.getDiscoverer()
+ .getErrorMessages();
+ if (ermsg != null)
+ {
+ if (Cache.getDefault("SHOW_WSDISCOVERY_ERRORS", true))
+ {
+ if (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);
+ }
+ }
+ }
+ }
+
+ private Runnable serviceChangedDialog = null;
+
+ /**
+ * start a thread to open a URL in the configured browser. Pops up a warning
+ * dialog to the user if there is an exception when calling out to the browser
+ * to open the URL.
+ *
+ * @param url
+ */
+ public static void showUrl(final String url)
+ {
+ showUrl(url, Desktop.instance);
+ }
+ /**
+ * Like showUrl but allows progress handler to be specified
+ * @param url
+ * @param progress (null) or object implementing IProgressIndicator
+ */
+ public static void showUrl(final String url, final IProgressIndicator progress)
+ {
+ new Thread(new Runnable()
+ {
+ public void run()
+ {
+ try
+ {
+ if (progress!=null) {
+ progress.setProgressBar("Opening "+url, this.hashCode());
+ }
+ jalview.util.BrowserLauncher.openURL(url);
+ } catch (Exception ex)
+ {
+ JOptionPane
+ .showInternalMessageDialog(
+ Desktop.desktop,
+ "Unixers: Couldn't find default web browser."
+ + "\nAdd the full path to your browser in Preferences.",
+ "Web browser not found",
+ JOptionPane.WARNING_MESSAGE);
+
+ ex.printStackTrace();
+ }
+ if (progress!=null) {
+ progress.setProgressBar(null, this.hashCode());
+ }
+ }
+ }).start();
+ }
+
+ public static WsParamSetManager wsparamManager = null;
+
+ public static ParamManager getUserParameterStore()
+ {
+ if (wsparamManager == null)
+ {
+ wsparamManager = new WsParamSetManager();
+ }
+ return wsparamManager;
+ }
+
+