X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FCache.java;h=9dcc949ee84d8b111e81d0964b0496d31d9f4aca;hb=8fa69554edf6aeb278b4a4afd8e2b60264fdccd8;hp=888dc29fe26b35fed85617874008732db87b7ef7;hpb=26b115b0a77d521da92a06572d9b7819c2d0d49a;p=jalview.git
diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java
index 888dc29..9dcc949 100755
--- a/src/jalview/bin/Cache.java
+++ b/src/jalview/bin/Cache.java
@@ -115,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
@@ -135,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
@@ -227,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
*/
@@ -287,8 +278,9 @@ public class Cache
/** Default file is ~/.jalview_properties */
static String propertiesFile;
- private static boolean propsAreReadOnly = /** @j2sNative true || */
- false;
+ private static boolean propsAreReadOnly = Platform.isJS();
+
+ private final static String JS_PROPERTY_PREFIX = "jalview_";
public static void initLogger()
{
@@ -341,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";
@@ -352,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;
+ System.out.println("Error reading properties file: " + ex);
}
- if (fis == null)
- {
- fis = new FileInputStream(propertiesFile);
- }
- 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", ""),
@@ -397,59 +396,57 @@ public class Cache
}
// LOAD THE AUTHORS FROM THE authors.props file
- boolean ignore = Platform.isJS();
- if (!ignore)
+ 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);
- ignore = true;
+ authorDetails = null;
}
-
- if (ignore) {
+ 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
- // BH 2019.01.25 switching to Platform.isJS()
- ignore = Platform.isJS();
- if (!ignore)
- 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)
- {
- System.out.println("Error reading build details: " + ex);
- ignore = true;
+ 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 (ignore) {
+ if (buildDetails == null)
+ {
applicationProperties.remove("VERSION");
}
-
String jnlpVersion = System.getProperty("jalview.version");
String codeVersion = getProperty("VERSION");
String codeInstallation = getProperty("INSTALLATION");
@@ -575,6 +572,7 @@ public class Cache
false);
}
+
private static void deleteBuildProperties()
{
applicationProperties.remove("LATEST_VERSION");
@@ -597,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;
}
/**
@@ -616,6 +620,24 @@ public class Cache
return def;
}
+ public static int getDefault(String property, int def)
+ {
+ String string = getProperty(property);
+ if (string != null)
+ {
+ try
+ {
+ def = Integer.parseInt(string);
+ } catch (NumberFormatException e)
+ {
+ System.out.println("Error parsing int property '" + property
+ + "' with value '" + string + "'");
+ }
+ }
+
+ return def;
+ }
+
/**
* Answers the value of the given property, or the supplied default value if
* the property is not set