ICU-7919 Synchronized eclipse37 with maint-4-4 r30611 to integrate follow up fixes for #8774 (r30608).
X-SVN-Rev: 30612
diff --git a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DateFormat.java b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DateFormat.java
index 14d0c9a..c83ca22 100644
--- a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DateFormat.java
+++ b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DateFormat.java
@@ -131,7 +131,10 @@
* work correctly unless they manipulate the delegate.
*/
protected DateFormat() {
- this.dateFormat = java.text.DateFormat.getInstance();
+ this.dateFormat = java.text.DateFormat.getDateTimeInstance(
+ java.text.DateFormat.SHORT,
+ java.text.DateFormat.SHORT,
+ ULocale.getDefault(Category.FORMAT).toLocale());
}
/**
@@ -897,7 +900,9 @@
*/
public final static DateFormat getTimeInstance()
{
- return new DateFormat(java.text.DateFormat.getTimeInstance());
+ return new DateFormat(java.text.DateFormat.getTimeInstance(
+ java.text.DateFormat.DEFAULT,
+ ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
@@ -910,7 +915,9 @@
*/
public final static DateFormat getTimeInstance(int style)
{
- return new DateFormat(java.text.DateFormat.getTimeInstance(getJDKFormatStyle(style)));
+ return new DateFormat(java.text.DateFormat.getTimeInstance(
+ getJDKFormatStyle(style),
+ ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
@@ -951,7 +958,9 @@
*/
public final static DateFormat getDateInstance()
{
- return new DateFormat(java.text.DateFormat.getDateInstance());
+ return new DateFormat(java.text.DateFormat.getDateInstance(
+ java.text.DateFormat.DEFAULT,
+ ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
@@ -964,7 +973,9 @@
*/
public final static DateFormat getDateInstance(int style)
{
- return new DateFormat(java.text.DateFormat.getDateInstance(getJDKFormatStyle(style)));
+ return new DateFormat(java.text.DateFormat.getDateInstance(
+ getJDKFormatStyle(style),
+ ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
@@ -1005,7 +1016,10 @@
*/
public final static DateFormat getDateTimeInstance()
{
- return new DateFormat(java.text.DateFormat.getDateTimeInstance());
+ return new DateFormat(java.text.DateFormat.getDateTimeInstance(
+ java.text.DateFormat.DEFAULT,
+ java.text.DateFormat.DEFAULT,
+ ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
@@ -1023,13 +1037,20 @@
{
if (dateStyle != NONE) {
if (timeStyle != NONE) {
- return new DateFormat(java.text.DateFormat.getDateTimeInstance(getJDKFormatStyle(dateStyle), getJDKFormatStyle(timeStyle)));
+ return new DateFormat(java.text.DateFormat.getDateTimeInstance(
+ getJDKFormatStyle(dateStyle),
+ getJDKFormatStyle(timeStyle),
+ ULocale.getDefault(Category.FORMAT).toLocale()));
} else {
- return new DateFormat(java.text.DateFormat.getDateInstance(getJDKFormatStyle(dateStyle)));
+ return new DateFormat(java.text.DateFormat.getDateInstance(
+ getJDKFormatStyle(dateStyle),
+ ULocale.getDefault(Category.FORMAT).toLocale()));
}
}
if (timeStyle != NONE) {
- return new DateFormat(java.text.DateFormat.getTimeInstance(getJDKFormatStyle(timeStyle)));
+ return new DateFormat(java.text.DateFormat.getTimeInstance(
+ getJDKFormatStyle(timeStyle),
+ ULocale.getDefault(Category.FORMAT).toLocale()));
}
return null;
}
@@ -1090,7 +1111,10 @@
* @stable ICU 2.0
*/
public final static DateFormat getInstance() {
- return new DateFormat(java.text.DateFormat.getInstance());
+ return new DateFormat(java.text.DateFormat.getDateTimeInstance(
+ java.text.DateFormat.SHORT,
+ java.text.DateFormat.SHORT,
+ ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
@@ -1434,7 +1458,7 @@
* @stable ICU 2.0
*/
static final public DateFormat getTimeInstance(Calendar cal, int timeStyle) {
- return getTimeInstance(cal, timeStyle, Locale.getDefault());
+ return getTimeInstance(cal, timeStyle, ULocale.getDefault(Category.FORMAT));
}
/**
diff --git a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DateFormatSymbols.java b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DateFormatSymbols.java
index 2cff97c..a73dc19 100644
--- a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DateFormatSymbols.java
+++ b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DateFormatSymbols.java
@@ -16,6 +16,7 @@
import com.ibm.icu.util.Calendar;
import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.ULocale.Category;
/**
* {@icuenhanced java.text.DateFormatSymbols}.{@icu _usage_}
@@ -135,7 +136,7 @@
*/
public DateFormatSymbols()
{
- this(new java.text.DateFormatSymbols());
+ this(new java.text.DateFormatSymbols(ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
@@ -176,7 +177,7 @@
* @stable ICU 3.8
*/
public static DateFormatSymbols getInstance() {
- return new DateFormatSymbols(new java.text.DateFormatSymbols());
+ return new DateFormatSymbols();
}
/**
diff --git a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DecimalFormat.java b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DecimalFormat.java
index 14eea14..c440fa2 100644
--- a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DecimalFormat.java
+++ b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DecimalFormat.java
@@ -13,6 +13,7 @@
import java.text.CharacterIterator;
import java.text.FieldPosition;
import java.text.ParsePosition;
+import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
@@ -20,6 +21,8 @@
import com.ibm.icu.math.MathContext;
import com.ibm.icu.util.Currency;
import com.ibm.icu.util.CurrencyAmount;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.ULocale.Category;
/**
* {@icuenhanced java.text.DecimalFormat}.{@icu _usage_}
@@ -613,7 +616,19 @@
* @stable ICU 2.0
*/
public DecimalFormat() {
+ // There is no way to construct java.text.DecimalFormat with an
+ // explicit Locale.
this(new java.text.DecimalFormat());
+
+ if (!ULocale.getDefault(Category.FORMAT).toLocale().equals(Locale.getDefault())) {
+ // On Java 6 or older JRE, ULocale's FORMAT default might be different
+ // from the locale used for constructing java.text.DecimalFormat
+ java.text.NumberFormat jdkNfmt = java.text.NumberFormat.getInstance(ULocale.getDefault(Category.FORMAT).toLocale());
+ if (jdkNfmt instanceof java.text.DecimalFormat) {
+ ((java.text.DecimalFormat)numberFormat).applyPattern(((java.text.DecimalFormat)jdkNfmt).toPattern());
+ ((java.text.DecimalFormat)numberFormat).setDecimalFormatSymbols(((java.text.DecimalFormat)jdkNfmt).getDecimalFormatSymbols());
+ }
+ }
}
/**
@@ -634,7 +649,9 @@
* @stable ICU 2.0
*/
public DecimalFormat(String pattern) {
- this(new java.text.DecimalFormat(pattern));
+ this(new java.text.DecimalFormat(
+ pattern,
+ new java.text.DecimalFormatSymbols(ULocale.getDefault(Category.FORMAT).toLocale())));
}
/**
diff --git a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DecimalFormatSymbols.java b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DecimalFormatSymbols.java
index 51fc72a..db03cd0 100644
--- a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DecimalFormatSymbols.java
+++ b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/DecimalFormatSymbols.java
@@ -12,6 +12,7 @@
import java.util.Locale;
import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.ULocale.Category;
/**
* This class represents the set of symbols (such as the decimal separator, the
@@ -54,7 +55,7 @@
* @stable ICU 2.0
*/
public DecimalFormatSymbols() {
- this(new java.text.DecimalFormatSymbols());
+ this(new java.text.DecimalFormatSymbols(ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
diff --git a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/MessageFormat.java b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/MessageFormat.java
index 31c2713..4af6823 100644
--- a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/MessageFormat.java
+++ b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/MessageFormat.java
@@ -26,6 +26,7 @@
import java.util.Set;
import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.ULocale.Category;
/**
* {@icuenhanced java.text.MessageFormat}.{@icu _usage_}
@@ -437,7 +438,7 @@
* @stable ICU 3.0
*/
public MessageFormat(String pattern) {
- this(new java.text.MessageFormat(pattern));
+ this(new java.text.MessageFormat(pattern, ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
diff --git a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/NumberFormat.java b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/NumberFormat.java
index 831e146..bc23e4a 100644
--- a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/NumberFormat.java
+++ b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/text/NumberFormat.java
@@ -1137,13 +1137,13 @@
}
/**
- * Empty constructor. Public for compatibily with JDK which lets the
+ * Empty constructor. Public for compatibility with JDK which lets the
* compiler generate a default public constructor even though this is
* an abstract class.
* @stable ICU 2.6
*/
public NumberFormat() {
- this(java.text.NumberFormat.getInstance());
+ this(java.text.NumberFormat.getInstance(ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
diff --git a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/Calendar.java b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/Calendar.java
index d7b4730..5686ccf 100644
--- a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/Calendar.java
+++ b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/Calendar.java
@@ -1172,7 +1172,7 @@
*/
public static synchronized Calendar getInstance()
{
- return new Calendar(java.util.Calendar.getInstance());
+ return new Calendar(java.util.Calendar.getInstance(ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
@@ -1183,7 +1183,7 @@
*/
public static synchronized Calendar getInstance(TimeZone zone)
{
- return new Calendar(java.util.Calendar.getInstance(zone.timeZone));
+ return new Calendar(java.util.Calendar.getInstance(zone.timeZone, ULocale.getDefault(Category.FORMAT).toLocale()));
}
/**
diff --git a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/Currency.java b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/Currency.java
index d635029..1d01024 100644
--- a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/Currency.java
+++ b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/Currency.java
@@ -11,6 +11,8 @@
import java.util.Date;
import java.util.Locale;
+import com.ibm.icu.util.ULocale.Category;
+
/**
* A class encapsulating a currency, as defined by ISO 4217. A
* <tt>Currency</tt> object can be created given a <tt>Locale</tt> or
@@ -230,7 +232,7 @@
* @stable ICU 3.4
*/
public String getSymbol() {
- return currency.getSymbol();
+ return currency.getSymbol(ULocale.getDefault(Category.DISPLAY).toLocale());
}
/**
diff --git a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/TimeZone.java b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/TimeZone.java
index 0e35274..5ff5732 100644
--- a/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/TimeZone.java
+++ b/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/util/TimeZone.java
@@ -322,7 +322,7 @@
* @stable ICU 2.0
*/
public final String getDisplayName() {
- return timeZone.getDisplayName();
+ return timeZone.getDisplayName(ULocale.getDefault(Category.DISPLAY).toLocale());
}
/**