diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
index 5ae3009ee..754ea8148 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
@@ -31,6 +31,7 @@ import net.i2p.data.DataHelper;
import net.i2p.data.Hash;
import net.i2p.util.Log;
import net.i2p.util.SecureFile;
+import net.i2p.util.SystemVersion;
import net.i2p.util.Translate;
import org.klomp.snark.I2PSnarkUtil;
@@ -2802,7 +2803,7 @@ public class I2PSnarkServlet extends BasicServlet {
}
long dat = meta.getCreationDate();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- fmt.setTimeZone(DataHelper.getSystemTimeZone(_context));
+ fmt.setTimeZone(SystemVersion.getSystemTimeZone(_context));
if (dat > 0) {
String date = fmt.format(new Date(dat));
buf.append("
");
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ConnThrottler.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ConnThrottler.java
index de9188d8e..26c46e431 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ConnThrottler.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ConnThrottler.java
@@ -8,12 +8,12 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import net.i2p.I2PAppContext;
import net.i2p.data.DataHelper;
import net.i2p.data.Hash;
import net.i2p.util.Clock;
import net.i2p.util.Log;
import net.i2p.util.SimpleTimer2;
+import net.i2p.util.SystemVersion;
/**
* Count how often something happens with a particular peer and all peers.
@@ -56,7 +56,7 @@ class ConnThrottler {
_log = log;
// for logging
_fmt = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM);
- _fmt.setTimeZone(DataHelper.getSystemTimeZone(I2PAppContext.getGlobalContext()));
+ _fmt.setTimeZone(SystemVersion.getSystemTimeZone());
new Cleaner();
}
diff --git a/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java b/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
index 35da6b387..44c2fcdc7 100644
--- a/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
+++ b/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
@@ -19,6 +19,7 @@ import static net.i2p.app.ClientAppState.*;
import net.i2p.data.DataHelper;
import net.i2p.util.FileUtil;
import net.i2p.util.Log;
+import net.i2p.util.SystemVersion;
import net.i2p.util.TranslateReader;
import org.cybergarage.xml.Node;
@@ -233,7 +234,7 @@ public class NewsManager implements ClientApp {
// Doesn't work if the date has a : in it, but SHORT hopefully does not
DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
- fmt.setTimeZone(DataHelper.getSystemTimeZone(_context));
+ fmt.setTimeZone(SystemVersion.getSystemTimeZone(_context));
try {
Date date = fmt.parse(newsContent.substring(0, colon));
entry.updated = date.getTime();
diff --git a/apps/routerconsole/java/src/net/i2p/router/update/NewsFetcher.java b/apps/routerconsole/java/src/net/i2p/router/update/NewsFetcher.java
index 5c800bf03..f57d6d7c0 100644
--- a/apps/routerconsole/java/src/net/i2p/router/update/NewsFetcher.java
+++ b/apps/routerconsole/java/src/net/i2p/router/update/NewsFetcher.java
@@ -43,6 +43,7 @@ import net.i2p.util.PortMapper;
import net.i2p.util.ReusableGZIPInputStream;
import net.i2p.util.SecureFileOutputStream;
import net.i2p.util.SSLEepGet;
+import net.i2p.util.SystemVersion;
import net.i2p.util.Translate;
import net.i2p.util.VersionComparator;
@@ -589,7 +590,7 @@ class NewsFetcher extends UpdateRunner {
return;
DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
- fmt.setTimeZone(DataHelper.getSystemTimeZone(_context));
+ fmt.setTimeZone(SystemVersion.getSystemTimeZone(_context));
for (NewsEntry e : entries) {
if (e.title == null || e.content == null)
continue;
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java
index 01ac1614b..9dd7892f2 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java
@@ -16,6 +16,7 @@ import java.util.TreeMap;
import net.i2p.data.DataHelper;
import net.i2p.router.util.EventLog;
+import net.i2p.util.SystemVersion;
/**
* /events.jsp
@@ -188,7 +189,7 @@ public class EventLogHelper extends FormHandler {
SimpleDateFormat fmt = (SimpleDateFormat) DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
- fmt.setTimeZone(DataHelper.getSystemTimeZone(_context));
+ fmt.setTimeZone(SystemVersion.getSystemTimeZone(_context));
List> entries = new ArrayList>(events.entrySet());
Collections.reverse(entries);
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java
index 07dfa5854..5eaa3e362 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java
@@ -10,6 +10,7 @@ import net.i2p.app.ClientAppManager;
import net.i2p.data.DataHelper;
import net.i2p.router.news.NewsEntry;
import net.i2p.router.news.NewsManager;
+import net.i2p.util.SystemVersion;
/**
@@ -55,7 +56,7 @@ public class NewsFeedHelper extends HelperBase {
if (!entries.isEmpty()) {
DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
- fmt.setTimeZone(DataHelper.getSystemTimeZone(ctx));
+ fmt.setTimeZone(SystemVersion.getSystemTimeZone(ctx));
int i = 0;
for (NewsEntry entry : entries) {
if (i++ < start)
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
index 710ce2753..07664b2ee 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
@@ -633,7 +633,7 @@ public class SummaryBarRenderer {
buf.append("\n");
DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
- fmt.setTimeZone(DataHelper.getSystemTimeZone(_context));
+ fmt.setTimeZone(SystemVersion.getSystemTimeZone(_context));
int i = 0;
final int max = 2;
for (NewsEntry entry : entries) {
diff --git a/apps/susidns/src/java/src/i2p/susi/dns/FormatDate.java b/apps/susidns/src/java/src/i2p/susi/dns/FormatDate.java
index c7604a213..cc582d3c9 100644
--- a/apps/susidns/src/java/src/i2p/susi/dns/FormatDate.java
+++ b/apps/susidns/src/java/src/i2p/susi/dns/FormatDate.java
@@ -3,8 +3,7 @@ package i2p.susi.dns;
import java.util.Date;
import java.text.DateFormat;
-import net.i2p.I2PAppContext;
-import net.i2p.data.DataHelper;
+import net.i2p.util.SystemVersion;
/**
* Format a date in local time zone
@@ -17,7 +16,7 @@ public abstract class FormatDate
static {
DateFormat fmt = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
- fmt.setTimeZone(DataHelper.getSystemTimeZone(I2PAppContext.getGlobalContext()));
+ fmt.setTimeZone(SystemVersion.getSystemTimeZone());
_dateFormat = fmt;
}
diff --git a/apps/susimail/src/src/i2p/susi/webmail/Mail.java b/apps/susimail/src/src/i2p/susi/webmail/Mail.java
index c184831c3..ed5c3aa14 100644
--- a/apps/susimail/src/src/i2p/susi/webmail/Mail.java
+++ b/apps/susimail/src/src/i2p/susi/webmail/Mail.java
@@ -41,8 +41,8 @@ import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
-import net.i2p.I2PAppContext;
import net.i2p.data.DataHelper;
+import net.i2p.util.SystemVersion;
/**
* data structure to hold a single message, mostly used with folder view and sorting
@@ -276,7 +276,7 @@ class Mail {
DateFormat localDateFormatter = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
DateFormat longLocalDateFormatter = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
- TimeZone tz = DataHelper.getSystemTimeZone(I2PAppContext.getGlobalContext());
+ TimeZone tz = SystemVersion.getSystemTimeZone();
localDateFormatter.setTimeZone(tz);
longLocalDateFormatter.setTimeZone(tz);
DateFormat mailDateFormatter = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.ENGLISH );
diff --git a/core/java/src/net/i2p/data/DataHelper.java b/core/java/src/net/i2p/data/DataHelper.java
index ee78a95c6..f2c83a48e 100644
--- a/core/java/src/net/i2p/data/DataHelper.java
+++ b/core/java/src/net/i2p/data/DataHelper.java
@@ -37,7 +37,6 @@ import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
-import java.util.TimeZone;
import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Pattern;
import java.util.zip.Deflater;
@@ -1925,20 +1924,4 @@ public class DataHelper {
}
return p.split(s, limit);
}
-
- /**
- * The system's time zone, which is probably different from the
- * JVM time zone, because Router changes the JVM default to GMT.
- * It saves the old default in the context properties where we can get it.
- * Use this to format a time in local time zone with DateFormat.setTimeZone().
- *
- * @return non-null
- * @since 0.9.24
- */
- public static TimeZone getSystemTimeZone(I2PAppContext ctx) {
- String systemTimeZone = ctx.getProperty("i2p.systemTimeZone");
- if (systemTimeZone != null)
- return TimeZone.getTimeZone(systemTimeZone);
- return TimeZone.getDefault();
- }
}
diff --git a/core/java/src/net/i2p/util/LogManager.java b/core/java/src/net/i2p/util/LogManager.java
index 94a39cf0c..a88fc1df9 100644
--- a/core/java/src/net/i2p/util/LogManager.java
+++ b/core/java/src/net/i2p/util/LogManager.java
@@ -478,7 +478,7 @@ public class LogManager implements Flushable {
if (!format.equals(""))
fmt.applyPattern(format);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
- fmt.setTimeZone(DataHelper.getSystemTimeZone(_context));
+ fmt.setTimeZone(SystemVersion.getSystemTimeZone(_context));
_dateFormatPattern = format;
_dateFormat = fmt;
return true;
diff --git a/core/java/src/net/i2p/util/SystemVersion.java b/core/java/src/net/i2p/util/SystemVersion.java
index 3e5e56e7c..47644f427 100644
--- a/core/java/src/net/i2p/util/SystemVersion.java
+++ b/core/java/src/net/i2p/util/SystemVersion.java
@@ -5,6 +5,9 @@ package net.i2p.util;
*/
import java.lang.reflect.Field;
+import java.util.TimeZone;
+
+import net.i2p.I2PAppContext;
/**
* Methods to find out what system we are running on
@@ -202,4 +205,59 @@ public abstract class SystemVersion {
maxMemory = 96*1024*1024l;
return maxMemory;
}
+
+ /**
+ * The system's time zone, which is probably different from the
+ * JVM time zone, because Router changes the JVM default to GMT.
+ * It saves the old default in the context properties where we can get it.
+ * Use this to format a time in local time zone with DateFormat.setTimeZone().
+ *
+ * @return non-null
+ * @since 0.9.24
+ */
+ public static TimeZone getSystemTimeZone() {
+ return getSystemTimeZone(I2PAppContext.getGlobalContext());
+ }
+
+ /**
+ * The system's time zone, which is probably different from the
+ * JVM time zone, because Router changes the JVM default to GMT.
+ * It saves the old default in the context properties where we can get it.
+ * Use this to format a time in local time zone with DateFormat.setTimeZone().
+ *
+ * @return non-null
+ * @since 0.9.24
+ */
+ public static TimeZone getSystemTimeZone(I2PAppContext ctx) {
+ String systemTimeZone = ctx.getProperty("i2p.systemTimeZone");
+ if (systemTimeZone != null)
+ return TimeZone.getTimeZone(systemTimeZone);
+ return TimeZone.getDefault();
+ }
+
+ /**
+ * @since 0.9.24
+ */
+/****
+ public static void main(String[] args) {
+ System.out.println("64 bit : " + is64Bit());
+ System.out.println("Java 6 : " + isJava6());
+ System.out.println("Java 7 : " + isJava7());
+ System.out.println("Java 8 : " + isJava8());
+ System.out.println("Java 9 : " + isJava9());
+ System.out.println("Android : " + isAndroid());
+ if (isAndroid())
+ System.out.println(" Version: " + getAndroidVersion());
+ System.out.println("Apache : " + isApache());
+ System.out.println("ARM : " + isARM());
+ System.out.println("Mac : " + isMac());
+ System.out.println("Gentoo : " + isGentoo());
+ System.out.println("GNU : " + isGNU());
+ System.out.println("Windows : " + isWindows());
+ System.out.println("Wrapper : " + hasWrapper());
+ System.out.println("x86 : " + isX86());
+ System.out.println("Max mem : " + getMaxMemory());
+
+ }
+****/
}
|