JAL-2089 patch broken merge to master for Release 2.10.0b1
[jalview.git] / src / jalview / javascript / MouseOverStructureListener.java
index 88fba02..4f833bc 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;
 
@@ -96,15 +94,16 @@ public class MouseOverStructureListener extends JSFunctionExec implements
   }
 
   /**
-   * Returns the first of file, file prefixed by document base, file prefixed by
-   * codebase which can be resolved to a valid URL. If none can, returns the
-   * input parameter value.
+   * Returns the first out of: file, file prefixed by document base, or file
+   * prefixed by codebase which can be resolved to a valid URL. If none can,
+   * returns the input parameter value.
    * 
    * @param file
    */
   public String resolveModelFile(String file)
   {
-    if (isValidUrl(file))
+    // TODO reuse JalviewLite.LoadingThread.addProtocol instead
+    if (HttpUtils.isValidUrl(file))
     {
       return file;
     }
@@ -112,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;
     }
@@ -126,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()
   {
@@ -336,7 +298,7 @@ public class MouseOverStructureListener extends JSFunctionExec implements
     return _listenerfn;
   }
 
-  public void finalise()
+  public void finalize() throws Throwable
   {
     jvlite = null;
     super.finalize();