X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fbin%2FCache.java;h=09004f4cb2ebefb6204020e041953e9ffc6a61a5;hb=4898f0ae429e0c61ddba72ca46be89b34bb4df8b;hp=6b1aef949e6dc1d90cc6b217fcd0487a9b9a3380;hpb=b0cee3aaf7d8873910939f97b6acb217d518968d;p=jalview.git
diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java
index 6b1aef9..09004f4 100755
--- a/src/jalview/bin/Cache.java
+++ b/src/jalview/bin/Cache.java
@@ -20,20 +20,13 @@
*/
package jalview.bin;
-import jalview.datamodel.PDBEntry;
-import jalview.structure.StructureImportSettings;
-import jalview.util.ColorUtils;
-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;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.net.URL;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Collections;
@@ -41,6 +34,7 @@ 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 org.apache.log4j.ConsoleAppender;
@@ -48,6 +42,18 @@ import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;
+import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI;
+import jalview.datamodel.PDBEntry;
+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.ColorUtils;
+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
@@ -71,7 +77,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
@@ -109,7 +116,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
@@ -123,11 +129,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
@@ -180,6 +188,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:
@@ -198,8 +208,26 @@ import org.apache.log4j.SimpleLayout;
* @author $author$
* @version $Revision$
*/
-public class Cache
+public class Cache implements ApplicationSingletonI
{
+
+ private Cache()
+ {
+ // private singleton
+ }
+
+ /**
+ * In Java, this will be a static field instance, which will be
+ * application-specific; in JavaScript it will be an applet-specific instance
+ * tied to the applet's ThreadGroup.
+ *
+ * @return
+ */
+ public static Cache getInstance()
+ {
+ return (Cache) ApplicationSingletonProvider.getInstance(Cache.class);
+ }
+
/**
* property giving log4j level for CASTOR loggers
*/
@@ -215,22 +243,21 @@ 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";
-
- public static final String DEFAULT_SIFTS_DOWNLOAD_DIR = System
- .getProperty("user.home")
- + File.separatorChar
- + ".sifts_downloads" + File.separatorChar;
-
+ /**
+ * Sifts settings
+ */
+ public static final String DEFAULT_SIFTS_DOWNLOAD_DIR = Platform.getUserPath(".sifts_downloads/");
+
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 = Platform.getUserPath(".identifiers.org.ids.json");
+
+ /**
* Allowed values are PDB or mmCIF
*/
private final static String PDB_DOWNLOAD_FORMAT = PDBEntry.Type.MMCIF
@@ -254,20 +281,22 @@ public class Cache
public static Logger log;
/** Jalview Properties */
- public static Properties applicationProperties = new Properties()
+ private Properties applicationProperties = new Properties()
{
// override results in properties output in alphabetical order
@Override
public synchronized Enumeration