* <br><br>Current properties include:\r
* <br>logs.Axis.Level - one of the stringified Levels for log4j controlling the logging level for axis (used for web services)\r
* <br>logs.Castor.Level - one of the stringified Levels for log4j controlling the logging level for castor (used for serialization)\r
- * <br>jalview.browser - used in the jalview.utils.browserLauncher class if it doesn't know what else to do.\r
* <br>SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_Y=285,SCREEN_X=371,SHOW_FULLSCREEN\r
* FONT_NAME,FONT_SIZE,FONT_STYLE,GAP_SYMBOL,LAST_DIRECTORY,USER_DEFINED_COLOUR\r
* SHOW_FULL_ID,SHOW_IDENTITY,SHOW_QUALITY,SHOW_ANNOTATIONS,SHOW_CONSERVATION,\r
{\r
\r
/** Jalview Properties */\r
- public static Properties applicationProperties;\r
+ public static Properties applicationProperties = new Properties();\r
\r
/** Default file is ~/.jalview_properties */\r
static String propertiesFile;\r
/** Called when Jalview is started */\r
public static void loadProperties(String propsFile)\r
{\r
- applicationProperties = new Properties();\r
propertiesFile = propsFile;\r
if (propsFile == null)\r
{\r
System.out.println("Error reading properties file: "+ex);\r
}\r
\r
+ if(getDefault("USE_PROXY", false))\r
+ {\r
+ System.out.println("Using proxyServer: "+getDefault("PROXY_SERVER", null)+\r
+ " proxyPort: "+getDefault("PROXY_PORT", null));\r
+ System.setProperty("http.proxyHost", getDefault("PROXY_SERVER", null));\r
+ System.setProperty("http.proxyPort", getDefault("PROXY_PORT", null));\r
+ }\r
+\r
// FIND THE VERSION NUMBER AND BUILD DATE FROM jalview.jar\r
// MUST FOLLOW READING OF LOCAL PROPERTIES FILE AS THE\r
// VERSION MAY HAVE CHANGED SINCE LAST USING JALVIEW\r
System.getProperty("java.awt.headless")==null\r
|| System.getProperty("java.awt.headless").equals("false")))\r
{\r
- try{\r
- java.net.URL url = new java.net.URL("http://www.jalview.org/webstart/jalview.jnlp");\r
- BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));\r
- String line = null;\r
- while( (line = in.readLine()) !=null)\r
- {\r
- if(line.indexOf("jalview.version")==-1)\r
- continue;\r
\r
- line = line.substring(line.indexOf("value=")+7);\r
- line = line.substring(0, line.lastIndexOf("\""));\r
- jnlpVersion = line;\r
- break;\r
+\r
+ class VersionChecker\r
+ extends Thread\r
+ {\r
+ public void run()\r
+ {\r
+ String jnlpVersion = null;\r
+ try\r
+ {\r
+ java.net.URL url = new java.net.URL(\r
+ "http://www.jalview.org/webstart/jalview.jnlp");\r
+ BufferedReader in = new BufferedReader(new InputStreamReader(url.\r
+ openStream()));\r
+ String line = null;\r
+ while ( (line = in.readLine()) != null)\r
+ {\r
+ if (line.indexOf("jalview.version") == -1)\r
+ continue;\r
+\r
+ line = line.substring(line.indexOf("value=") + 7);\r
+ line = line.substring(0, line.lastIndexOf("\""));\r
+ jnlpVersion = line;\r
+ break;\r
+ }\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ System.out.println(ex);\r
+ jnlpVersion = getProperty("VERSION");\r
+ }\r
+\r
+ setProperty("LATEST_VERSION", jnlpVersion);\r
}\r
- }catch(Exception ex)\r
- { jnlpVersion = codeVersion; }\r
+ }\r
\r
- System.out.println("Latest : "+jnlpVersion);\r
+ VersionChecker vc = new VersionChecker();\r
+ vc.start();\r
+ }\r
+ else\r
+ {\r
+ setProperty("LATEST_VERSION", jnlpVersion);\r
}\r
\r
- setProperty("LATEST_VERSION", jnlpVersion);\r
setProperty("VERSION", codeVersion);\r
}\r
\r
+\r
+\r
/**\r
* Gets Jalview application property of given key. Returns null\r
* if key not found\r
return applicationProperties.getProperty(key);\r
}\r
\r
+\r
+ /** These methods are used when checking if the saved preference\r
+ * is different to the default setting\r
+ */\r
+\r
+ public static boolean getDefault(String property, boolean def)\r
+ {\r
+ String string = getProperty(property);\r
+ if (string != null)\r
+ {\r
+ def = Boolean.valueOf(string).booleanValue();\r
+ }\r
+\r
+ return def;\r
+ }\r
+\r
+ /** These methods are used when checking if the saved preference\r
+ * is different to the default setting\r
+ */\r
+ public static String getDefault(String property, String def)\r
+ {\r
+ String string = getProperty(property);\r
+ if (string != null)\r
+ {\r
+ return string;\r
+ }\r
+\r
+ return def;\r
+ }\r
+\r
+\r
/**\r
* Stores property in the file "HOME_DIR/.jalview_properties"\r
*\r
try\r
{\r
FileOutputStream out = new FileOutputStream(propertiesFile);\r
-\r
applicationProperties.setProperty(key, obj);\r
-\r
applicationProperties.store(out, "---JalviewX Properties File---");\r
out.close();\r
}\r
catch (Exception ex)\r
+ { }\r
+ return obj;\r
+ }\r
+\r
+ public static void saveProperties()\r
+ {\r
+ try\r
{\r
+ FileOutputStream out = new FileOutputStream(propertiesFile);\r
+ applicationProperties.store(out, "---JalviewX Properties File---");\r
+ out.close();\r
}\r
-\r
- return obj;\r
+ catch (Exception ex)\r
+ { }\r
}\r
}\r
import javax.swing.*;\r
\r
import java.util.Vector;\r
-import jalview.datamodel.Alignment;\r
-import jalview.io.FormatAdapter;\r
-import jalview.datamodel.SequenceI;\r
\r
\r
/**\r
}\r
\r
\r
- if (aparser.contains("nodisplay"))\r
- System.setProperty("java.awt.headless", "true");\r
-\r
- if( System.getProperty("java.awt.headless") != null\r
- && System.getProperty("java.awt.headless").equals("true"))\r
- {\r
- headless = true;\r
- }\r
+ if (aparser.contains("nodisplay"))\r
+ System.setProperty("java.awt.headless", "true");\r
\r
+ if (System.getProperty("java.awt.headless") != null\r
+ && System.getProperty("java.awt.headless").equals("true"))\r
+ {\r
+ headless = true;\r
+ }\r
\r
Cache.loadProperties(aparser.getValue("props"));\r
- jalview.gui.Preferences.initPreferences();\r
+\r
try\r
{\r
initLogger();\r
try\r
{\r
UIManager.setLookAndFeel(\r
- // "javax.swing.plaf.metal.MetalLookAndFeel"\r
- // "javax.swing.plaf.multi.MultiLookAndFeel"\r
- UIManager.getSystemLookAndFeelClassName());\r
+ UIManager.getSystemLookAndFeelClassName()\r
+ );\r
}\r
catch (Exception ex)\r
{\r
//////////////////////\r
if (\r
!headless &&\r
- jalview.gui.Preferences.showStartupFile &&\r
- jalview.gui.Preferences.startupFile != null)\r
+ jalview.bin.Cache.getProperty("SHOW_STARTUP_FILE").equals("true") &&\r
+ jalview.bin.Cache.getProperty("STARTUP_FILE") != null)\r
{\r
\r
- file = jalview.gui.Preferences.startupFile;\r
+ file = jalview.bin.Cache.getProperty("STARTUP_FILE");\r
protocol = "File";\r
\r
if (file.indexOf("http:") > -1)\r
*/\r
public void updateFromPreferences()\r
{\r
- showFullId = Preferences.showFullId;\r
- showAnnotation = Preferences.showAnnotation;\r
- showConservation = Preferences.showConservation;\r
- showQuality = Preferences.showQuality;\r
- showIdentity = Preferences.showIdentity;\r
- showFullId = Preferences.showFullId;\r
-\r
- String fontName = Preferences.fontName;\r
- String fontStyle = Preferences.fontStyle;\r
- String fontSize = Cache.getProperty("FONT_SIZE");\r
-\r
- if ((fontName != null) && (fontStyle != null) && (fontSize != null))\r
- {\r
- int style = 0;\r
+ showFullId = Cache.getDefault("SHOW_FULL_ID", true);\r
+ showAnnotation = Cache.getDefault("SHOW_ANNOTATIONS", true);\r
+ showConservation = Cache.getDefault("SHOW_CONSERVATION", true);\r
\r
- if (fontStyle.equals("bold"))\r
- {\r
- style = 1;\r
- }\r
- else if (fontStyle.equals("italic"))\r
- {\r
- style = 2;\r
- }\r
+ showQuality = Cache.getDefault("SHOW_QUALITY", true);\r
+ showIdentity = Cache.getDefault("SHOW_IDENTITY", true);\r
\r
- setFont(new Font(fontName, style, Integer.parseInt(fontSize)));\r
- }\r
- else\r
- {\r
- setFont(font);\r
- }\r
+ String fontName = Cache.getDefault("FONT_NAME", "SansSerif");\r
+ String fontStyle = Cache.getDefault("FONT_STYLE", Font.PLAIN + "") ;\r
+ String fontSize = Cache.getDefault("FONT_SIZE", "10");\r
+\r
+ int style = 0;\r
+\r
+ if (fontStyle.equals("bold"))\r
+ {\r
+ style = 1;\r
+ }\r
+ else if (fontStyle.equals("italic"))\r
+ {\r
+ style = 2;\r
+ }\r
+\r
+ setFont(new Font(fontName, style, Integer.parseInt(fontSize)));\r
+\r
+\r
+ alignment.setGapCharacter( Cache.getDefault("GAP_SYMBOL", "-").charAt(0) );\r
\r
- alignment.setGapCharacter(Preferences.gapSymbol);\r
\r
// We must set conservation and consensus before setting colour,\r
// as Blosum and Clustal require this to be done\r
updateConservation();\r
updateConsensus();\r
\r
- if (Preferences.defaultColour != null)\r
+ if (jalview.bin.Cache.getProperty("DEFAULT_COLOUR") != null)\r
{\r
- globalColourScheme = ColourSchemeProperty.getColour(alignment,\r
- Preferences.defaultColour);\r
+ globalColourScheme = ColourSchemeProperty.getColour(alignment,\r
+ jalview.bin.Cache.getProperty("DEFAULT_COLOUR"));\r
\r
if (globalColourScheme instanceof UserColourScheme)\r
{\r
}\r
}\r
\r
+\r
+\r
/**\r
* DOCUMENT ME!\r
*\r