@@ -111,7 +111,7 @@ public class OptionsFrame extends JFrame { | |||
this.setLocation(200, 100); | |||
version_label.setText("Version: " + Version.text); | |||
built_label.setText("Built: " + new Date(Version.time).toString()); | |||
built_label.setText("Built: " + new Date(Version.getTime()).toString()); | |||
addOptionsPanel(new BuildOptionsPanel()); | |||
loadOptions(); |
@@ -43,22 +43,25 @@ public class Version { | |||
* time in seconds-since-... format, used by programmatic clients. | |||
* (if DEVELOPMENT version, NOTIME) | |||
*/ | |||
public static final long time; | |||
private static long time = -1; // -1 = uninitialized | |||
/** format used by build script to set time_text */ | |||
public static final String SIMPLE_DATE_FORMAT = "EEEE MMM d, yyyy 'at' HH:mm:ss z"; | |||
// if not DEVELOPMENT version, read time text using format used to set time | |||
static { | |||
long foundTime = NOTIME; | |||
try { | |||
SimpleDateFormat format = new SimpleDateFormat(SIMPLE_DATE_FORMAT); | |||
ParsePosition pos = new ParsePosition(0); | |||
Date date = format.parse(time_text, pos); | |||
foundTime = date.getTime(); | |||
} catch (Throwable t) { | |||
} | |||
time = foundTime; | |||
public static long getTime() { | |||
if (time==-1) { | |||
long foundTime = NOTIME; | |||
// if not DEVELOPMENT version, read time text using format used to set time | |||
try { | |||
SimpleDateFormat format = new SimpleDateFormat(SIMPLE_DATE_FORMAT); | |||
ParsePosition pos = new ParsePosition(0); | |||
Date date = format.parse(time_text, pos); | |||
if (date!=null) foundTime = date.getTime(); | |||
} catch (Throwable t) { | |||
} | |||
time = foundTime; | |||
} | |||
return time; | |||
} | |||
/** |
@@ -44,7 +44,7 @@ public class VersionTest extends TestCase { | |||
public void testVersion() { | |||
if (Version.time_text.equals("")) return; // dev build, we can only test this on the build server. | |||
Date date = new Date(Version.time); | |||
Date date = new Date(Version.getTime()); | |||
SimpleDateFormat format = new SimpleDateFormat(Version.SIMPLE_DATE_FORMAT, Locale.getDefault()); | |||
format.setTimeZone(TimeZone.getTimeZone("GMT")); | |||
String timeString = format.format(date); |
@@ -247,7 +247,7 @@ public abstract class AjAttribute { | |||
public void write(DataOutputStream s) throws IOException { | |||
s.writeShort(CURRENT_VERSION_MAJOR); | |||
s.writeShort(CURRENT_VERSION_MINOR); | |||
s.writeLong(Version.time); // build used to construct the class... | |||
s.writeLong(Version.getTime()); // build used to construct the class... | |||
} | |||
public static WeaverVersionInfo read(VersionedDataInputStream s) throws IOException { |