Merge branch 'feature/JAL-3686_slivka_client_js_update' into alpha/merge_212_JalviewJ...
[jalview.git] / src / jalview / gui / AlignFrame.java
index 4114298..cd1893d 100644 (file)
@@ -155,6 +155,7 @@ import jalview.viewmodel.AlignmentViewport;
 import jalview.viewmodel.ViewportRanges;
 import jalview.ws.DBRefFetcher;
 import jalview.ws.DBRefFetcher.FetchFinishedListenerI;
+import jalview.ws.WSDiscovererI;
 import jalview.ws.api.ServiceWithParameters;
 import jalview.ws.jws1.Discoverer;
 import jalview.ws.jws2.Jws2Discoverer;
@@ -4522,9 +4523,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                 }
                 // TODO: move into separate menu builder class.
                 boolean new_sspred = false;
+
                 if (Cache.getDefault("SHOW_JWS2_SERVICES", true))
                 {
-                  Jws2Discoverer jws2servs = Jws2Discoverer.getDiscoverer();
+                  WSDiscovererI jws2servs = Jws2Discoverer.getDiscoverer();
                   if (jws2servs != null)
                   {
                     if (jws2servs.hasServices())
@@ -4551,30 +4553,28 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                     }
                   }
                 }
-                build_urlServiceMenu(me.webService);
-
 
-                // TODO Mateusz - follow pattern for adding web service
-                // JMenuItems for slivka-based services
-
-                SlivkaWSDiscoverer slivkaDiscoverer = SlivkaWSDiscoverer.getInstance();
-                if (slivkaDiscoverer.hasServices())
+                if (Cache.getDefault("SHOW_SLIVKA_SERVICES", true))
                 {
-                slivkaDiscoverer.attachWSMenuEntry(webService, me);
-                } else {
-                  if (slivkaDiscoverer.isRunning())
+                  WSDiscovererI discoverer = SlivkaWSDiscoverer
+                          .getInstance();
+                  if (discoverer != null)
                   {
+                    if (discoverer.hasServices())
+                    {
+                      discoverer.attachWSMenuEntry(webService, me);
+                    }
+                    if (discoverer.isRunning())
                     {
                       JMenuItem tm = new JMenuItem(
                               "Still discovering Slivka Services");
                       tm.setEnabled(false);
                       webService.add(tm);
                     }
-
                   }
                 }
-              
 
+                build_urlServiceMenu(me.webService);
                 build_fetchdbmenu(webService);
                 for (JMenu item : wsmenu)
                 {