X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FCache.java;h=0744cd9e18b854c37a0f837e297a3794b83ab99c;hb=ab92d7c2f18178bc4ab6584c8dfe657a68e70693;hp=72fec6cfcc3ef064b7e8bf725b6c2f9a86c8b182;hpb=7bc226b58110fa26d9dbd3f0c78095d06909ffc3;p=jalview.git
diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java
index 72fec6c..0744cd9 100755
--- a/src/jalview/bin/Cache.java
+++ b/src/jalview/bin/Cache.java
@@ -25,16 +25,71 @@ import org.apache.log4j.*;
/**
* Stores and retrieves Jalview Application Properties
+ * Lists and fields within list entries are separated by '|' symbols unless otherwise stated
+ * (|) clauses are alternative values for a tag.
*
Current properties include:
+ *
*
logs.Axis.Level - one of the stringified Levels for log4j controlling the logging level for axis (used for web services)
- *
logs.Castor.Level - one of the stringified Levels for log4j controlling the logging level for castor (used for serialization)
- *
logs.Jalview.Level - Cache.log stringified level.
- *
DISCOVERY_START - Boolean - controls if discovery services are queried on startup
- *
DISCOVERY_URLS - comma separated list of Discovery Service endpoints.
- *
SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_Y=285,SCREEN_X=371,SHOW_FULLSCREEN
- * FONT_NAME,FONT_SIZE,FONT_STYLE,GAP_SYMBOL,LAST_DIRECTORY,USER_DEFINED_COLOUR
- * SHOW_FULL_ID,SHOW_IDENTITY,SHOW_QUALITY,SHOW_ANNOTATIONS,SHOW_CONSERVATION,
- * DEFAULT_COLOUR,DEFAULT_FILE_FORMAT,STARTUP_FILE,SHOW_STARTUP_FILE
+ *
+ * - logs.Castor.Level - one of the stringified Levels for log4j controlling the logging level for castor (used for serialization)
+ *
+ * - logs.Jalview.Level - Cache.log stringified level.
+ *
+ * - DISCOVERY_START - Boolean - controls if discovery services are queried on startup
+ *
- DISCOVERY_URLS - comma separated list of Discovery Service endpoints.
+ *
- SCREEN_WIDTH
+ *
- SCREEN_HEIGHT
+ *
- SCREEN_Y=285
+ *
- SCREEN_X=371
+ *
- SHOW_FULLSCREEN boolean
+ *
- FONT_NAME java font name for alignment text display
+ *
- FONT_SIZE size of displayed alignment text
+ *
- FONT_STYLE style of font displayed (sequence labels are always italic)
+ *
- GAP_SYMBOL character to treat as gap symbol (usually -,.,' ')
+ *
- LAST_DIRECTORY last directory for browsing alignment
+ *
- USER_DEFINED_COLOURS list of user defined colour scheme files
+ *
- SHOW_FULL_ID show id with '/start-end' numbers appended
+ *
- SHOW_IDENTITY show percentage identity annotation
+ *
- SHOW_QUALITY show alignment quality annotation
+ *
- SHOW_ANNOTATIONS show alignment annotation rows
+ *
- SHOW_CONSERVATION show alignment conservation annotation
+ *
- CENTRE_COLUMN_LABELS centre the labels at each column in a displayed annotation row
+ *
- DEFAULT_COLOUR default colour scheme to apply for a new alignment
+ *
- DEFAULT_FILE_FORMAT file format used to save
+ *
- STARTUP_FILE file loaded on startup (may be a fully qualified url)
+ *
- SHOW_STARTUP_FILE flag to control loading of startup file
+ *
- VERSION the version of the jalview build
+ *
- BUILD_DATE date of this build
+ *
- LATEST_VERSION the latest jalview version advertised on the www.jalview.org
+ *
- PIR_MODELLER boolean indicating if PIR files are written with MODELLER descriptions
+ *
- (FASTA,MSF,PILEUP,CLUSTAL,BLC,PIR,PFAM)_JVSUFFIX boolean for adding jv suffix to file
+ *
- RECENT_URL list of recently retrieved URLs
+ *
- RECENT_FILE list of recently opened files
+ *
- USE_PROXY flag for whether a http proxy is to be used
+ *
- PROXY_SERVER the proxy
+ *
- PROXY_PORT
+ *
- NOQUESTIONNAIRES true to prevent jalview from checking the questionnaire service
+ *
- QUESTIONNAIRE last questionnaire:responder id string from questionnaire service
+ *
- DAS_LOCAL_SOURCE list of local das sources
+ *
- SHOW_OVERVIEW boolean for overview window display
+ *
- ANTI_ALIAS boolean for smooth fonts
+ *
- RIGHT_ALIGN_IDS boolean
+ *
- AUTO_CALC_CONSENSUS boolean for automatic recalculation of consensus
+ *
- PAD_GAPS boolean
+ *
- ID_ITALICS boolean
+ *
- SHOW_JV_SUFFIX
+ *
- WRAP_ALIGNMENT
+ *
- EPS_RENDERING (Prompt each time|Lineart|Text) default for EPS rendering style check
+ *
- SORT_ALIGNMENT (No sort|Id|Pairwise Identity)
+ *
- SEQUENCE_LINKS list of name|URL pairs for opening a url with $SEQUENCE_ID$
+ *
- DAS_REGISTRY_URL the registry to query
+ *
- DEFAULT_BROWSER for unix
+ *
- DAS_ACTIVE_SOURCE list of active sources
+ *
- SHOW_MEMUSAGE boolean show memory usage and warning indicator on desktop (false)
+ *
-
+ *
+ *
+ *
* @author $author$
* @version $Revision$
@@ -42,7 +97,21 @@ import org.apache.log4j.*;
public class Cache
{
/**
- * Initialises the Apache Axis logger
+ * property giving log4j level for CASTOR loggers
+ */
+ public static final String CASTORLOGLEVEL = "logs.Castor.level";
+ /**
+ * property giving log4j level for AXIS loggers
+ */
+ public static final String AXISLOGLEVEL = "logs.Axis.level";
+ /**
+ * property giving log4j level for Jalview Log
+ */
+ public static final String JALVIEWLOGLEVEL = "logs.Jalview.level";
+ public static final String DAS_LOCAL_SOURCE = "DAS_LOCAL_SOURCE";
+
+ /**
+ * Initialises the Jalview Application Log
*/
public static Logger log;
@@ -56,6 +125,10 @@ public class Cache
{
try
{
+ ConsoleAppender ap = new ConsoleAppender(new SimpleLayout(),
+ "System.err");
+ ap.setName("JalviewLogger");
+ org.apache.log4j.Logger.getRootLogger().addAppender(ap); // catch all for log output
Logger laxis = Logger.getLogger("org.apache.axis");
Logger lcastor = Logger.getLogger("org.exolab.castor");
jalview.bin.Cache.log = Logger.getLogger("jalview.bin.Jalview");
@@ -64,22 +137,25 @@ public class Cache
Level.INFO.toString())));
lcastor.setLevel(Level.toLevel(Cache.getDefault("logs.Castor.Level",
Level.INFO.toString())));
+ lcastor = Logger.getLogger("org.exolab.castor.xml");
+ lcastor.setLevel(Level.toLevel(Cache.getDefault("logs.Castor.Level",
+ Level.INFO.toString())));
+ //lcastor = Logger.getLogger("org.exolab.castor.xml.Marshaller");
+ //lcastor.setLevel(Level.toLevel(Cache.getDefault("logs.Castor.Level",
+ // Level.INFO.toString())));
jalview.bin.Cache.log.setLevel(Level.toLevel(Cache.getDefault(
"logs.Jalview.level",
Level.INFO.toString())));
- ConsoleAppender ap = new ConsoleAppender(new SimpleLayout(),
- "System.err");
- ap.setName("JalviewLogger");
-
- laxis.addAppender(ap);
- lcastor.addAppender(ap);
- jalview.bin.Cache.log.addAppender(ap);
+ //laxis.addAppender(ap);
+ //lcastor.addAppender(ap);
+ //jalview.bin.Cache.log.addAppender(ap);
// Tell the user that debug is enabled
jalview.bin.Cache.log.debug("Jalview Debugging Output Follows.");
}
catch (Exception ex)
{
System.err.println("Problems initializing the log4j system\n");
+ ex.printStackTrace(System.err);
}
}
@@ -162,9 +238,16 @@ public class Cache
{
public void run()
{
+ String orgtimeout = System.getProperty("sun.net.client.defaultConnectTimeout");
+ if (orgtimeout==null)
+ {
+ orgtimeout="30";
+ System.out.println("# INFO: Setting default net timeout to "+orgtimeout+" seconds.");
+ }
String jnlpVersion = null;
try
{
+ System.setProperty("sun.net.client.defaultConnectTimeout", "5000");
java.net.URL url = new java.net.URL(
"http://www.jalview.org/webstart/jalview.jnlp");
BufferedReader in = new BufferedReader(new InputStreamReader(url.
@@ -185,9 +268,11 @@ public class Cache
}
catch (Exception ex)
{
+ System.out.println("Non-fatal exceptions when checking version at www.jalview.org :");
System.out.println(ex);
jnlpVersion = getProperty("VERSION");
}
+ System.setProperty("sun.net.client.defaultConnectTimeout", orgtimeout);
setProperty("LATEST_VERSION", jnlpVersion);
}
@@ -334,5 +419,42 @@ public class Cache
}
return (vamsasJarsArePresent > 0);
}
+ /**
+ * internal vamsas class discovery state
+ */
+ private static int groovyJarsArePresent = -1;
+ /**
+ * Searches for vamsas client classes on class path.
+ * @return true if vamsas client is present on classpath
+ */
+ public static boolean groovyJarsPresent()
+ {
+ if (groovyJarsArePresent == -1)
+ {
+ try
+ {
+ if (Cache.class.getClassLoader().loadClass(
+ "groovy.lang.GroovyObject") != null)
+ {
+ jalview.bin.Cache.log.debug(
+ "Found Groovy (groovy.lang.GroovyObject can be loaded)");
+ groovyJarsArePresent = 1;
+ Logger lgclient = Logger.getLogger("groovy");
+ lgclient.setLevel(Level.toLevel(Cache.getDefault("logs.Groovy.Level",
+ Level.INFO.toString())));
+
+ lgclient.addAppender(log.getAppender("JalviewLogger"));
+ // Tell the user that debug is enabled
+ lgclient.debug("Jalview Groovy Client Debugging Output Follows.");
+ }
+ }
+ catch (Exception e)
+ {
+ groovyJarsArePresent = 0;
+ jalview.bin.Cache.log.debug("Groovy Classes are not present");
+ }
+ }
+ return (groovyJarsArePresent > 0);
+ }
}