JAL-1665 refactored Sequence.getSequenceFeatures
[jalview.git] / src / jalview / gui / SequenceFetcher.java
index a1a83ee..2928102 100755 (executable)
@@ -6,36 +6,56 @@
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
  *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.gui;
 
-import java.util.*;
-import java.util.List;
-
-import java.awt.*;
-import java.awt.event.*;
-
-import javax.swing.*;
-import javax.swing.tree.DefaultMutableTreeNode;
-
-import com.stevesoft.pat.Regex;
-
-import jalview.datamodel.*;
-import jalview.io.*;
+import jalview.datamodel.Alignment;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.DBRefEntry;
+import jalview.datamodel.DBRefSource;
+import jalview.datamodel.SequenceFeature;
+import jalview.datamodel.SequenceI;
+import jalview.io.FormatAdapter;
+import jalview.io.IdentifyFile;
 import jalview.util.DBRefUtils;
 import jalview.util.MessageManager;
 import jalview.ws.dbsources.das.api.DasSourceRegistryI;
 import jalview.ws.seqfetcher.DbSourceProxy;
+
 import java.awt.BorderLayout;
+import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JInternalFrame;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.SwingConstants;
+import javax.swing.tree.DefaultMutableTreeNode;
+
+import com.stevesoft.pat.Regex;
 
 public class SequenceFetcher extends JPanel implements Runnable
 {
@@ -76,7 +96,7 @@ public class SequenceFetcher extends JPanel implements Runnable
       if (guiWindow != null)
       {
         guiWindow.setProgressBar(
-                "Waiting for Sequence Database Fetchers to initialise",
+                MessageManager.getString("status.waiting_sequence_database_fetchers_init"),
                 Thread.currentThread().hashCode());
       }
       // initting happening on another thread - so wait around to see if it
@@ -95,7 +115,7 @@ public class SequenceFetcher extends JPanel implements Runnable
       if (guiWindow != null)
       {
         guiWindow.setProgressBar(
-                "Waiting for Sequence Database Fetchers to initialise",
+                       MessageManager.getString("status.waiting_sequence_database_fetchers_init"),
                 Thread.currentThread().hashCode());
       }
     }
@@ -113,7 +133,7 @@ public class SequenceFetcher extends JPanel implements Runnable
        */
       if (guiWindow != null)
       {
-        guiWindow.setProgressBar("Initialising Sequence Database Fetchers",
+        guiWindow.setProgressBar(MessageManager.getString("status.init_sequence_database_fetchers"),
                 Thread.currentThread().hashCode());
       }
       dasRegistry = jalview.bin.Cache.getDasSourceRegistry();
@@ -122,7 +142,7 @@ public class SequenceFetcher extends JPanel implements Runnable
       jalview.ws.SequenceFetcher sf = new jalview.ws.SequenceFetcher();
       if (guiWindow != null)
       {
-        guiWindow.setProgressBar("Initialising Sequence Database Fetchers",
+        guiWindow.setProgressBar(MessageManager.getString("status.init_sequence_database_fetchers"),
                 Thread.currentThread().hashCode());
       }
       lastDasSourceRegistry = (dasRegistry.getDasRegistryURL() + dasRegistry
@@ -159,8 +179,8 @@ public class SequenceFetcher extends JPanel implements Runnable
               JOptionPane
                       .showInternalMessageDialog(
                               Desktop.desktop,
-                              "Could not create the sequence fetcher client. Check error logs for details.",
-                              "Couldn't create SequenceFetcher",
+                              MessageManager.getString("warn.couldnt_create_sequence_fetcher_client"),
+                              MessageManager.getString("label.couldnt_create_sequence_fetcher"),
                               JOptionPane.ERROR_MESSAGE);
             }
           });
@@ -217,8 +237,7 @@ public class SequenceFetcher extends JPanel implements Runnable
 
   private String getFrameTitle()
   {
-    return ((alignFrame == null) ? "New " : "Additional ")
-            + "Sequence Fetcher";
+    return ((alignFrame == null) ? MessageManager.getString("label.new_sequence_fetcher") : MessageManager.getString("label.additional_sequence_fetcher"));
   }
 
   private void jbInit() throws Exception
@@ -229,12 +248,14 @@ public class SequenceFetcher extends JPanel implements Runnable
     dbeg.setFont(new java.awt.Font("Verdana", Font.BOLD, 11));
     jLabel1.setFont(new java.awt.Font("Verdana", Font.ITALIC, 11));
     jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
