X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FCache.java;h=216b498ea5b7e49dc0443dc48c6518bc5dc2dbf0;hb=89f5f42442afb17c02f59d3b3c30e2bab314987c;hp=4a83b35c81d95e0b2443caebabe91f514f7da569;hpb=5d501d5230ad1c42f1e17a485cb86a04ba8b538a;p=jalview.git diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java index 4a83b35..216b498 100755 --- a/src/jalview/bin/Cache.java +++ b/src/jalview/bin/Cache.java @@ -370,16 +370,24 @@ public class Cache } /** - * Loads properties from the given properties file. Any existing properties - * are first cleared. + * Loads properties from the given properties file. Any existing properties are + * first cleared. */ public static void loadProperties(String propsFile) { propertiesFile = propsFile; + String releasePropertiesFile = null; + boolean defaultProperties = false; if (propsFile == null && !propsAreReadOnly) { + String channelPrefsFilename = ChannelProperties + .getProperty("preferences.filename"); + String releasePrefsFilename = ".jalview_properties"; propertiesFile = System.getProperty("user.home") + File.separatorChar - + ".jalview_properties"; + + channelPrefsFilename; + releasePropertiesFile = System.getProperty("user.home") + + File.separatorChar + releasePrefsFilename; + defaultProperties = true; } else { @@ -399,20 +407,29 @@ public class Cache InputStream fis; try { + // props file provided as URL fis = new 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); + String readPropertiesFile = propertiesFile; + // if we're using the usual properties file and the channel properties + // file doesn't exist, read .jalview_properties + // (but we'll still save to the channel properties file). + if (defaultProperties && (!new File(propertiesFile).exists()) + && (new File(releasePropertiesFile).exists())) + { + readPropertiesFile = releasePropertiesFile; + } + fis = new FileInputStream(readPropertiesFile); } applicationProperties.clear(); applicationProperties.load(fis); @@ -693,11 +710,10 @@ public class Cache } /** - * Gets Jalview application property of given key. Returns null if key not - * found + * Gets Jalview application property of given key. Returns null if key not found * * @param key - * Name of property + * Name of property * * @return Property value */ @@ -713,8 +729,8 @@ public class Cache } /** - * These methods are used when checking if the saved preference is different - * to the default setting + * These methods are used when checking if the saved preference is different to + * the default setting */ public static boolean getDefault(String property, boolean def) @@ -747,8 +763,8 @@ public class Cache } /** - * Answers the value of the given property, or the supplied default value if - * the property is not set + * 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) { @@ -760,9 +776,9 @@ public class Cache * Stores property in the file "HOME_DIR/.jalview_properties" * * @param key - * Name of object + * Name of object * @param obj - * String value of property + * String value of property * * @return previous value of property (or null) */ @@ -1150,7 +1166,7 @@ public class Cache * Loads in user colour schemes from files. * * @param files - * a '|'-delimited list of file paths + * a '|'-delimited list of file paths */ public static void initUserColourSchemes(String files) { @@ -1459,8 +1475,8 @@ public class Cache // open Preferences -> Connections String message = MessageManager .getString("label.proxy_password_required"); - Preferences.openPreferences(Preferences.CONNECTIONS_TAB, - message); + Preferences.openPreferences( + Preferences.TabRef.CONNECTIONS_TAB, message); Preferences.getInstance() .proxyAuthPasswordCheckHighlight(true, true); }