X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FCache.java;h=9dcc949ee84d8b111e81d0964b0496d31d9f4aca;hb=8fa69554edf6aeb278b4a4afd8e2b60264fdccd8;hp=aa156bf243d8d35ae717d2e81967aeda621c81d0;hpb=1aa00eba1b3b8a8cfed866141d5f83bf56ee06e7;p=jalview.git diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java index aa156bf..9dcc949 100755 --- a/src/jalview/bin/Cache.java +++ b/src/jalview/bin/Cache.java @@ -28,6 +28,7 @@ import jalview.schemes.UserColourScheme; import jalview.structure.StructureImportSettings; import jalview.urls.IdOrgSettings; import jalview.util.ColorUtils; +import jalview.util.Platform; import jalview.ws.sifts.SiftsSettings; import java.awt.Color; @@ -114,7 +115,6 @@ import org.apache.log4j.SimpleLayout; * service *
  • USAGESTATS (false - user prompted) Enable google analytics tracker for * collecting usage statistics
  • - *
  • DAS_LOCAL_SOURCE list of local das sources
  • *
  • SHOW_OVERVIEW boolean for overview window display
  • *
  • ANTI_ALIAS boolean for smooth fonts
  • *
  • RIGHT_ALIGN_IDS boolean
  • @@ -134,9 +134,7 @@ import org.apache.log4j.SimpleLayout; * sequence id (must be in SEQUENCE_LINKS or STORED_LINKS) *
  • GROUP_LINKS list of name|URL[|<separator>] tuples - see * jalview.utils.GroupURLLink for more info
  • - *
  • DAS_REGISTRY_URL the registry to query
  • *
  • DEFAULT_BROWSER for unix
  • - *
  • DAS_ACTIVE_SOURCE list of active sources
  • *
  • SHOW_MEMUSAGE boolean show memory usage and warning indicator on desktop * (false)
  • *
  • VERSION_CHECK (true) check for the latest release version from @@ -226,12 +224,6 @@ public class Cache */ public static final String JALVIEWLOGLEVEL = "logs.Jalview.level"; - public static final String DAS_LOCAL_SOURCE = "DAS_LOCAL_SOURCE"; - - public static final String DAS_REGISTRY_URL = "DAS_REGISTRY_URL"; - - public static final String DAS_ACTIVE_SOURCE = "DAS_ACTIVE_SOURCE"; - /** * Sifts settings */ @@ -286,7 +278,9 @@ public class Cache /** Default file is ~/.jalview_properties */ static String propertiesFile; - private static boolean propsAreReadOnly = false; + private static boolean propsAreReadOnly = Platform.isJS(); + + private final static String JS_PROPERTY_PREFIX = "jalview_"; public static void initLogger() { @@ -339,7 +333,7 @@ public class Cache public static void loadProperties(String propsFile) { propertiesFile = propsFile; - if (propsFile == null) + if (propsFile == null && !propsAreReadOnly) { propertiesFile = System.getProperty("user.home") + File.separatorChar + ".jalview_properties"; @@ -350,38 +344,45 @@ public class Cache propsAreReadOnly = true; } - try + if (propertiesFile == null) + { // BH 2019 + Platform.readInfoProperties(JS_PROPERTY_PREFIX, + applicationProperties); + } + else { - InputStream fis; try { - fis = new java.net.URL(propertiesFile).openStream(); - System.out.println( - "Loading jalview properties from : " + propertiesFile); - System.out.println( - "Disabling Jalview writing to user's local properties file."); - propsAreReadOnly = true; + InputStream fis; + try + { + fis = new java.net.URL(propertiesFile).openStream(); + System.out.println( + "Loading jalview properties from : " + propertiesFile); + System.out.println( + "Disabling Jalview writing to user's local properties file."); + propsAreReadOnly = true; + + } catch (Exception ex) + { + fis = null; + } + if (fis == null) + { + fis = new FileInputStream(propertiesFile); + } + applicationProperties.clear(); + applicationProperties.load(fis); + // remove any old build properties + + deleteBuildProperties(); + fis.close(); } catch (Exception ex) { - fis = null; - } - if (fis == null) - { - fis = new FileInputStream(propertiesFile); + System.out.println("Error reading properties file: " + ex); } - applicationProperties.clear(); - applicationProperties.load(fis); - - // remove any old build properties - - deleteBuildProperties(); - fis.close(); - } catch (Exception ex) - { - System.out.println("Error reading properties file: " + ex); } - if (getDefault("USE_PROXY", false)) { String proxyServer = getDefault("PROXY_SERVER", ""), @@ -395,45 +396,57 @@ public class Cache } // LOAD THE AUTHORS FROM THE authors.props file + String authorDetails = (Platform.isJS() ? null + : "jar:".concat(Cache.class.getProtectionDomain() + .getCodeSource().getLocation().toString() + .concat("!/authors.props"))); + try { - String authorDetails = "jar:" - .concat(Cache.class.getProtectionDomain().getCodeSource() - .getLocation().toString().concat("!/authors.props")); - - java.net.URL localJarFileURL = new java.net.URL(authorDetails); - - InputStream in = localJarFileURL.openStream(); - applicationProperties.load(in); - in.close(); + if (authorDetails != null) + { + java.net.URL localJarFileURL = new java.net.URL(authorDetails); + InputStream in = localJarFileURL.openStream(); + applicationProperties.load(in); + in.close(); + } } catch (Exception ex) { System.out.println("Error reading author details: " + ex); - applicationProperties.remove("AUTHORS"); - applicationProperties.remove("AUTHORFNAMES"); - applicationProperties.remove("YEAR"); + authorDetails = null; + } + if (authorDetails == null) + { + applicationProperties.remove("AUTHORS"); + applicationProperties.remove("AUTHORFNAMES"); + applicationProperties.remove("YEAR"); } // FIND THE VERSION NUMBER AND BUILD DATE FROM jalview.jar // MUST FOLLOW READING OF LOCAL PROPERTIES FILE AS THE // VERSION MAY HAVE CHANGED SINCE LAST USING JALVIEW - try + String buildDetails = (Platform.isJS() ? null + : "jar:".concat(Cache.class.getProtectionDomain() + .getCodeSource().getLocation().toString() + .concat("!/.build_properties"))); + if (buildDetails != null) { - String buildDetails = "jar:".concat(Cache.class.getProtectionDomain() - .getCodeSource().getLocation().toString() - .concat("!/.build_properties")); - - java.net.URL localJarFileURL = new java.net.URL(buildDetails); - - InputStream in = localJarFileURL.openStream(); - applicationProperties.load(in); - in.close(); - } catch (Exception ex) + try + { + java.net.URL localJarFileURL = new java.net.URL(buildDetails); + InputStream in = localJarFileURL.openStream(); + applicationProperties.load(in); + in.close(); + } catch (Exception ex) + { + System.out.println("Error reading build details: " + ex); + buildDetails = null; + } + } + if (buildDetails == null) { - System.out.println("Error reading build details: " + ex); - applicationProperties.remove("VERSION"); + applicationProperties.remove("VERSION"); } - String jnlpVersion = System.getProperty("jalview.version"); String codeVersion = getProperty("VERSION"); String codeInstallation = getProperty("INSTALLATION"); @@ -559,6 +572,7 @@ public class Cache false); } + private static void deleteBuildProperties() { applicationProperties.remove("LATEST_VERSION"); @@ -581,7 +595,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; } /** @@ -619,18 +639,13 @@ public class Cache } /** - * These methods are used when checking if the saved preference is different - * to the default setting + * Answers the value of the given property, or the supplied default value if + * the property is not set */ public static String getDefault(String property, String def) { - String string = getProperty(property); - if (string != null) - { - return string; - } - - return def; + String value = getProperty(property); + return value == null ? def : value; } /** @@ -1072,4 +1087,19 @@ public class Cache } } } + + /** + * Add a known domain that implements access-control-allow-origin:* bh 2018 + * + * @param defaultUniprotDomain + */ + public static void addJ2SDirectDatabaseCall(String domain) + { + + /** + * @j2sNative + * + * J2S.addDirectDatabaseCall(domain); + */ + } }