JAL-2847 Rearranging and cleaning up of database query code
[jalview.git] / src / jalview / gui / AlignFrame.java
index c76ce56..84e02c7 100644 (file)
@@ -157,6 +157,8 @@ import javax.swing.JScrollPane;
 import javax.swing.SwingUtilities;
 
 import org.forester.archaeopteryx.MainFrame;
+import org.forester.archaeopteryx.webservices.PhylogeniesWebserviceClient;
+import org.forester.archaeopteryx.webservices.WebservicesManager;
 
 /**
  * DOCUMENT ME!
@@ -3962,7 +3964,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   protected void loadTreePfam_actionPerformed(ActionEvent e)
   {
 
-    // only DBRefs of first sequence are checked for matching DB for now
+    // only DBRefs of first sequence are checked for matching DB for now,
+    // iterating through them all seems excessive
     SequenceI seq = viewport.getAlignment().getSequenceAt(0);
     String dbId = null;
     for (DBRefEntry pfamRef : DBRefUtils
@@ -4099,8 +4102,19 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
    */
   public void chooseTreeDb(int databaseIndex, String defaultIdentifier)
   {
-    AptxInit.createInstancesFromDb(databaseIndex, viewport,
-            defaultIdentifier);
+    final WebservicesManager webservices_manager = WebservicesManager
+            .getInstance();
+    final PhylogeniesWebserviceClient client = webservices_manager
+            .getAvailablePhylogeniesWebserviceClient(databaseIndex);
+    String identifier = JvOptionPane
+            .showInternalInputDialog(Desktop.desktop,
+                    client.getInstructions() + "\n(Reference: "
+                            + client.getReference() + ")",
+                    client.getDescription(), JvOptionPane.QUESTION_MESSAGE,
+                    null, null, defaultIdentifier)
+            .toString();
+
+    AptxInit.createInstancesFromDb(client, identifier, viewport);
   }
 
   public TreePanel showNewickTree(NewickFile nf, String treeTitle)