ModellerOutput set in preferences
[jalview.git] / src / jalview / bin / Cache.java
index d5757df..eb503d5 100755 (executable)
@@ -22,7 +22,10 @@ import java.io.*;
 \r
 import java.util.*;\r
 \r
-import java.net.*;\r
+import org.apache.log4j.Logger;\r
+import org.apache.log4j.SimpleLayout;\r
+import org.apache.log4j.Level;\r
+import org.apache.log4j.ConsoleAppender;\r
 \r
 \r
 /**\r
@@ -30,6 +33,9 @@ import java.net.*;
  * <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>logs.Jalview.Level - Cache.log stringified level.\r
+ * <br>DISCOVERY_START - Boolean - controls if discovery services are queried on startup\r
+ * <br>DISCOVERY_URLS - comma separated list of Discovery Service endpoints.\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
@@ -40,6 +46,10 @@ import java.net.*;
  */\r
 public class Cache\r
 {\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
@@ -47,6 +57,38 @@ public class Cache
     /** 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
@@ -112,7 +154,8 @@ public class Cache
         }\r
 \r
 \r
-        System.out.println("Version: "+codeVersion);\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
@@ -121,7 +164,6 @@ public class Cache
              || System.getProperty("java.awt.headless").equals("false")))\r
         {\r
 \r
-\r
           class VersionChecker\r
               extends Thread\r
           {\r
@@ -161,10 +203,17 @@ public class Cache
         }\r
         else\r
         {\r
-          setProperty("LATEST_VERSION", jnlpVersion);\r
+          if(jnlpVersion!=null)\r
+            setProperty("LATEST_VERSION", jnlpVersion);\r
+          else\r
+          applicationProperties.remove("LATEST_VERSION");\r
         }\r
 \r
         setProperty("VERSION", codeVersion);\r
+\r
+        //LOAD USERDEFINED COLOURS\r
+        jalview.gui.UserDefinedColours.initUserColourSchemes( getProperty("USER_DEFINED_COLOURS"));\r
+        jalview.io.PIRFile.useModellerOutput = Cache.getDefault("PIR_MODELLER", false);\r
     }\r
 \r
 \r
@@ -231,7 +280,7 @@ public class Cache
             out.close();\r
         }\r
         catch (Exception ex)\r
-        {    }\r
+        {   System.out.println("Error setting property: "+key+" "+obj+"\n"+ex);   }\r
         return obj;\r
     }\r
 \r
@@ -244,6 +293,6 @@ public class Cache
             out.close();\r
         }\r
         catch (Exception ex)\r
-        {    }\r
+        {  System.out.println("Error saving properties: "+ex);  }\r
     }\r
 }\r