JAL-3066 Implement clustaloWS using slivka system.
[jalview.git] / src / jalview / gui / AlignFrame.java
index 12f04be..5a5df3b 100644 (file)
@@ -109,6 +109,7 @@ 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;
@@ -1199,13 +1200,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
    */
   public boolean alignmentIsSufficient(int required)
   {
-    if (getViewport().getAlignment().getSequences().size() < required)
-    {
-      JOptionPane.showMessageDialog(this,
-              MessageManager.getString("label.not_enough_sequences"));
-      return false;
-    }
-    return true;
+      if (getViewport().getSequenceSelection().length < required)
+      {
+        JOptionPane.showMessageDialog(this,
+                MessageManager.getString("label.not_enough_sequences"));
+        return false;
+      }
+      return true;
   }
 
   /**
@@ -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!
    * 
@@ -4401,7 +4424,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                       jws2servs.attachWSMenuEntry(webService, me);
                       for (Jws2Instance sv : jws2servs.getServices())
                       {
-                        if (sv.description.toLowerCase().contains("jpred"))
+                        if (sv.getName().toLowerCase().contains("jpred"))
                         {
                           for (JMenuItem jmi : legacyItems)
                           {
@@ -4421,6 +4444,15 @@ 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();
+                slivkaDiscoverer.attachWSMenuEntry(webService, me);
+
+
                 build_fetchdbmenu(webService);
                 for (JMenu item : wsmenu)
                 {