X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjavascript%2FMouseOverStructureListener.java;h=6d366d067d319d931abfdff979911806d9931f0f;hb=799c26111d6936a2e70cb5f1fd7d7312311e6db9;hp=88fba0284f1ecfd91c8d575bd27f80ad7c41142c;hpb=6f2610ec4d7a79dde17f9b3d02225c62aa52cfd8;p=jalview.git diff --git a/src/jalview/javascript/MouseOverStructureListener.java b/src/jalview/javascript/MouseOverStructureListener.java index 88fba02..6d366d0 100644 --- a/src/jalview/javascript/MouseOverStructureListener.java +++ b/src/jalview/javascript/MouseOverStructureListener.java @@ -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() { @@ -260,7 +222,7 @@ public class MouseOverStructureListener extends JSFunctionExec implements ArrayList pdbfn = new ArrayList(); StructureMappingcommandSet[] colcommands = JmolCommands .getColourBySequenceCommand(ssm, modelSet, sequence, sr, fr, - ((AlignmentViewPanel) source).getAlignment()); + ((AlignmentViewPanel) source).getAlignViewport()); if (colcommands == null) { return; @@ -336,7 +298,8 @@ public class MouseOverStructureListener extends JSFunctionExec implements return _listenerfn; } - public void finalise() + @Override + public void finalize() throws Throwable { jvlite = null; super.finalize();