]> source.dussan.org Git - jgit.git/commitdiff
Let the date formatter pick the locale. 66/4966/4
authorDaniel Megert <daniel_megert@ch.ibm.com>
Wed, 22 Feb 2012 20:32:43 +0000 (21:32 +0100)
committerMatthias Sohn <matthias.sohn@sap.com>
Sat, 25 Feb 2012 22:37:02 +0000 (23:37 +0100)
Instead of using the locale from the SystemReader we let the
SystemReader create the date formats without passing the locale.

Bug 368756
Change-Id: I6be9e07af804a08f3f3ac2d2d526ef594eed19e3
Signed-off-by: Daniel Megert <daniel_megert@ch.ibm.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/MockSystemReader.java
org.eclipse.jgit/src/org/eclipse/jgit/util/GitDateFormatter.java
org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java

index ae1c5d9fe8cc295fccf586e16f666dcf9dfcb64b..23bf5632cce7a40a379f19fcb4ca347007753bdd 100644 (file)
@@ -47,6 +47,8 @@ package org.eclipse.jgit.junit;
 
 import java.io.File;
 import java.io.IOException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
@@ -151,6 +153,17 @@ public class MockSystemReader extends SystemReader {
                return Locale.US;
        }
 
+       @Override
+       public SimpleDateFormat getSimpleDateFormat(String pattern) {
+               return new SimpleDateFormat(pattern, getLocale());
+       }
+
+       @Override
+       public DateFormat getDateTimeInstance(int dateStyle, int timeStyle) {
+               return DateFormat
+                               .getDateTimeInstance(dateStyle, timeStyle, getLocale());
+       }
+
        /**
         * Assign some properties for the currently executing platform
         */
index 2f9a8ddc17ed15cc90e81b90348c2b768a09aa90..09326d697f1adc7f9cae360b565c5884a46e529d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011, Robin Rosenberg
+ * Copyright (C) 2011, 2012 Robin Rosenberg
  * and other copyright owners as documented in the project's IP log.
  *
  * This program and the accompanying materials are made available
@@ -144,10 +144,10 @@ public class GitDateFormatter {
                        break;
                case LOCALE:
                case LOCALELOCAL:
-                       Locale locale = SystemReader.getInstance().getLocale();
-                       dateTimeInstance = DateFormat.getDateTimeInstance(
-                                       DateFormat.DEFAULT, DateFormat.DEFAULT, locale);
-                       dateTimeInstance2 = new SimpleDateFormat("Z", locale);
+                       SystemReader systemReader = SystemReader.getInstance();
+                       dateTimeInstance = systemReader.getDateTimeInstance(
+                                       DateFormat.DEFAULT, DateFormat.DEFAULT);
+                       dateTimeInstance2 = systemReader.getSimpleDateFormat("Z");
                        break;
                }
        }
index 3afd9e567592439d9b3c3c93f117d89cf259f16b..4181a2fb296a9fdfcaf0b74323d2e79bb152b693 100644 (file)
@@ -2,6 +2,7 @@
  * Copyright (C) 2009, Google Inc.
  * Copyright (C) 2009, Robin Rosenberg <robin.rosenberg@dewire.com>
  * Copyright (C) 2009, Yann Simon <yann.simon.fr@gmail.com>
+ * Copyright (C) 2012, Daniel Megert <daniel_megert@ch.ibm.com>
  * and other copyright owners as documented in the project's IP log.
  *
  * This program and the accompanying materials are made available
@@ -48,6 +49,8 @@ package org.eclipse.jgit.util;
 import java.io.File;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.Locale;
 import java.util.TimeZone;
 
@@ -204,4 +207,34 @@ public abstract class SystemReader {
        public Locale getLocale() {
                return Locale.getDefault();
        }
+
+       /**
+        * Returns a simple date format instance as specified by the given pattern.
+        *
+        * @param pattern
+        *            the pattern as defined in
+        *            {@link SimpleDateFormat#SimpleDateFormat(String)}
+        * @return the simple date format
+        * @since 2.0
+        */
+       public SimpleDateFormat getSimpleDateFormat(String pattern) {
+               return new SimpleDateFormat(pattern);
+       }
+
+       /**
+        * Returns a date/time format instance for the given styles.
+        *
+        * @param dateStyle
+        *            the date style as specified in
+        *            {@link DateFormat#getDateTimeInstance(int, int)}
+        * @param timeStyle
+        *            the time style as specified in
+        *            {@link DateFormat#getDateTimeInstance(int, int)}
+        * @return the date format
+        * @since 2.0
+        */
+       public DateFormat getDateTimeInstance(int dateStyle, int timeStyle) {
+               return DateFormat.getDateTimeInstance(dateStyle, timeStyle);
+       }
+
 }