import java.util.Collections;
import java.util.Date;
import java.util.Enumeration;
+import java.util.Locale;
import java.util.Properties;
import java.util.TreeSet;
private final static String DEFAULT_CACHE_THRESHOLD_IN_DAYS = "2";
private final static String DEFAULT_FAIL_SAFE_PID_THRESHOLD = "30";
-
+
/**
* Allowed values are PDB or mmCIF
*/
- private final static String DEFAULT_STRUCTURE_FORMAT = PDBEntry.Type.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
*/
.println("Jalview Version: " + codeVersion + codeInstallation);
StructureImportSettings.setDefaultStructureFileFormat(jalview.bin.Cache
- .getDefault(
- "DEFAULT_STRUCTURE_FORMAT", DEFAULT_STRUCTURE_FORMAT));
+ .getDefault("PDB_DOWNLOAD_FORMAT", PDB_DOWNLOAD_FORMAT));
StructureImportSettings
- .setDefaultPDBFileParser(jalview.bin.Cache.getDefault(
- "DEFAULT_PDB_FILE_PARSER", DEFAULT_PDB_FILE_PARSER));
- StructureImportSettings.setProcessHETATMs(jalview.bin.Cache.getDefault(
- "PROCESS_HETATM", false));
+ .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
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
} catch (Exception ex)
{
System.err.println("Invalid or corrupt date in property '"
- + property + "' : value was '" + val + "'");
+ + propertyName + "' : value was '" + val + "'");
}
}
return null;