X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FCache.java;h=e6f86fe0436c75a5caaecefc0d0cd9ea23a4ef7f;hb=b6f8ec5c6678d0f363c521b97bda9574d04c6338;hp=cd875c9dca23441054e738c3e14369da8d0dc7db;hpb=f3392c352962c6827674ada5948500725e4eed1e;p=jalview.git
diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java
index cd875c9..e6f86fe 100755
--- a/src/jalview/bin/Cache.java
+++ b/src/jalview/bin/Cache.java
@@ -20,12 +20,6 @@
*/
package jalview.bin;
-import jalview.datamodel.DBRefSource;
-import jalview.ws.dbsources.Pdb;
-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;
import java.io.File;
@@ -33,19 +27,45 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.net.Authenticator;
+import java.net.PasswordAuthentication;
+import java.net.URL;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.Enumeration;
+import java.util.Locale;
import java.util.Properties;
+import java.util.StringTokenizer;
import java.util.TreeSet;
+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.schemes.ColourSchemeLoader;
+import jalview.schemes.ColourSchemes;
+import jalview.schemes.UserColourScheme;
+import jalview.structure.StructureImportSettings;
+import jalview.urls.IdOrgSettings;
+import jalview.util.ChannelProperties;
+import jalview.util.ColorUtils;
+import jalview.util.MessageManager;
+import jalview.util.Platform;
+import jalview.ws.sifts.SiftsSettings;
+
/**
* Stores and retrieves Jalview Application Properties Lists and fields within
* list entries are separated by '|' symbols unless otherwise stated (|) clauses
@@ -69,7 +89,8 @@ import org.apache.log4j.SimpleLayout;
*
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)
+ * 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
@@ -107,7 +128,6 @@ import org.apache.log4j.SimpleLayout;
* service
* USAGESTATS (false - user prompted) Enable google analytics tracker for
* collecting usage statistics
- * 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
@@ -121,11 +141,13 @@ 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
* DEFAULT_BROWSER for unix
- * DAS_ACTIVE_SOURCE list of active sources
* SHOW_MEMUSAGE boolean show memory usage and warning indicator on desktop
* (false)
* VERSION_CHECK (true) check for the latest release version from
@@ -178,6 +200,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:
@@ -213,28 +237,68 @@ public class Cache
*/
public static final String JALVIEWLOGLEVEL = "logs.Jalview.level";
- public static final String DAS_LOCAL_SOURCE = "DAS_LOCAL_SOURCE";
-
- public static final String DAS_REGISTRY_URL = "DAS_REGISTRY_URL";
-
- 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
+ .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";
- private final static String DEFAULT_STRUCTURE_FORMAT = DBRefSource.MMCIF;
+ /**
+ * 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;
+ // save the proxy properties set at startup
+ public final static String[] startupProxyProperties = {
+ System.getProperty("http.proxyHost"),
+ System.getProperty("http.proxyPort"),
+ System.getProperty("https.proxyHost"),
+ System.getProperty("https.proxyPort"),
+ System.getProperty("http.proxyUser"),
+ System.getProperty("http.proxyPassword"),
+ System.getProperty("https.proxyUser"),
+ System.getProperty("https.proxyPassword"),
+ System.getProperty("http.nonProxyHosts") };
+
+ public final static String PROXYTYPE_NONE = "none";
+
+ // "false" and "true" for backward compatibility
+ public final static String PROXYTYPE_SYSTEM = "false";
+
+ public final static String PROXYTYPE_CUSTOM = "true";
+
+ // in-memory only storage of proxy password, safer to use char array
+ public static char[] proxyAuthPassword = null;
+
/** Jalview Properties */
public static Properties applicationProperties = new Properties()
{
@@ -242,14 +306,16 @@ public class Cache
@Override
public synchronized Enumeration