/** 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()
{
public static void loadProperties(String propsFile)
{
propertiesFile = propsFile;
- if (propsFile == null)
+ if (propsFile == null && !propsAreReadOnly)
{
propertiesFile = System.getProperty("user.home") + File.separatorChar
+ ".jalview_properties";
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", ""),
}
// 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) {
- applicationProperties.remove("AUTHORS");
- applicationProperties.remove("AUTHORFNAMES");
- applicationProperties.remove("YEAR");
+ 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 = "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)
+ String buildDetails = (Platform.isJS() ? null
+ : "jar:".concat(Cache.class.getProtectionDomain()
+ .getCodeSource().getLocation().toString()
+ .concat("!/.build_properties")));
+ if (buildDetails != null)
{
- 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) {
- applicationProperties.remove("VERSION");
+ if (buildDetails == null)
+ {
+ applicationProperties.remove("VERSION");
}
-
String jnlpVersion = System.getProperty("jalview.version");
String codeVersion = getProperty("VERSION");
String codeInstallation = getProperty("INSTALLATION");
// "DEFAULT_PDB_FILE_PARSER", DEFAULT_PDB_FILE_PARSER));
// jnlpVersion will be null if we're using InstallAnywhere
// Dont do this check if running in headless mode
- if (jnlpVersion == null && getDefault("VERSION_CHECK", true)
- && (System.getProperty("java.awt.headless") == null || System
- .getProperty("java.awt.headless").equals("false")))
+ if (jnlpVersion == null && !Jalview.isHeadlessMode()
+ && getDefault("VERSION_CHECK", true))
{
class VersionChecker extends Thread
false);
}
+
private static void deleteBuildProperties()
{
applicationProperties.remove("LATEST_VERSION");
*/
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;
}
/**
}
}
- /**
- * Add a known domain that implements access-control-allow-origin:* bh 2018
- *
- * @param defaultUniprotDomain
- */
- public static void addJ2SDirectDatabaseCall(String domain)
- {
-
- /**
- * @j2sNative
- *
- * J2S.addDirectDatabaseCall(domain);
- */
- }
}