--- /dev/null
+package tool;\r
+\r
+import java.security.MessageDigest;\r
+import java.util.TimeZone;\r
+\r
+import gnu.regexp.RE;\r
+import mir.util.StringRoutines;\r
+\r
+/**\r
+ * <p>Title: </p>\r
+ * <p>Description: </p>\r
+ * <p>Copyright: Copyright (c) 2003</p>\r
+ * <p>Company: </p>\r
+ * @author not attributable\r
+ * @version 1.0\r
+ */\r
+\r
+public class ConfigTool {\r
+ public ConfigTool() {\r
+ }\r
+\r
+ public static void timezone(String aSpecification) {\r
+ try {\r
+ RE specification = new RE(aSpecification);\r
+ String[] timeZoneIds = TimeZone.getAvailableIDs();\r
+\r
+ System.out.println("ID\tOffset\tDST?\tName");\r
+ for (int i=0; i<timeZoneIds.length; i++) {\r
+ if (specification.isMatch(timeZoneIds[i])) {\r
+ TimeZone timeZone = TimeZone.getTimeZone(timeZoneIds[i]);\r
+ long offset = timeZone.getRawOffset()/(1000*60);\r
+ String sign = "";\r
+ if (offset<0) {\r
+ offset=-offset;\r
+ sign = "-";\r
+ }\r
+\r
+ System.out.println(timeZone.getID() + "\t" + sign + offset/60 + ":" + StringRoutines.padStringLeft(Long.toString(offset%60),2,'0')+"\t"+(timeZone.useDaylightTime()?"yes":"no")+"\t"+ timeZone.getDisplayName());\r
+ }\r
+ }\r
+ }\r
+ catch (Throwable t) {\r
+ System.err.println(t.toString());\r
+ }\r
+ }\r
+\r
+ public static void digest(String aDigest, String aData) {\r
+ try {\r
+ MessageDigest messageDigest = MessageDigest.getInstance(aDigest);\r
+\r
+ System.out.println(StringRoutines.convertToHex(messageDigest.digest(aData.getBytes("UTF-8"))));\r
+ }\r
+ catch (Throwable t) {\r
+ System.err.println(t.toString());\r
+ }\r
+ }\r
+\r
+ public static void main(String[] anArguments) {\r
+ String command = "help";\r
+\r
+ if (anArguments.length >= 1) {\r
+ command = anArguments[0];\r
+\r
+ if (command.equals("timezone")) {\r
+ if (anArguments.length<=2) {\r
+ if (anArguments.length==2)\r
+ timezone(anArguments[1]);\r
+ else\r
+ timezone(".*");\r
+ }\r
+\r
+ return;\r
+ }\r
+ else if (command.equals("digest")) {\r
+ if (anArguments.length == 3) {\r
+ digest(anArguments[1], anArguments[2]);\r
+\r
+ return;\r
+ }\r
+ }\r
+ }\r
+\r
+\r
+\r
+ System.out.println("Usage:");\r
+\r
+ System.out.println(" ConfigTool timezone [regexp]");\r
+ System.out.println("");\r
+ System.out.println(" Shows the available timezones");\r
+ System.out.println("");\r
+ System.out.println(" BundleTool digest <digestname> <string>");\r
+ System.out.println("");\r
+ System.out.println(" Calculates the digest of a string.");\r
+ System.out.println("");\r
+ }\r
+}
\ No newline at end of file