JAL-3070 slivka service discovery as a background thread - still need to unify Jabaws...
[jalview.git] / src / jalview / gui / AlignFrame.java
index 521de91..e66b8d1 100644 (file)
@@ -102,13 +102,14 @@ import jalview.viewmodel.AlignmentViewport;
 import jalview.viewmodel.ViewportRanges;
 import jalview.ws.DBRefFetcher;
 import jalview.ws.DBRefFetcher.FetchFinishedListenerI;
+import jalview.ws.api.ServiceWithParameters;
 import jalview.ws.jws1.Discoverer;
 import jalview.ws.jws2.Jws2Discoverer;
-import jalview.ws.jws2.jabaws2.Jws2Instance;
 import jalview.ws.params.ArgumentI;
 import jalview.ws.params.ParamDatastoreI;
 import jalview.ws.params.WsParamSetI;
 import jalview.ws.seqfetcher.DbSourceProxy;
+import jalview.ws.slivkaws.SlivkaWSDiscoverer;
 
 import java.awt.BorderLayout;
 import java.awt.Component;
@@ -3787,6 +3788,28 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     alignPanel.paintAlignment(true, false);
   }
 
+  @Override
+  public void sortEValueMenuItem_actionPerformed(ActionEvent e)
+  {
+    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+    AlignmentSorter.sortByEValue(viewport.getAlignment());
+    addHistoryItem(new OrderCommand("Group Sort", oldOrder,
+            viewport.getAlignment()));
+    alignPanel.paintAlignment(true, false);
+
+  }
+
+  @Override
+  public void sortBitScoreMenuItem_actionPerformed(ActionEvent e)
+  {
+    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+    AlignmentSorter.sortByBitScore(viewport.getAlignment());
+    addHistoryItem(new OrderCommand("Group Sort", oldOrder,
+            viewport.getAlignment()));
+    alignPanel.paintAlignment(true, false);
+
+  }
+  
   /**
    * DOCUMENT ME!
    * 
@@ -4399,7 +4422,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                     if (jws2servs.hasServices())
                     {
                       jws2servs.attachWSMenuEntry(webService, me);
-                      for (Jws2Instance sv : jws2servs.getServices())
+                      for (ServiceWithParameters sv : jws2servs.getServices())
                       {
                         if (sv.getName().toLowerCase().contains("jpred"))
                         {
@@ -4422,9 +4445,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())
+                {
+                slivkaDiscoverer.attachWSMenuEntry(webService, me);
+                } else {
+                  if (slivkaDiscoverer.isRunning())
+                  {
+                    {
+                      JMenuItem tm = new JMenuItem(
+                              "Still discovering Slivka Services");
+                      tm.setEnabled(false);
+                      webService.add(tm);
+                    }
+
+                  }
+                }
+              
+
                 build_fetchdbmenu(webService);
                 for (JMenu item : wsmenu)
                 {