/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
*
* This file is part of Jalview.
*
import java.awt.Color;
import java.io.*;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.*;
import org.apache.log4j.*;
* <li>ANNOTATIONCOLOUR_MAX (red) Shade used for maximum value of annotation when shading by annotation</li>
* <li>www.jalview.org (http://www.jalview.org) a property enabling all HTTP requests to be redirected to a mirror of http://www.jalview.org</li>
*
+ * <li>FIGURE_AUTOIDWIDTH (false) Expand the left hand column of an exported alignment figure to accommodate even the longest sequence ID or annotation label.</li>
+ * <li>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).</li>
* <li></li>
*
* </ul>
* * <li>DISCOVERY_START - Boolean - controls if discovery services are queried on
* startup (JWS1 services only)</li>
* <li>DISCOVERY_URLS - comma separated list of Discovery Service endpoints. (JWS1 services only)</li>
- * <li>SHOW_JWS1_SERVICES (true) enable or disable the original Jalview 2 services in the desktop GUI
+ * <li>SHOW_JWS1_SERVICES (true) enable or disable the original Jalview 2 services in the desktop GUI</li>
+ * <li>ENABLE_RSBS_EDITOR (false for 2.7 release) enable or disable RSBS editing panel in web service preferences</li>
* </ul>
* @author $author$
* @version $Revision$
setProperty(property, jalview.util.Format
.getHexString(colour));
}
+
+ public static final DateFormat date_format = SimpleDateFormat.getDateTimeInstance();
+
+ /**
+ * store a date in a jalview property
+ * @param string
+ * @param time
+ */
+ public static void setDateProperty(String property, Date time)
+ {
+ setProperty(property, date_format.format(time));
+ }
+ /**
+ * read a date stored in a jalview property
+ * @param property
+ * @return valid date as stored by setDateProperty, or null
+ *
+ */
+ public static Date getDateProperty(String property)
+ {
+ String val = getProperty(property);
+ if (val!=null)
+ {
+ try {
+ return date_format.parse(val);
+ } catch (Exception ex)
+ {
+ System.err.println("Invalid or corrupt date in property '"+property+"' : value was '"+val+"'");
+ }
+ }
+ return null;
+ }
+
+ /**
+ * get and parse a property as an integer. send any parsing problems to System.err
+ * @param property
+ * @return null or Integer
+ */
+ public static Integer getIntegerProperty(String property)
+ {
+ String val=getProperty(property);
+ if (val!=null && (val=val.trim()).length()>0)
+ {
+ try {
+ return Integer.valueOf(val);
+ } catch (NumberFormatException x)
+ {
+ System.err.println("Invalid integer in property '"+property+"' (value was '"+val+"')");
+ }
+ }
+ return null;
+ }
}