-    jLabel1.setText(MessageManager.getString("label.separate_multiple_accession_ids"));
+    jLabel1.setText(MessageManager
+            .getString("label.separate_multiple_accession_ids"));
 
     replacePunctuation.setHorizontalAlignment(SwingConstants.CENTER);
     replacePunctuation
             .setFont(new java.awt.Font("Verdana", Font.ITALIC, 11));
-    replacePunctuation.setText(MessageManager.getString("label.replace_commas_semicolons"));
+    replacePunctuation.setText(MessageManager
+            .getString("label.replace_commas_semicolons"));
     ok.setText(MessageManager.getString("action.ok"));
     ok.addActionListener(new ActionListener()
     {
@@ -280,7 +301,9 @@ public class SequenceFetcher extends JPanel implements Runnable
       public void keyPressed(KeyEvent e)
       {
         if (e.getKeyCode() == KeyEvent.VK_ENTER)
+        {
           ok_actionPerformed();
+        }
       }
     });
     jPanel3.setLayout(borderLayout1);
@@ -306,7 +329,9 @@ public class SequenceFetcher extends JPanel implements Runnable
                           + database.getSelectedSources().size()
                           + " others)" : ""));
           String eq = database.getExampleQueries();
-          dbeg.setText(MessageManager.formatMessage("label.example_query_param", new String[]{eq}));
+          dbeg.setText(MessageManager.formatMessage(
+                  "label.example_query_param", new String[]
+                  { eq }));
           boolean enablePunct = !(eq != null && eq.indexOf(",") > -1);
           for (DbSourceProxy dbs : database.getSelectedSources())
           {
@@ -488,8 +513,7 @@ public class SequenceFetcher extends JPanel implements Runnable
       try
       {
         // update status
-        guiWindow.setProgressBar("Fetching " + nqueries
-                + " sequence queries from " + proxy.getDbName(), Thread
+        guiWindow.setProgressBar(MessageManager.formatMessage("status.fetching_sequence_queries_from", new String[]{Integer.valueOf(nqueries).toString(),proxy.getDbName()}), Thread
                 .currentThread().hashCode());
         isAliSource = proxy.isA(DBRefSource.ALIGNMENTDB);
         if (proxy.getAccessionSeparator() == null)
@@ -687,11 +711,11 @@ public class SequenceFetcher extends JPanel implements Runnable
           presultTitle.add(titl);
         }
       }
-      guiWindow.setProgressBar("Finished querying", Thread.currentThread()
+      guiWindow.setProgressBar(MessageManager.getString("status.finshed_querying"), Thread.currentThread()
               .hashCode());
     }
-    guiWindow.setProgressBar((presult.size() > 0) ? "Parsing results."
-            : "Processing ..", Thread.currentThread().hashCode());
+    guiWindow.setProgressBar((presult.size() > 0) ? MessageManager.getString("status.parsing_results")
+            : MessageManager.getString("status.processing"), Thread.currentThread().hashCode());
     // process results
     while (presult.size() > 0)
     {
@@ -790,7 +814,7 @@ public class SequenceFetcher extends JPanel implements Runnable
         {
           for (SequenceI sq : alsqs)
           {
-            if ((sfs = (sq).getDatasetSequence().getSequenceFeatures()) != null)
+            if ((sfs = sq.getSequenceFeatures()) != null)
             {
               if (sfs.length > 0)
               {
@@ -804,7 +828,8 @@ public class SequenceFetcher extends JPanel implements Runnable
         Desktop.addInternalFrame(af, title, AlignFrame.DEFAULT_WIDTH,
                 AlignFrame.DEFAULT_HEIGHT);
 
-        af.statusBar.setText(MessageManager.getString("label.successfully_pasted_alignment_file"));
+        af.statusBar.setText(MessageManager
+                .getString("label.successfully_pasted_alignment_file"));
 
         try
         {
@@ -845,7 +870,8 @@ public class SequenceFetcher extends JPanel implements Runnable
       public void run()
       {
         JOptionPane.showInternalMessageDialog(Desktop.desktop, error,
-                MessageManager.getString("label.error_retrieving_data"), JOptionPane.WARNING_MESSAGE);
+                MessageManager.getString("label.error_retrieving_data"),
+                JOptionPane.WARNING_MESSAGE);
       }
     });
   }