Merge branch 'Jalview-JS/develop' of https://source.jalview.org/git/jalview.git into...
authorhansonr <hansonr@STO24954W.ad.stolaf.edu>
Mon, 1 Apr 2019 02:38:34 +0000 (21:38 -0500)
committerhansonr <hansonr@STO24954W.ad.stolaf.edu>
Mon, 1 Apr 2019 02:38:34 +0000 (21:38 -0500)
src/jalview/bin/Cache.java
src/jalview/gui/AlignFrame.java
src/jalview/jbgui/GAlignFrame.java
src/jalview/jbgui/GDesktop.java
src/jalview/jbgui/GRnaStructureViewer.java
src/jalview/jbgui/GSplitFrame.java
src/jalview/jbgui/GStructureViewer.java
src/jalview/jbgui/GTreePanel.java
src/jalview/util/Platform.java
src/jalview/ws/jws1/Discoverer.java

index e20b75d..fda04cb 100755 (executable)
@@ -596,7 +596,13 @@ public class Cache
    */
   public static String getProperty(String key)
   {
-    return applicationProperties.getProperty(key);
+    String prop = applicationProperties.getProperty(key);
+    if (prop == null && Platform.isJS())
+    {
+      prop = applicationProperties.getProperty(Platform.getUniqueAppletID()
+              + "_" + JS_PROPERTY_PREFIX + key);
+    }
+    return prop;
   }
 
   /**
index ef57d5f..270023e 100644 (file)
@@ -153,12 +153,15 @@ import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.SwingUtilities;
 
+import ext.vamsas.ServiceHandle;
+
 /**
  * DOCUMENT ME!
  * 
  * @author $author$
  * @version $Revision$
  */
+@SuppressWarnings("serial")
 public class AlignFrame extends GAlignFrame implements DropTargetListener,
         IProgressIndicator, AlignViewControllerGuiI, ColourChangeListener
 {
@@ -2081,7 +2084,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                 && Desktop.jalviewClipboard[1] != alignment.getDataset();
         // importDs==true instructs us to copy over new dataset sequences from
         // an existing alignment
-        Vector newDs = (importDs) ? new Vector() : null; // used to create
+        Vector<SequenceI> newDs = (importDs) ? new Vector<>() : null; // used to
+                                                                      // create
         // minimum dataset set
 
         for (int i = 0; i < sequences.length; i++)
@@ -3029,7 +3033,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
    * @param toggleSeqs
    * @param toggleCols
    */
-  private void toggleHiddenRegions(boolean toggleSeqs, boolean toggleCols)
+  protected void toggleHiddenRegions(boolean toggleSeqs, boolean toggleCols)
   {
 
     boolean hide = false;
@@ -3809,7 +3813,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     {
       sortByAnnotScore.removeAll();
       // almost certainly a quicker way to do this - but we keep it simple
-      Hashtable scoreSorts = new Hashtable();
+      Hashtable<String, String> scoreSorts = new Hashtable<>();
       AlignmentAnnotation aann[];
       for (SequenceI sqa : viewport.getAlignment().getSequences())
       {
@@ -3822,11 +3826,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           }
         }
       }
-      Enumeration labels = scoreSorts.keys();
+      Enumeration<String> labels = scoreSorts.keys();
       while (labels.hasMoreElements())
       {
         addSortByAnnotScoreMenuItem(sortByAnnotScore,
-                (String) labels.nextElement());
+                labels.nextElement());
       }
       sortByAnnotScore.setVisible(scoreSorts.size() > 0);
       scoreSorts.clear();
@@ -4154,14 +4158,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
             // No MSAWS used any more:
             // Vector msaws = null; // (Vector)
             // Discoverer.services.get("MsaWS");
