X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FCache.java;fp=src%2Fjalview%2Fbin%2FCache.java;h=4d1a453c29dda87b76a6af829204a4e3c81abe40;hb=3efc24bc7b7855ff135fa96e35ab1004eaeb4f5e;hp=4a83b35c81d95e0b2443caebabe91f514f7da569;hpb=dae56c38c3f14e96308540c30f35ca8f1d917edf;p=jalview.git diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java index 4a83b35..4d1a453 100755 --- a/src/jalview/bin/Cache.java +++ b/src/jalview/bin/Cache.java @@ -47,14 +47,10 @@ import java.util.regex.Pattern; import javax.swing.LookAndFeel; import javax.swing.UIManager; -import org.apache.log4j.ConsoleAppender; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; -import org.apache.log4j.SimpleLayout; - import jalview.datamodel.PDBEntry; import jalview.gui.Preferences; import jalview.gui.UserDefinedColours; +import jalview.log.JLoggerLog4j; import jalview.schemes.ColourSchemeLoader; import jalview.schemes.ColourSchemes; import jalview.schemes.UserColourScheme; @@ -182,8 +178,8 @@ import jalview.ws.sifts.SiftsSettings; * when shading by annotation *
  • ANNOTATIONCOLOUR_MAX (red) Shade used for maximum value of annotation * when shading by annotation
  • - *
  • www.jalview.org (http://www.jalview.org) a property enabling all HTTP - * requests to be redirected to a mirror of http://www.jalview.org
  • + *
  • www.jalview.org (https://www.jalview.org) a property enabling all HTTP + * requests to be redirected to a mirror of https://www.jalview.org
  • *
  • FIGURE_AUTOIDWIDTH (false) Expand the left hand column of an exported * alignment figure to accommodate even the longest sequence ID or annotation * label.
  • @@ -275,7 +271,8 @@ public class Cache /** * Initialises the Jalview Application Log */ - public static Logger log; + + public final static String JALVIEW_LOGGER_NAME = "JalviewLogger"; // save the proxy properties set at startup public final static String[] startupProxyProperties = { @@ -320,55 +317,6 @@ public class Cache private final static String JS_PROPERTY_PREFIX = "jalview_"; - public static void initLogger() - { - if (log != null) - { - return; - } - try - { - // TODO: redirect stdout and stderr here in order to grab the output of - // the log - - 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"); - - laxis.setLevel(Level.toLevel( - Cache.getDefault("logs.Axis.Level", 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()))); - // we shouldn't need to do this - org.apache.log4j.Logger.getRootLogger() - .setLevel(org.apache.log4j.Level.INFO); - - jalview.bin.Cache.log.setLevel(Level.toLevel(Cache - .getDefault("logs.Jalview.level", Level.INFO.toString()))); - // laxis.addAppender(ap); - // lcastor.addAppender(ap); - // jalview.bin.Cache.log.addAppender(ap); - // Tell the user that debug is enabled - jalview.bin.Cache.log.debug(ChannelProperties.getProperty("app_name") - + " Debugging Output Follows."); - } catch (Exception ex) - { - System.err.println("Problems initializing the log4j system\n"); - ex.printStackTrace(System.err); - } - } - /** * Loads properties from the given properties file. Any existing properties * are first cleared. @@ -376,10 +324,18 @@ public class Cache 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 +355,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); @@ -462,7 +427,7 @@ public class Cache default: String message = "Incorrect PROXY_TYPE - should be 'none' (clear proxy properties), 'false' (system settings), 'true' (custom settings): " + proxyType; - Cache.warn(message); + Console.warn(message); } // LOAD THE AUTHORS FROM THE authors.props file @@ -494,27 +459,27 @@ public class Cache SiftsSettings .setMapWithSifts(Cache.getDefault("MAP_WITH_SIFTS", false)); - SiftsSettings.setSiftDownloadDirectory(jalview.bin.Cache + SiftsSettings.setSiftDownloadDirectory(Cache .getDefault("sifts_download_dir", DEFAULT_SIFTS_DOWNLOAD_DIR)); SiftsSettings.setFailSafePIDThreshold( - jalview.bin.Cache.getDefault("sifts_fail_safe_pid_threshold", + Cache.getDefault("sifts_fail_safe_pid_threshold", DEFAULT_FAIL_SAFE_PID_THRESHOLD)); SiftsSettings.setCacheThresholdInDays( - jalview.bin.Cache.getDefault("sifts_cache_threshold_in_days", + Cache.getDefault("sifts_cache_threshold_in_days", DEFAULT_CACHE_THRESHOLD_IN_DAYS)); IdOrgSettings.setUrl(getDefault("ID_ORG_HOSTURL", - "http://www.jalview.org/services/identifiers")); + "https://www.jalview.org/services/identifiers")); IdOrgSettings.setDownloadLocation(ID_ORG_FILE); - StructureImportSettings.setDefaultStructureFileFormat(jalview.bin.Cache - .getDefault("PDB_DOWNLOAD_FORMAT", PDB_DOWNLOAD_FORMAT)); + StructureImportSettings.setDefaultStructureFileFormat( + Cache.getDefault("PDB_DOWNLOAD_FORMAT", PDB_DOWNLOAD_FORMAT)); StructureImportSettings .setDefaultPDBFileParser(DEFAULT_PDB_FILE_PARSER); // StructureImportSettings - // .setDefaultPDBFileParser(jalview.bin.Cache.getDefault( + // .setDefaultPDBFileParser(Cache.getDefault( // "DEFAULT_PDB_FILE_PARSER", DEFAULT_PDB_FILE_PARSER)); String jnlpVersion = System.getProperty("jalview.version"); @@ -835,14 +800,11 @@ public class Cache if (jalview.jbgui.GDesktop.class.getClassLoader() .loadClass("uk.ac.vamsas.client.VorbaId") != null) { - jalview.bin.Cache.log.debug( - "Found Vamsas Classes (uk.ac..vamsas.client.VorbaId can be loaded)"); + Console.debug("Found Vamsas Classes (uk.ac..vamsas.client.VorbaId can be loaded)"); vamsasJarsArePresent = 1; - Logger lvclient = Logger.getLogger("uk.ac.vamsas"); - lvclient.setLevel(Level.toLevel(Cache - .getDefault("logs.Vamsas.Level", Level.INFO.toString()))); - - lvclient.addAppender(log.getAppender("JalviewLogger")); + JLoggerLog4j lvclient = JLoggerLog4j.getLogger("uk.ac.vamsas", + Console.getCachedLogLevel("logs.Vamsas.Level")); + JLoggerLog4j.addAppender(lvclient, Console.log, JALVIEW_LOGGER_NAME); // Tell the user that debug is enabled lvclient.debug(ChannelProperties.getProperty("app_name") + " Vamsas Client Debugging Output Follows."); @@ -850,7 +812,7 @@ public class Cache } catch (Exception e) { vamsasJarsArePresent = 0; - jalview.bin.Cache.log.debug("Vamsas Classes are not present"); + Console.debug("Vamsas Classes are not present"); } } return (vamsasJarsArePresent > 0); @@ -875,14 +837,11 @@ public class Cache if (Cache.class.getClassLoader() .loadClass("groovy.lang.GroovyObject") != null) { - jalview.bin.Cache.log.debug( - "Found Groovy (groovy.lang.GroovyObject can be loaded)"); + Console.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")); + JLoggerLog4j lgclient = JLoggerLog4j.getLogger("groovy", + Console.getCachedLogLevel("logs.Groovy.Level")); + JLoggerLog4j.addAppender(lgclient, Console.log, JALVIEW_LOGGER_NAME); // Tell the user that debug is enabled lgclient.debug(ChannelProperties.getProperty("app_name") + " Groovy Client Debugging Output Follows."); @@ -890,11 +849,11 @@ public class Cache } catch (Error e) { groovyJarsArePresent = 0; - jalview.bin.Cache.log.debug("Groovy Classes are not present", e); + Console.debug("Groovy Classes are not present", e); } catch (Exception e) { groovyJarsArePresent = 0; - jalview.bin.Cache.log.debug("Groovy Classes are not present"); + Console.debug("Groovy Classes are not present"); } } return (groovyJarsArePresent > 0); @@ -928,8 +887,7 @@ public class Cache .loadClass("com.boxysystems.jgoogleanalytics.FocusPoint"); } catch (Exception e) { - log.debug( - "com.boxysystems.jgoogleanalytics package is not present - tracking not enabled."); + Console.debug("com.boxysystems.jgoogleanalytics package is not present - tracking not enabled."); tracker = null; jgoogleanalyticstracker = null; trackerfocus = null; @@ -948,9 +906,8 @@ public class Cache { String.class, String.class, String.class }) .newInstance(new Object[] { ChannelProperties.getProperty("app_name") + " Desktop", - (vrs = jalview.bin.Cache.getProperty("VERSION") + "_" - + jalview.bin.Cache.getDefault("BUILD_DATE", - "unknown")), + (vrs = Cache.getProperty("VERSION") + "_" + + Cache.getDefault("BUILD_DATE", "unknown")), "UA-9060947-1" }); jgoogleanalyticstracker .getMethod("trackAsynchronously", new Class[] @@ -971,57 +928,24 @@ public class Cache } if (re != null || ex != null || err != null) { - if (log != null) + if (re != null) { - if (re != null) - { - log.debug("Caught runtime exception in googletracker init:", - re); - } - if (ex != null) - { - log.warn( - "Failed to initialise GoogleTracker for Jalview Desktop with version " - + vrs, - ex); - } - if (err != null) - { - log.error( - "Whilst initing GoogleTracker for Jalview Desktop version " - + vrs, - err); - } + Console.debug("Caught runtime exception in googletracker init:", re); } - else + if (ex != null) { - if (re != null) - { - System.err.println( - "Debug: Caught runtime exception in googletracker init:" - + vrs); - re.printStackTrace(); - } - if (ex != null) - { - System.err.println( - "Warning: Failed to initialise GoogleTracker for Jalview Desktop with version " - + vrs); - ex.printStackTrace(); - } - - if (err != null) - { - System.err.println( - "ERROR: Whilst initing GoogleTracker for Jalview Desktop version " - + vrs); - err.printStackTrace(); - } + Console.warn("Failed to initialise GoogleTracker for Jalview Desktop with version " + + vrs, ex); + } + if (err != null) + { + Console.error("Whilst initing GoogleTracker for Jalview Desktop version " + + vrs, err); } } else { - log.debug("Successfully initialised tracker."); + Console.debug("Successfully initialised tracker."); } } } @@ -1043,8 +967,7 @@ public class Cache Color col = ColorUtils.parseColourString(colprop); if (col == null) { - log.warn("Couldn't parse '" + colprop + "' as a colour for " - + property); + Console.warn("Couldn't parse '" + colprop + "' as a colour for " + property); } return (col == null) ? defcolour : col; } @@ -1225,14 +1148,14 @@ public class Cache StringBuilder sb = new StringBuilder(); sb.append(ChannelProperties.getProperty("app_name")) .append(" Version: "); - sb.append(jalview.bin.Cache.getDefault("VERSION", "TEST")); + sb.append(Cache.getDefault("VERSION", "TEST")); sb.append("\n"); sb.append(ChannelProperties.getProperty("app_name")) .append(" Installation: "); - sb.append(jalview.bin.Cache.getDefault("INSTALLATION", "unknown")); + sb.append(Cache.getDefault("INSTALLATION", "unknown")); sb.append("\n"); sb.append("Build Date: "); - sb.append(jalview.bin.Cache.getDefault("BUILD_DATE", "unknown")); + sb.append(Cache.getDefault("BUILD_DATE", "unknown")); sb.append("\n"); sb.append("Java version: "); sb.append(System.getProperty("java.version")); @@ -1260,7 +1183,7 @@ public class Cache // Not displayed in release version ( determined by possible version number // regex 9[9.]*9[.-_a9]* ) if (Pattern.matches("^\\d[\\d\\.]*\\d[\\.\\-\\w]*$", - jalview.bin.Cache.getDefault("VERSION", "TEST"))) + Cache.getDefault("VERSION", "TEST"))) { appendIfNotNull(sb, "Getdown appdir: ", System.getProperty("getdownappdir"), "\n", null); @@ -1280,7 +1203,7 @@ public class Cache { // consider returning more human friendly info // eg 'built from Source' or update channel - return jalview.bin.Cache.getDefault("INSTALLATION", "unknown"); + return Cache.getDefault("INSTALLATION", "unknown"); } public static String getStackTraceString(Throwable t) @@ -1324,7 +1247,7 @@ public class Cache ? " [" + startupProxyProperties[6] + "]" : ""); - Cache.debug(sb.toString()); + Console.debug(sb.toString()); } public static void setProxyPropertiesFromPreferences() @@ -1350,7 +1273,7 @@ public class Cache case Cache.PROXYTYPE_NONE: if (!previousProxyType.equals(proxyType)) { - Cache.log.info("Setting no proxy settings"); + Console.info("Setting no proxy settings"); Cache.setProxyProperties(null, null, null, null, null, null, null, null, null); } @@ -1358,7 +1281,7 @@ public class Cache case Cache.PROXYTYPE_CUSTOM: // always re-set a custom proxy -- it might have changed, particularly // password - Cache.log.info("Setting custom proxy settings"); + Console.info("Setting custom proxy settings"); boolean proxyAuthSet = Cache.getDefault("PROXY_AUTH", false); Cache.setProxyProperties(Cache.getDefault("PROXY_SERVER", null), Cache.getDefault("PROXY_PORT", null), @@ -1372,7 +1295,7 @@ public class Cache proxyAuthSet ? Cache.proxyAuthPassword : null, "localhost"); break; default: // system proxy settings by default - Cache.log.info("Setting system proxy settings"); + Console.info("Setting system proxy settings"); Cache.resetProxyProperties(); } } @@ -1424,7 +1347,7 @@ public class Cache char[] displayHttpPw = new char[httpPassword == null ? 0 : httpPassword.length]; Arrays.fill(displayHttpPw, '*'); - Cache.debug("CACHE Proxy: setting new Authenticator with httpUser='" + Console.debug("CACHE Proxy: setting new Authenticator with httpUser='" + httpUser + "' httpPassword='" + displayHttpPw + "'"); if (!Platform.isJS()) /* * @@ -1459,8 +1382,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); } @@ -1474,7 +1397,7 @@ public class Cache && getRequestingPort() == Integer .valueOf(httpPort)) { - Cache.debug( + Console.debug( "AUTHENTICATOR returning PasswordAuthentication(\"" + httpUser + "\", '" + new String(displayHttpPw) + "')"); @@ -1489,7 +1412,7 @@ public class Cache { char[] displayHttpsPw = new char[httpPassword.length]; Arrays.fill(displayHttpsPw, '*'); - Cache.debug( + Console.debug( "AUTHENTICATOR returning PasswordAuthentication(\"" + httpsUser + "\", '" + displayHttpsPw + "'"); @@ -1498,15 +1421,15 @@ public class Cache } } catch (NumberFormatException e) { - Cache.error("Problem with proxy port values [http:" + Console.error("Problem with proxy port values [http:" + httpPort + ", https:" + httpsPort + "]"); } - Cache.debug( + Console.debug( "AUTHENTICATOR after trying to get PasswordAuthentication"); } } // non proxy request - Cache.debug("AUTHENTICATOR returning null"); + Console.debug("AUTHENTICATOR returning null"); return null; } }); @@ -1514,13 +1437,13 @@ public class Cache // required to re-enable basic authentication (should be okay for a // local proxy) - Cache.debug( + Console.debug( "AUTHENTICATOR setting property 'jdk.http.auth.tunneling.disabledSchemes' to \"\""); System.setProperty("jdk.http.auth.tunneling.disabledSchemes", ""); } catch (SecurityException e) { - Cache.error("Could not set default Authenticator"); - Cache.debug(getStackTraceString(e)); + Console.error("Could not set default Authenticator"); + Console.debug(getStackTraceString(e)); } } else @@ -1538,13 +1461,13 @@ public class Cache * */ { - Cache.debug("AUTHENTICATOR setting default Authenticator to null"); + Console.debug("AUTHENTICATOR setting default Authenticator to null"); Authenticator.setDefault(null); } } // nonProxyHosts not currently configurable in Preferences - Cache.debug("AUTHENTICATOR setting property 'http.nonProxyHosts' to \"" + Console.debug("AUTHENTICATOR setting property 'http.nonProxyHosts' to \"" + nonProxyHosts + "\""); setOrClearSystemProperty("http.nonProxyHosts", nonProxyHosts); } @@ -1571,75 +1494,6 @@ public class Cache } } - public final static int TRACE = 10; - - public final static int DEBUG = 20; - - public final static int INFO = 30; - - public final static int WARN = 40; - - public final static int ERROR = 50; - - public static boolean println(int level, String message) - { - if (Cache.log == null) - { - if (level >= WARN) - System.err.println(message); - else if (level >= INFO) - System.out.println(message); - // not printing debug or trace messages - return false; - } - if (level >= ERROR) - { - Cache.log.error(message); - } - else if (level >= WARN) - { - Cache.log.warn(message); - } - else if (level >= INFO) - { - Cache.log.info(message); - } - else if (level >= DEBUG) - { - Cache.log.debug(message); - } - else - { - Cache.log.trace(message); - } - return true; - } - - public static void trace(String message) - { - println(TRACE, message); - } - - public static void debug(String message) - { - println(DEBUG, message); - } - - public static void info(String message) - { - println(INFO, message); - } - - public static void warn(String message) - { - println(WARN, message); - } - - public static void error(String message) - { - println(ERROR, message); - } - /** * Getdown appbase methods */