X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FCache.java;h=3bb224701d9a545844d355282e360b83c4f1993a;hb=ab43013b7e357b84b4abade0dba949668dfb2a0e;hp=2a9f53d212f0fe193fc1e560324cd2cb72f31e58;hpb=eaf9092bfa74b5162589c8775f68a19dd79dbb1d;p=jalview.git diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java index 2a9f53d..3bb2247 100755 --- a/src/jalview/bin/Cache.java +++ b/src/jalview/bin/Cache.java @@ -1,5 +1,5 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1) * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. @@ -32,8 +32,11 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.util.Collections; import java.util.Date; +import java.util.Enumeration; import java.util.Properties; +import java.util.TreeSet; import org.apache.log4j.ConsoleAppender; import org.apache.log4j.Level; @@ -147,6 +150,7 @@ import org.apache.log4j.SimpleLayout; *
  • FOLLOW_SELECTIONS (true) Controls whether a new alignment view should * respond to selections made in other alignments containing the same sequences. *
  • + *
  • JWS2HOSTURLS comma-separated list of URLs to try for JABAWS services
  • *
  • SHOW_WSDISCOVERY_ERRORS (true) Controls if the web service URL discovery * warning dialog box is displayed.
  • *
  • ANNOTATIONCOLOUR_MIN (orange) Shade used for minimum value of annotation @@ -155,14 +159,22 @@ import org.apache.log4j.SimpleLayout; * 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
  • - * *
  • FIGURE_AUTOIDWIDTH (false) Expand the left hand column of an exported * alignment figure to accommodate even the longest sequence ID or annotation * label.
  • *
  • FIGURE_FIXEDIDWIDTH Specifies the width to use for the left-hand column * when exporting an alignment as a figure (setting FIGURE_AUTOIDWIDTH to true * will override this).
  • - *
  • + *
  • STRUCT_FROM_PDB (false) derive secondary structure annotation from PDB + * record
  • + *
  • USE_RNAVIEW (false) use RNAViewer to derive secondary structure
  • + *
  • ADD_SS_ANN (false) add secondary structure annotation to alignment + * display
  • + *
  • ADD_TEMPFACT_ANN (false) add Temperature Factor annotation to alignment + * display
  • + *
  • STRUCTURE_DISPLAY choose from JMOL (default) or CHIMERA for 3D structure + * display
  • + *
  • CHIMERA_PATH specify full path to Chimera program (if non-standard)
  • * * * Deprecated settings: @@ -210,7 +222,13 @@ public class Cache public static Logger log; /** Jalview Properties */ - public static Properties applicationProperties = new Properties(); + public static Properties applicationProperties = new Properties() { + // override results in properties output in alphabetical order + @Override + public synchronized Enumeration keys() { + return Collections.enumeration(new TreeSet(super.keySet())); + } + }; /** Default file is ~/.jalview_properties */ static String propertiesFile; @@ -361,15 +379,21 @@ public class Cache String jnlpVersion = System.getProperty("jalview.version"); String codeVersion = getProperty("VERSION"); - + String codeInstallation = getProperty("INSTALLATION"); if (codeVersion == null) { // THIS SHOULD ONLY BE THE CASE WHEN TESTING!! codeVersion = "Test"; jnlpVersion = "Test"; + codeInstallation = ""; + } + else + { + codeInstallation = " (" + codeInstallation + ")"; } - System.out.println("Jalview Version: " + codeVersion); + System.out + .println("Jalview Version: " + codeVersion + codeInstallation); // jnlpVersion will be null if we're using InstallAnywhere // Dont do this check if running in headless mode @@ -459,6 +483,8 @@ public class Cache applicationProperties.remove("AUTHORS"); applicationProperties.remove("AUTHORFNAMES"); applicationProperties.remove("YEAR"); + applicationProperties.remove("BUILD_DATE"); + applicationProperties.remove("INSTALLATION"); } /** @@ -890,4 +916,27 @@ public class Cache } return sourceRegistry; } + + /** + * Set the specified value, or remove it if null or empty. Does not save the + * properties file. + * + * @param propName + * @param value + */ + public static void setOrRemove(String propName, String value) + { + if (propName == null) + { + return; + } + if (value == null || value.trim().length() < 1) + { + Cache.applicationProperties.remove(propName); + } + else + { + Cache.applicationProperties.setProperty(propName, value); + } + } }