- public static String VERSION = "ß test";\r
- public static String BUILD_DATE = "1-1-2005";\r
-\r
- public static Properties applicationProperties;\r
- // Current properties include:\r
- //\r
- // LAST_DIRECTORY , use this to cache record of where the user looked to find a file\r
- // UNIPROT_CACHE\r
- // USER_DEFINED_COLOUR - file describing last user set colours\r
- // FONT_NAME\r
- // FONT_STYLE\r
- // FONT_SIZE\r
- // logs.Axis.Level - one of the stringified Levels for log4j controlling the logging level for axis (used for web services)\r
-\r
- public static void loadProperties()\r
- {\r
- // get last build time.\r
- try{\r
- long date = 0;\r
-\r
- String localFile = Cache.class.getProtectionDomain().getCodeSource().getLocation().toString();\r
- localFile = localFile.concat("!/");\r
- String tmpString = "jar:";\r
- String localJarFileString = tmpString.concat(localFile);\r
- java.net.URL localJarFileURL = new java.net.URL(localJarFileString);\r
- java.net.JarURLConnection localJarFile = (java.net.JarURLConnection)localJarFileURL.openConnection();\r
-\r
- date = localJarFile.getLastModified();\r
-\r
- if(date==0)\r
+ /**\r
+ * Initialises the Apache Axis logger\r
+ */\r
+ public static Logger log;\r
+\r
+ /** Jalview Properties */\r
+ public static Properties applicationProperties = new Properties();\r
+\r
+ /** Default file is ~/.jalview_properties */\r
+ static String propertiesFile;\r
+\r
+ public static void initLogger()\r
+ {\r
+ try\r
+ {\r
+ Logger laxis = Logger.getLogger("org.apache.axis");\r
+ Logger lcastor = Logger.getLogger("org.exolab.castor");\r
+ jalview.bin.Cache.log = Logger.getLogger("jalview.bin.Jalview");\r
+\r
+ laxis.setLevel(Level.toLevel(Cache.getDefault("logs.Axis.Level",\r
+ Level.INFO.toString())));\r
+ lcastor.setLevel(Level.toLevel(Cache.getDefault("logs.Castor.Level",\r
+ Level.INFO.toString())));\r
+ jalview.bin.Cache.log.setLevel(Level.toLevel(Cache.getDefault(\r
+ "logs.Jalview.level",\r
+ Level.INFO.toString())));\r
+ ConsoleAppender ap = new ConsoleAppender(new SimpleLayout(),\r
+ "System.err");\r
+ ap.setName("JalviewLogger");\r
+\r
+ laxis.addAppender(ap);\r
+ lcastor.addAppender(ap);\r
+ jalview.bin.Cache.log.addAppender(ap);\r
+ // Tell the user that debug is enabled\r
+ jalview.bin.Cache.log.debug("Jalview Debugging Output Follows.");\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ System.err.println("Problems initializing the log4j system\n");\r
+ }\r
+ }\r
+\r
+\r
+ /** Called when Jalview is started */\r
+ public static void loadProperties(String propsFile)\r
+ {\r
+ propertiesFile = propsFile;\r
+ if (propsFile == null)\r
+ {\r
+ propertiesFile = System.getProperty("user.home") + "/.jalview_properties";\r
+ }\r
+\r
+ try\r
+ {\r
+ FileInputStream fis = new FileInputStream(propertiesFile);\r
+ applicationProperties.load(fis);\r
+ applicationProperties.remove("LATEST_VERSION");\r
+ applicationProperties.remove("VERSION");\r
+ fis.close();\r
+ }\r
+ catch (Exception ex)\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
+ try\r
+ {\r
+ String buildDetails = "jar:"\r
+ .concat(\r
+ Cache.class.getProtectionDomain().getCodeSource().getLocation().toString()\r
+ .concat("!/.build_properties")\r
+ );\r
+\r
+ java.net.URL localJarFileURL = new java.net.URL(buildDetails);\r
+\r
+ InputStream in = localJarFileURL.openStream();\r
+ applicationProperties.load(in);\r
+ in.close();\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ System.out.println("Error reading build details: "+ex);\r
+ applicationProperties.remove("VERSION");\r
+ }\r
+\r
+ String jnlpVersion = System.getProperty("jalview.version");\r
+ String codeVersion = getProperty("VERSION");\r
+\r
+\r
+ if(codeVersion==null)\r
+ {\r
+ // THIS SHOULD ONLY BE THE CASE WHEN TESTING!!\r
+ codeVersion = "Test";\r
+ jnlpVersion = "Test";\r
+ }\r
+\r
+\r
+ System.out.println("Jalview Version: "+codeVersion);\r
+\r
+\r
+ // jnlpVersion will be null if we're using InstallAnywhere\r
+ // Dont do this check if running in headless mode\r
+ if(jnlpVersion==null && (\r
+ System.getProperty("java.awt.headless")==null\r
+ || System.getProperty("java.awt.headless").equals("false")))\r
+ {\r
+\r
+ class VersionChecker\r
+ extends Thread\r