JAL-3832 dummy 3d-beacons database client and code to create the TDBeaconsFTSPanel...
[jalview.git] / src / jalview / gui / SequenceFetcher.java
index f06bd97..dab42b5 100755 (executable)
@@ -27,6 +27,7 @@ import jalview.datamodel.DBRefEntry;
 import jalview.datamodel.SequenceI;
 import jalview.fts.core.GFTSPanel;
 import jalview.fts.service.pdb.PDBFTSPanel;
+import jalview.fts.service.threedbeacons.TDBeaconsFTSPanel;
 import jalview.fts.service.uniprot.UniprotFTSPanel;
 import jalview.io.FileFormatI;
 import jalview.io.gff.SequenceOntologyI;
@@ -195,6 +196,11 @@ public class SequenceFetcher extends JPanel implements Runnable
           frame.dispose();
           new UniprotFTSPanel(SequenceFetcher.this);
         }
+        else if ("3d-beacons".equalsIgnoreCase(currentSelection))
+        {
+          frame.dispose();
+          new TDBeaconsFTSPanel(SequenceFetcher.this);
+        }
         else
         {
           otherSourceAction();
@@ -418,14 +424,16 @@ public class SequenceFetcher extends JPanel implements Runnable
      * tidy inputs and check there is something to search for
      */
     String t0 = textArea.getText();
-    String text = text.trim(); // BH 2019.01.30
+    String text = t0.trim();
     if (replacePunctuation.isEnabled() && replacePunctuation.isSelected())
     {
       text = text.replace(",", ";");
     }
-    text = text.replaceAll("(\\s|[,; ])+", ";");
-    if (!t0.equals(text)) // BH 2019.01.30 no need to do setting if it is the same
-       textArea.setText(text);
+    text = text.replaceAll("(\\s|[; ])+", ";");
+    if (!t0.equals(text)) 
+    {
+         textArea.setText(text);
+    }
     if (text.isEmpty())
     {
       // todo i18n
@@ -434,6 +442,14 @@ public class SequenceFetcher extends JPanel implements Runnable
       resetDialog();
       return;
     }
+    if (database.getSelectedIndex() == 0)
+    {
+      // todo i18n
+      showErrorMessage("Please choose a database");
+      resetDialog();
+      return;
+    }
+
     exampleBtn.setEnabled(false);
     textArea.setEnabled(false);
     okBtn.setEnabled(false);
@@ -464,9 +480,8 @@ public class SequenceFetcher extends JPanel implements Runnable
     List<DbSourceProxy> sources = sfetch
             .getSourceProxy((String) database.getSelectedItem());
     Iterator<DbSourceProxy> proxies = sources.iterator();
-    String[] qries;
-    List<String> nextFetch = Arrays
-            .asList(qries = textArea.getText().split(";"));
+    String[] qries = textArea.getText().trim().split(";");
+    List<String> nextFetch = Arrays.asList(qries);
     Iterator<String> en = Arrays.asList(new String[0]).iterator();
     int nqueries = qries.length;