JAL-2430 colour columns hidden in alignment gray on structure
[jalview.git] / src / jalview / javascript / MouseOverStructureListener.java
index 176c881..6d366d0 100644 (file)
@@ -32,10 +32,8 @@ import jalview.structure.StructureListener;
 import jalview.structure.StructureMapping;
 import jalview.structure.StructureMappingcommandSet;
 import jalview.structure.StructureSelectionManager;
+import jalview.util.HttpUtils;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -105,7 +103,7 @@ public class MouseOverStructureListener extends JSFunctionExec implements
   public String resolveModelFile(String file)
   {
     // TODO reuse JalviewLite.LoadingThread.addProtocol instead
-    if (isValidUrl(file))
+    if (HttpUtils.isValidUrl(file))
     {
       return file;
     }
@@ -113,13 +111,13 @@ public class MouseOverStructureListener extends JSFunctionExec implements
     String db = jvlite.getDocumentBase().toString();
     db = db.substring(0, db.lastIndexOf("/"));
     String docBaseFile = db + "/" + file;
-    if (isValidUrl(docBaseFile))
+    if (HttpUtils.isValidUrl(docBaseFile))
     {
       return docBaseFile;
     }
 
     String cb = jvlite.getCodeBase() + file;
-    if (isValidUrl(cb))
+    if (HttpUtils.isValidUrl(cb))
     {
       return cb;
     }
@@ -127,43 +125,6 @@ public class MouseOverStructureListener extends JSFunctionExec implements
     return file;
   }
 
-  /**
-   * Returns true if it is possible to open an input stream at the given URL,
-   * else false. The input stream is closed.
-   * 
-   * @param file
-   * @return
-   */
-  private boolean isValidUrl(String file)
-  {
-    InputStream is = null;
-    try
-    {
-      is = new URL(file).openStream();
-      if (is != null)
-      {
-        return true;
-      }
-    } catch (IOException x)
-    {
-      // MalformedURLException, FileNotFoundException
-      return false;
-    } finally
-    {
-      if (is != null)
-      {
-        try
-        {
-          is.close();
-        } catch (IOException e)
-        {
-          // ignore
-        }
-      }
-    }
-    return false;
-  }
-
   @Override
   public String[] getPdbFile()
   {
@@ -261,7 +222,7 @@ public class MouseOverStructureListener extends JSFunctionExec implements
       ArrayList<String> pdbfn = new ArrayList<String>();
       StructureMappingcommandSet[] colcommands = JmolCommands
               .getColourBySequenceCommand(ssm, modelSet, sequence, sr, fr,
-                      ((AlignmentViewPanel) source).getAlignment());
+                      ((AlignmentViewPanel) source).getAlignViewport());
       if (colcommands == null)
       {
         return;
@@ -337,7 +298,8 @@ public class MouseOverStructureListener extends JSFunctionExec implements
     return _listenerfn;
   }
 
-  public void finalise()
+  @Override
+  public void finalize() throws Throwable
   {
     jvlite = null;
     super.finalize();