-            Vector secstrpr = (Vector) Discoverer.services
+            Vector<ServiceHandle> secstrpr = Discoverer.services
                     .get("SecStrPred");
             if (secstrpr != null)
             {
               // Add any secondary structure prediction services
               for (int i = 0, j = secstrpr.size(); i < j; i++)
               {
-                final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) secstrpr
+                final ext.vamsas.ServiceHandle sh = secstrpr
                         .get(i);
                 jalview.ws.WSMenuEntryProviderI impl = jalview.ws.jws1.Discoverer
                         .getServiceClient(sh);
@@ -4271,7 +4275,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
    * 
    * @param webService
    */
-  private void build_urlServiceMenu(JMenu webService)
+  protected void build_urlServiceMenu(JMenu webService)
   {
     // TODO: remove this code when 2.7 is released
     // DEBUG - alignmentView
index 55b4f28..65c6a5b 100755 (executable)
@@ -62,15 +62,18 @@ import javax.swing.event.ChangeEvent;
 import javax.swing.event.MenuEvent;
 import javax.swing.event.MenuListener;
 
+@SuppressWarnings("serial")
 public class GAlignFrame extends JInternalFrame
 {
   protected JMenuBar alignFrameMenuBar = new JMenuBar();
 
   protected JMenuItem closeMenuItem = new JMenuItem();
 
-  protected JMenu webService = new JMenu();
+  public JMenu webService = new JMenu();// BH 2019 was protected, but not
+                                        // sufficient for AlignFrame thread run
 
-  protected JMenuItem webServiceNoServices;
+  public JMenuItem webServiceNoServices;// BH 2019 was protected, but not
+                                        // sufficient for AlignFrame thread run
 
   protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
 
@@ -78,7 +81,9 @@ public class GAlignFrame extends JInternalFrame
 
   protected JMenu sortByAnnotScore = new JMenu();
 
-  protected JLabel statusBar = new JLabel();
+  public JLabel statusBar = new JLabel(); // BH 2019 was protected, but not
+                                          // sufficient for
+                                          // AlignFrame.printWriter
 
   protected JMenu outputTextboxMenu = new JMenu();
 
@@ -172,7 +177,8 @@ public class GAlignFrame extends JInternalFrame
 
   protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
 
-  protected JTabbedPane tabbedPane = jalview.jbgui.GDesktop.createTabbedPane();
+  protected JTabbedPane tabbedPane = jalview.jbgui.GDesktop
+          .createTabbedPane();
 
   protected JMenuItem reload = new JMenuItem();
 
@@ -199,7 +205,7 @@ public class GAlignFrame extends JInternalFrame
   protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
 
   protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
-  
+
   protected JMenuItem openFeatureSettings;
 
   private SequenceAnnotationOrder annotationSortOrder;
@@ -216,7 +222,7 @@ public class GAlignFrame extends JInternalFrame
     {
 
       // for Web-page embedding using id=align-frame-div
-      setName("align-frame");
+      setName("jalview-alignment");
 
       jbInit();
       setJMenuBar(alignFrameMenuBar);
@@ -1234,8 +1240,8 @@ public class GAlignFrame extends JInternalFrame
     /*
      * Translate as cDNA with sub-menu of translation tables
      */
-    showTranslation.setText(MessageManager
-            .getString("label.translate_cDNA"));
+    showTranslation
+            .setText(MessageManager.getString("label.translate_cDNA"));
     boolean first = true;
     for (final GeneticCodeI table : GeneticCodes.getInstance()
             .getCodeTables())
@@ -1340,7 +1346,8 @@ public class GAlignFrame extends JInternalFrame
         associatedData_actionPerformed(e);
       }
     });
-    loadVcf = new JMenuItem(MessageManager.getString("label.load_vcf_file"));
+    loadVcf = new JMenuItem(
+            MessageManager.getString("label.load_vcf_file"));
     loadVcf.setToolTipText(MessageManager.getString("label.load_vcf"));
     loadVcf.addActionListener(new ActionListener()
     {
index b6408b8..315c2f7 100755 (executable)
@@ -42,6 +42,7 @@ import javax.swing.JMenuItem;
  * @author $author$
  * @version $Revision$
  */
+@SuppressWarnings("serial")
 public class GDesktop extends JFrame
 {
 
@@ -168,7 +169,7 @@ public class GDesktop extends JFrame
    */
   private void jbInit() throws Exception
   {
-
+    setName("jalview-desktop");
     FileMenu.setText(MessageManager.getString("action.file"));
     HelpMenu.setText(MessageManager.getString("action.help"));
     VamsasMenu.setText("Vamsas");
index 60f5436..e0bec25 100644 (file)
@@ -22,6 +22,7 @@ package jalview.jbgui;
 
 import javax.swing.JInternalFrame;
 
+@SuppressWarnings("serial")
 public class GRnaStructureViewer extends JInternalFrame
 {
   public GRnaStructureViewer()
@@ -37,6 +38,8 @@ public class GRnaStructureViewer extends JInternalFrame
 
   private void jbInit() throws Exception
   {
+    
+    setName("jalview-rnastructureviewer");
 
   }
 
index fd25116..3e04f03 100644 (file)
@@ -57,6 +57,7 @@ public class GSplitFrame extends JInternalFrame
    */
   public GSplitFrame(GAlignFrame top, GAlignFrame bottom)
   {
+    setName("jalview-splitframe");
     this.topFrame = top;
     this.bottomFrame = bottom;
 
index 97cdf12..dfee3e2 100644 (file)
@@ -38,6 +38,7 @@ import javax.swing.JMenuItem;
 import javax.swing.JPanel;
 import javax.swing.JRadioButtonMenuItem;
 
+@SuppressWarnings("serial")
 public abstract class GStructureViewer extends JInternalFrame
         implements JalviewStructureDisplayI, ColourChangeListener
 {
@@ -87,6 +88,9 @@ public abstract class GStructureViewer extends JInternalFrame
 
   private void jbInit() throws Exception
   {
+
+    setName("jalview-structureviewer");
+
     JMenuBar menuBar = new JMenuBar();
     this.setJMenuBar(menuBar);
 
index 150640f..d184e76 100755 (executable)
@@ -37,6 +37,7 @@ import javax.swing.JScrollPane;
 import javax.swing.event.MenuEvent;
 import javax.swing.event.MenuListener;
 
+@SuppressWarnings("serial")
 public class GTreePanel extends JInternalFrame
 {
   BorderLayout borderLayout1 = new BorderLayout();
@@ -91,6 +92,7 @@ public class GTreePanel extends JInternalFrame
 
   private void jbInit() throws Exception
   {
+    setName("jalview-tree");
     this.getContentPane().setLayout(borderLayout1);
     this.setBackground(Color.white);
     this.setFont(new java.awt.Font("Verdana", 0, 12));
@@ -99,6 +101,7 @@ public class GTreePanel extends JInternalFrame
     saveAsNewick.setText(MessageManager.getString("label.newick_format"));
     saveAsNewick.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         saveAsNewick_actionPerformed(e);
@@ -107,6 +110,7 @@ public class GTreePanel extends JInternalFrame
     printMenu.setText(MessageManager.getString("action.print"));
     printMenu.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         printMenu_actionPerformed(e);
@@ -115,15 +119,18 @@ public class GTreePanel extends JInternalFrame
     viewMenu.setText(MessageManager.getString("action.view"));
     viewMenu.addMenuListener(new MenuListener()
     {
+      @Override
       public void menuSelected(MenuEvent e)
       {
         viewMenu_menuSelected();
       }
 
+      @Override
       public void menuDeselected(MenuEvent e)
       {
       }
 
+      @Override
       public void menuCanceled(MenuEvent e)
       {
       }
@@ -132,6 +139,7 @@ public class GTreePanel extends JInternalFrame
             MessageManager.getString("label.sort_alignment_by_tree"));
     sortAssocViews.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         sortByTree_actionPerformed();
@@ -140,6 +148,7 @@ public class GTreePanel extends JInternalFrame
     font.setText(MessageManager.getString("action.font"));
     font.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         font_actionPerformed(e);
@@ -149,6 +158,7 @@ public class GTreePanel extends JInternalFrame
             MessageManager.getString("label.show_bootstrap_values"));
     bootstrapMenu.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         bootstrapMenu_actionPerformed(e);
@@ -157,6 +167,7 @@ public class GTreePanel extends JInternalFrame
     distanceMenu.setText(MessageManager.getString("label.show_distances"));
     distanceMenu.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         distanceMenu_actionPerformed(e);
@@ -166,6 +177,7 @@ public class GTreePanel extends JInternalFrame
     fitToWindow.setText(MessageManager.getString("label.fit_to_window"));
     fitToWindow.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         fitToWindow_actionPerformed(e);
@@ -174,6 +186,7 @@ public class GTreePanel extends JInternalFrame
     epsTree.setText("EPS");
     epsTree.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         writeTreeImage(TYPE.EPS);
@@ -182,6 +195,7 @@ public class GTreePanel extends JInternalFrame
     pngTree.setText("PNG");
     pngTree.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         writeTreeImage(TYPE.PNG);
@@ -194,6 +208,7 @@ public class GTreePanel extends JInternalFrame
             MessageManager.getString("label.mark_unlinked_leaves"));
     placeholdersMenu.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         placeholdersMenu_actionPerformed(e);
@@ -202,6 +217,7 @@ public class GTreePanel extends JInternalFrame
     textbox.setText(MessageManager.getString("label.out_to_textbox"));
     textbox.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         textbox_actionPerformed(e);
@@ -210,6 +226,7 @@ public class GTreePanel extends JInternalFrame
     originalSeqData.setText(MessageManager.getString("label.input_data"));
     originalSeqData.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         originalSeqData_actionPerformed(e);
index 118269a..d80e3de 100644 (file)
@@ -415,6 +415,8 @@ public class Platform
      *            if (key.indexOf(prefix) == 0) { value = "" + info[key];
      */
 
+    System.out.println(
+            "Platform id=" + id + " reading Info." + key + " = " + value);
     p.put(id + "_" + key, value);
 
     /**
index ea883c8..bee9fad 100644 (file)
@@ -23,6 +23,7 @@ package jalview.ws.jws1;
 import jalview.gui.JvOptionPane;
 import jalview.util.MessageManager;
 
+import java.net.URL;
 import java.util.Hashtable;
 import java.util.StringTokenizer;
 import java.util.Vector;
@@ -111,21 +112,20 @@ public class Discoverer implements Runnable
 
   static private java.net.URL RootServiceURL = null;
 
-  static public Vector ServiceURLList = null;
+  static public Vector<URL> ServiceURLList = null;
 
   static private boolean reallyDiscoverServices = true;
 
-  public static java.util.Hashtable services = null; // vectors of services
-
+  public static java.util.Hashtable<String, Vector<ServiceHandle>> services = null;
   // stored by
   // abstractServiceType
   // string
 
-  public static java.util.Vector serviceList = null; // flat list of services
+  public static java.util.Vector<ServiceHandle> serviceList = null;
 
-  static private Vector getDiscoveryURLS()
+  static private Vector<URL> getDiscoveryURLS()
   {
-    Vector urls = new Vector();
+    Vector<URL> urls = new Vector<>();
     String RootServiceURLs = jalview.bin.Cache.getDefault("DISCOVERY_URLS",
             "http://www.compbio.dundee.ac.uk/JalviewWS/services/ServiceRegistry");
 
@@ -189,7 +189,7 @@ public class Discoverer implements Runnable
       else
       {
         jalview.bin.Cache.log.debug("Setting default services");
-        services = new Hashtable();
+        services = new Hashtable<>();
         // Muscle, Clustal and JPred.
         ServiceHandle[] defServices = { new ServiceHandle("MsaWS",
                 "Edgar, Robert C. (2004), MUSCLE: multiple sequence alignment "
@@ -217,8 +217,8 @@ public class Discoverer implements Runnable
                             + "\ndoi://10.1093/nar/gkv332",
                     "http://www.compbio.dundee.ac.uk/JalviewWS/services/jpred",
                     "JPred Secondary Structure Prediction") };
-        services = new Hashtable();
-        serviceList = new Vector();
+        services = new Hashtable<>();
+        serviceList = new Vector<>();
         buildServiceLists(defServices, serviceList, services);
       }
 
@@ -284,8 +284,9 @@ public class Discoverer implements Runnable
    *          Hashtable
    * @return boolean
    */
-  static private boolean buildServiceLists(ServiceHandle[] sh, Vector cat,
-          Hashtable sscat)
+  static private boolean buildServiceLists(ServiceHandle[] sh,
+          Vector<ServiceHandle> cat,
+          Hashtable<String, Vector<ServiceHandle>> sscat)
   {
     boolean seenNewDiscovery = false;
     for (int i = 0, j = sh.length; i < j; i++)
@@ -297,11 +298,11 @@ public class Discoverer implements Runnable
                 + sh[i].getEndpointURL() + "\n");
         if (!sscat.containsKey(sh[i].getAbstractName()))
         {
-          sscat.put(sh[i].getAbstractName(), cat = new Vector());
+          sscat.put(sh[i].getAbstractName(), cat = new Vector<>());
         }
         else
         {
-          cat = (Vector) sscat.get(sh[i].getAbstractName());
+          cat = sscat.get(sh[i].getAbstractName());
         }
         cat.add(sh[i]);
         if (sh[i].getAbstractName().equals("Registry"))
@@ -334,8 +335,8 @@ public class Discoverer implements Runnable
 
   public void discoverServices()
   {
-    Hashtable sscat = new Hashtable();
-    Vector cat = new Vector();
+    Hashtable<String, Vector<ServiceHandle>> sscat = new Hashtable<>();
+    Vector<ServiceHandle> cat = new Vector<>();
     ServiceHandle sh[] = null;
     int s_url = 0;
     if (ServiceURLList == null)
@@ -347,7 +348,7 @@ public class Discoverer implements Runnable
     while (s_url < ServiceURLList.size())
     {
       if ((sh = getServices(
-              (java.net.URL) ServiceURLList.get(s_url))) != null)
+              ServiceURLList.get(s_url))) != null)
       {
 
         buildServiceLists(sh, cat, sscat);
@@ -365,7 +366,7 @@ public class Discoverer implements Runnable
     // so no need to access original discovery thread.
     // Curent decision is to change properties then notify listeners with old
     // and new values.
-    Hashtable oldServices = services;
+    Hashtable<String, Vector<ServiceHandle>> oldServices = services;
     // Vector oldServicelist = serviceList;
     services = sscat;
     serviceList = cat;
@@ -384,7 +385,7 @@ public class Discoverer implements Runnable
       @Override
       public void run()
       {
-        discoverer.doDiscovery();
+        Discoverer.doDiscovery();
         discoverer.discoverServices();
       }
     };
@@ -394,19 +395,19 @@ public class Discoverer implements Runnable
   /**
    * binding service abstract name to handler class
    */
-  private static Hashtable serviceClientBindings;
+  private static Hashtable<String, WS1Client> serviceClientBindings;
 
   public static WS1Client getServiceClient(ServiceHandle sh)
   {
     if (serviceClientBindings == null)
     {
       // get a list from Config or create below
-      serviceClientBindings = new Hashtable();
+      serviceClientBindings = new Hashtable<>();
       serviceClientBindings.put("MsaWS", new MsaWSClient());
       serviceClientBindings.put("SecStrPred", new JPredClient());
       serviceClientBindings.put("SeqSearch", new SeqSearchWSClient());
     }
-    WS1Client instance = (WS1Client) serviceClientBindings
+    WS1Client instance = serviceClientBindings
             .get(sh.getAbstractName());
     if (instance == null)
     {