X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FCache.java;h=9edd712df33ea193226a0f5778ef6c8be14e245a;hb=9d7c487b4a2774d380d0807527e365e9002a1fd5;hp=a7c002c85a315726cc993ae61dab38a1057a23d8;hpb=1e085f14ae2f19adfac0153c437ee891f0ad07bc;p=jalview.git diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java index a7c002c..9edd712 100755 --- a/src/jalview/bin/Cache.java +++ b/src/jalview/bin/Cache.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -20,8 +20,12 @@ */ package jalview.bin; +import jalview.datamodel.PDBEntry; +import jalview.structure.StructureImportSettings; +import jalview.urls.IdOrgSettings; import jalview.ws.dbsources.das.api.DasSourceRegistryI; import jalview.ws.dbsources.das.datamodel.DasSourceRegistry; +import jalview.ws.sifts.SiftsSettings; import java.awt.Color; import java.io.BufferedReader; @@ -35,6 +39,7 @@ import java.text.SimpleDateFormat; import java.util.Collections; import java.util.Date; import java.util.Enumeration; +import java.util.Locale; import java.util.Properties; import java.util.TreeSet; @@ -118,6 +123,10 @@ import org.apache.log4j.SimpleLayout; *
  • SORT_ALIGNMENT (No sort|Id|Pairwise Identity)
  • *
  • SEQUENCE_LINKS list of name|URL pairs for opening a url with * $SEQUENCE_ID$
  • + *
  • STORED_LINKS list of name|url pairs which user has entered but are not + * currently used + *
  • DEFAULT_LINK name of single url to be used when user double clicks a + * sequence id (must be in SEQUENCE_LINKS or STORED_LINKS) *
  • GROUP_LINKS list of name|URL[|<separator>] tuples - see * jalview.utils.GroupURLLink for more info
  • *
  • DAS_REGISTRY_URL the registry to query
  • @@ -175,6 +184,8 @@ import org.apache.log4j.SimpleLayout; *
  • STRUCTURE_DISPLAY choose from JMOL (default) or CHIMERA for 3D structure * display
  • *
  • CHIMERA_PATH specify full path to Chimera program (if non-standard)
  • + *
  • ID_ORG_HOSTURL location of jalview service providing identifiers.org urls + *
  • * * * Deprecated settings: @@ -217,6 +228,42 @@ public class Cache public static final String DAS_ACTIVE_SOURCE = "DAS_ACTIVE_SOURCE"; /** + * Sifts settings + */ + public static final String DEFAULT_SIFTS_DOWNLOAD_DIR = System + .getProperty("user.home") + + File.separatorChar + + ".sifts_downloads" + File.separatorChar; + + private final static String DEFAULT_CACHE_THRESHOLD_IN_DAYS = "2"; + + private final static String DEFAULT_FAIL_SAFE_PID_THRESHOLD = "30"; + + /** + * Identifiers.org download settings + */ + private static final String ID_ORG_FILE = System.getProperty("user.home") + + File.separatorChar + ".identifiers.org.ids.json"; + + /** + * Allowed values are PDB or mmCIF + */ + private final static String PDB_DOWNLOAD_FORMAT = PDBEntry.Type.MMCIF + .toString(); + + private final static String DEFAULT_PDB_FILE_PARSER = StructureImportSettings.StructureParser.JMOL_PARSER + .toString(); + + /* + * a date formatter using a fixed (rather than the user's) locale; + * this ensures that date properties can be written and re-read successfully + * even if the user changes their locale setting + */ + private static final DateFormat date_format = SimpleDateFormat + .getDateTimeInstance(SimpleDateFormat.MEDIUM, + SimpleDateFormat.MEDIUM, Locale.UK); + + /** * Initialises the Jalview Application Log */ public static Logger log; @@ -394,9 +441,35 @@ public class Cache codeInstallation = " (" + codeInstallation + ")"; } new BuildDetails(codeVersion, null, codeInstallation); + + SiftsSettings + .setMapWithSifts(Cache.getDefault("MAP_WITH_SIFTS", false)); + + SiftsSettings.setSiftDownloadDirectory(jalview.bin.Cache.getDefault( + "sifts_download_dir", DEFAULT_SIFTS_DOWNLOAD_DIR)); + + SiftsSettings.setFailSafePIDThreshold(jalview.bin.Cache.getDefault( + "sifts_fail_safe_pid_threshold", + DEFAULT_FAIL_SAFE_PID_THRESHOLD)); + + SiftsSettings.setCacheThresholdInDays(jalview.bin.Cache.getDefault( + "sifts_cache_threshold_in_days", + DEFAULT_CACHE_THRESHOLD_IN_DAYS)); + + IdOrgSettings.setUrl(getDefault("ID_ORG_HOSTURL", + "http://www.jalview.org/services/identifiers")); + IdOrgSettings.setDownloadLocation(ID_ORG_FILE); + System.out .println("Jalview Version: " + codeVersion + codeInstallation); + StructureImportSettings.setDefaultStructureFileFormat(jalview.bin.Cache + .getDefault("PDB_DOWNLOAD_FORMAT", PDB_DOWNLOAD_FORMAT)); + StructureImportSettings + .setDefaultPDBFileParser(DEFAULT_PDB_FILE_PARSER); + // StructureImportSettings + // .setDefaultPDBFileParser(jalview.bin.Cache.getDefault( + // "DEFAULT_PDB_FILE_PARSER", DEFAULT_PDB_FILE_PARSER)); // jnlpVersion will be null if we're using InstallAnywhere // Dont do this check if running in headless mode if (jnlpVersion == null @@ -407,6 +480,7 @@ public class Cache class VersionChecker extends Thread { + @Override public void run() { String orgtimeout = System @@ -842,30 +916,31 @@ public class Cache setProperty(property, jalview.util.Format.getHexString(colour)); } - public static final DateFormat date_format = SimpleDateFormat - .getDateTimeInstance(); - /** - * store a date in a jalview property + * Stores a formatted date in a jalview property, using a fixed locale. * - * @param string - * @param time + * @param propertyName + * @param date + * @return the formatted date string */ - public static void setDateProperty(String property, Date time) + public static String setDateProperty(String propertyName, Date date) { - setProperty(property, date_format.format(time)); + String formatted = date_format.format(date); + setProperty(propertyName, formatted); + return formatted; } /** - * read a date stored in a jalview property + * Reads a date stored in a Jalview property, parses it (using a fixed locale + * format) and returns as a Date, or null if parsing fails * - * @param property - * @return valid date as stored by setDateProperty, or null + * @param propertyName + * @return * */ - public static Date getDateProperty(String property) + public static Date getDateProperty(String propertyName) { - String val = getProperty(property); + String val = getProperty(propertyName); if (val != null) { try @@ -874,7 +949,7 @@ public class Cache } catch (Exception ex) { System.err.println("Invalid or corrupt date in property '" - + property + "' : value was '" + val + "'"); + + propertyName + "' : value was '" + val + "'"); } } return null;