Browse Source

Let the date formatter pick the locale.

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>
stable-2.0
Daniel Megert 13 years ago committed by Matthias Sohn
parent
commit
709cd52958
  1. 13
      org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/MockSystemReader.java
  2. 10
      org.eclipse.jgit/src/org/eclipse/jgit/util/GitDateFormatter.java
  3. 33
      org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java

13
org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/MockSystemReader.java

@ -47,6 +47,8 @@ package org.eclipse.jgit.junit;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.HashMap; import java.util.HashMap;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
@ -151,6 +153,17 @@ public class MockSystemReader extends SystemReader {
return Locale.US; 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 * Assign some properties for the currently executing platform
*/ */

10
org.eclipse.jgit/src/org/eclipse/jgit/util/GitDateFormatter.java

@ -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. * and other copyright owners as documented in the project's IP log.
* *
* This program and the accompanying materials are made available * This program and the accompanying materials are made available
@ -144,10 +144,10 @@ public class GitDateFormatter {
break; break;
case LOCALE: case LOCALE:
case LOCALELOCAL: case LOCALELOCAL:
Locale locale = SystemReader.getInstance().getLocale(); SystemReader systemReader = SystemReader.getInstance();
dateTimeInstance = DateFormat.getDateTimeInstance( dateTimeInstance = systemReader.getDateTimeInstance(
DateFormat.DEFAULT, DateFormat.DEFAULT, locale); DateFormat.DEFAULT, DateFormat.DEFAULT);
dateTimeInstance2 = new SimpleDateFormat("Z", locale); dateTimeInstance2 = systemReader.getSimpleDateFormat("Z");
break; break;
} }
} }

33
org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java

@ -2,6 +2,7 @@
* Copyright (C) 2009, Google Inc. * Copyright (C) 2009, Google Inc.
* Copyright (C) 2009, Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2009, Robin Rosenberg <robin.rosenberg@dewire.com>
* Copyright (C) 2009, Yann Simon <yann.simon.fr@gmail.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. * and other copyright owners as documented in the project's IP log.
* *
* This program and the accompanying materials are made available * This program and the accompanying materials are made available
@ -48,6 +49,8 @@ package org.eclipse.jgit.util;
import java.io.File; import java.io.File;
import java.net.InetAddress; import java.net.InetAddress;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Locale; import java.util.Locale;
import java.util.TimeZone; import java.util.TimeZone;
@ -204,4 +207,34 @@ public abstract class SystemReader {
public Locale getLocale() { public Locale getLocale() {
return Locale.getDefault(); 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);
}
} }

Loading…
Cancel
Save