1.1 --- a/rt/emul/compact/src/main/java/java/text/CalendarBuilder.java Fri Oct 04 10:52:01 2013 +0200
1.2 +++ b/rt/emul/compact/src/main/java/java/text/CalendarBuilder.java Fri Oct 04 11:07:00 2013 +0200
1.3 @@ -26,7 +26,7 @@
1.4 package java.text;
1.5
1.6 import java.util.Calendar;
1.7 -import static java.util.GregorianCalendar.*;
1.8 +import static java.util.Calendar.*;
1.9
1.10 /**
1.11 * {@code CalendarBuilder} keeps field-value pairs for setting
2.1 --- a/rt/emul/compact/src/main/java/java/text/DateFormat.java Fri Oct 04 10:52:01 2013 +0200
2.2 +++ b/rt/emul/compact/src/main/java/java/text/DateFormat.java Fri Oct 04 11:07:00 2013 +0200
2.3 @@ -39,18 +39,13 @@
2.4 package java.text;
2.5
2.6 import java.io.InvalidObjectException;
2.7 -import java.text.spi.DateFormatProvider;
2.8 import java.util.Calendar;
2.9 import java.util.Date;
2.10 -import java.util.GregorianCalendar;
2.11 import java.util.HashMap;
2.12 import java.util.Locale;
2.13 import java.util.Map;
2.14 import java.util.MissingResourceException;
2.15 -import java.util.ResourceBundle;
2.16 import java.util.TimeZone;
2.17 -import java.util.spi.LocaleServiceProvider;
2.18 -import sun.util.LocaleServiceProviderPool;
2.19
2.20 /**
2.21 * {@code DateFormat} is an abstract class for date/time formatting subclasses which
2.22 @@ -570,9 +565,7 @@
2.23 */
2.24 public static Locale[] getAvailableLocales()
2.25 {
2.26 - LocaleServiceProviderPool pool =
2.27 - LocaleServiceProviderPool.getPool(DateFormatProvider.class);
2.28 - return pool.getAvailableLocales();
2.29 + return new Locale[] { Locale.US };
2.30 }
2.31
2.32 /**
2.33 @@ -755,6 +748,7 @@
2.34 try {
2.35 // Check whether a provider can provide an implementation that's closer
2.36 // to the requested locale than what the Java runtime itself can provide.
2.37 + /*
2.38 LocaleServiceProviderPool pool =
2.39 LocaleServiceProviderPool.getPool(DateFormatProvider.class);
2.40 if (pool.hasProviders()) {
2.41 @@ -768,6 +762,7 @@
2.42 return providersInstance;
2.43 }
2.44 }
2.45 + */
2.46
2.47 return new SimpleDateFormat(timeStyle, dateStyle, loc);
2.48 } catch (MissingResourceException e) {
2.49 @@ -998,7 +993,6 @@
2.50 /**
2.51 * Obtains a DateFormat instance from a DateFormatProvider
2.52 * implementation.
2.53 - */
2.54 private static class DateFormatGetter
2.55 implements LocaleServiceProviderPool.LocalizedObjectGetter<DateFormatProvider, DateFormat> {
2.56 private static final DateFormatGetter INSTANCE = new DateFormatGetter();
2.57 @@ -1027,4 +1021,5 @@
2.58 return null;
2.59 }
2.60 }
2.61 + */
2.62 }
3.1 --- a/rt/emul/compact/src/main/java/java/text/DateFormatSymbols.java Fri Oct 04 10:52:01 2013 +0200
3.2 +++ b/rt/emul/compact/src/main/java/java/text/DateFormatSymbols.java Fri Oct 04 11:07:00 2013 +0200
3.3 @@ -42,19 +42,11 @@
3.4 import java.io.ObjectOutputStream;
3.5 import java.io.Serializable;
3.6 import java.lang.ref.SoftReference;
3.7 -import java.text.spi.DateFormatSymbolsProvider;
3.8 import java.util.Arrays;
3.9 -import java.util.List;
3.10 import java.util.Locale;
3.11 import java.util.ResourceBundle;
3.12 -import java.util.TimeZone;
3.13 import java.util.concurrent.ConcurrentHashMap;
3.14 import java.util.concurrent.ConcurrentMap;
3.15 -import java.util.spi.LocaleServiceProvider;
3.16 -import sun.util.LocaleServiceProviderPool;
3.17 -import sun.util.TimeZoneNameUtility;
3.18 -import sun.util.calendar.ZoneInfo;
3.19 -import sun.util.resources.LocaleData;
3.20
3.21 /**
3.22 * <code>DateFormatSymbols</code> is a public class for encapsulating
3.23 @@ -290,9 +282,10 @@
3.24 * @since 1.6
3.25 */
3.26 public static Locale[] getAvailableLocales() {
3.27 - LocaleServiceProviderPool pool=
3.28 - LocaleServiceProviderPool.getPool(DateFormatSymbolsProvider.class);
3.29 - return pool.getAvailableLocales();
3.30 + return new Locale[] { Locale.US };
3.31 +// LocaleServiceProviderPool pool=
3.32 +// LocaleServiceProviderPool.getPool(DateFormatSymbolsProvider.class);
3.33 +// return pool.getAvailableLocales();
3.34 }
3.35
3.36 /**
3.37 @@ -348,12 +341,12 @@
3.38
3.39 // Check whether a provider can provide an implementation that's closer
3.40 // to the requested locale than what the Java runtime itself can provide.
3.41 - LocaleServiceProviderPool pool =
3.42 - LocaleServiceProviderPool.getPool(DateFormatSymbolsProvider.class);
3.43 - if (pool.hasProviders()) {
3.44 - providersInstance = pool.getLocalizedObject(
3.45 - DateFormatSymbolsGetter.INSTANCE, locale);
3.46 - }
3.47 +// LocaleServiceProviderPool pool =
3.48 +// LocaleServiceProviderPool.getPool(DateFormatSymbolsProvider.class);
3.49 +// if (pool.hasProviders()) {
3.50 +// providersInstance = pool.getLocalizedObject(
3.51 +// DateFormatSymbolsGetter.INSTANCE, locale);
3.52 +// }
3.53 return providersInstance;
3.54 }
3.55
3.56 @@ -659,17 +652,17 @@
3.57 }
3.58
3.59 // Initialize the fields from the ResourceBundle for locale.
3.60 - ResourceBundle resource = LocaleData.getDateFormatData(locale);
3.61 -
3.62 - eras = resource.getStringArray("Eras");
3.63 - months = resource.getStringArray("MonthNames");
3.64 - shortMonths = resource.getStringArray("MonthAbbreviations");
3.65 - ampms = resource.getStringArray("AmPmMarkers");
3.66 - localPatternChars = resource.getString("DateTimePatternChars");
3.67 -
3.68 - // Day of week names are stored in a 1-based array.
3.69 - weekdays = toOneBasedArray(resource.getStringArray("DayNames"));
3.70 - shortWeekdays = toOneBasedArray(resource.getStringArray("DayAbbreviations"));
3.71 +// ResourceBundle resource = LocaleData.getDateFormatData(locale);
3.72 +//
3.73 +// eras = resource.getStringArray("Eras");
3.74 +// months = resource.getStringArray("MonthNames");
3.75 +// shortMonths = resource.getStringArray("MonthAbbreviations");
3.76 +// ampms = resource.getStringArray("AmPmMarkers");
3.77 +// localPatternChars = resource.getString("DateTimePatternChars");
3.78 +//
3.79 +// // Day of week names are stored in a 1-based array.
3.80 +// weekdays = toOneBasedArray(resource.getStringArray("DayNames"));
3.81 +// shortWeekdays = toOneBasedArray(resource.getStringArray("DayAbbreviations"));
3.82 }
3.83
3.84 private static String[] toOneBasedArray(String[] src) {
3.85 @@ -718,7 +711,7 @@
3.86
3.87 private final String[][] getZoneStringsImpl(boolean needsCopy) {
3.88 if (zoneStrings == null) {
3.89 - zoneStrings = TimeZoneNameUtility.getZoneStrings(locale);
3.90 +// zoneStrings = TimeZoneNameUtility.getZoneStrings(locale);
3.91 }
3.92
3.93 if (!needsCopy) {
3.94 @@ -765,7 +758,6 @@
3.95 * sure the backward compatibility.
3.96 *
3.97 * @since 1.6
3.98 - */
3.99 private void writeObject(ObjectOutputStream stream) throws IOException {
3.100 if (zoneStrings == null) {
3.101 zoneStrings = TimeZoneNameUtility.getZoneStrings(locale);
3.102 @@ -776,7 +768,6 @@
3.103 /**
3.104 * Obtains a DateFormatSymbols instance from a DateFormatSymbolsProvider
3.105 * implementation.
3.106 - */
3.107 private static class DateFormatSymbolsGetter
3.108 implements LocaleServiceProviderPool.LocalizedObjectGetter<DateFormatSymbolsProvider,
3.109 DateFormatSymbols> {
3.110 @@ -791,4 +782,5 @@
3.111 return dateFormatSymbolsProvider.getInstance(locale);
3.112 }
3.113 }
3.114 + */
3.115 }
4.1 --- a/rt/emul/compact/src/main/java/java/text/DecimalFormat.java Fri Oct 04 10:52:01 2013 +0200
4.2 +++ b/rt/emul/compact/src/main/java/java/text/DecimalFormat.java Fri Oct 04 11:07:00 2013 +0200
4.3 @@ -52,7 +52,6 @@
4.4 import java.util.concurrent.ConcurrentMap;
4.5 import java.util.concurrent.atomic.AtomicInteger;
4.6 import java.util.concurrent.atomic.AtomicLong;
4.7 -import sun.util.resources.LocaleData;
4.8
4.9 /**
4.10 * <code>DecimalFormat</code> is a concrete subclass of
4.11 @@ -398,11 +397,11 @@
4.12 String pattern = cachedLocaleData.get(def);
4.13 if (pattern == null) { /* cache miss */
4.14 // Get the pattern for the default locale.
4.15 - ResourceBundle rb = LocaleData.getNumberFormatData(def);
4.16 - String[] all = rb.getStringArray("NumberPatterns");
4.17 - pattern = all[0];
4.18 - /* update cache */
4.19 - cachedLocaleData.putIfAbsent(def, pattern);
4.20 +// ResourceBundle rb = LocaleData.getNumberFormatData(def);
4.21 +// String[] all = rb.getStringArray("NumberPatterns");
4.22 +// pattern = all[0];
4.23 +// /* update cache */
4.24 +// cachedLocaleData.putIfAbsent(def, pattern);
4.25 }
4.26
4.27 // Always applyPattern after the symbols are set
5.1 --- a/rt/emul/compact/src/main/java/java/text/DecimalFormatSymbols.java Fri Oct 04 10:52:01 2013 +0200
5.2 +++ b/rt/emul/compact/src/main/java/java/text/DecimalFormatSymbols.java Fri Oct 04 11:07:00 2013 +0200
5.3 @@ -41,15 +41,11 @@
5.4 import java.io.IOException;
5.5 import java.io.ObjectInputStream;
5.6 import java.io.Serializable;
5.7 -import java.text.spi.DecimalFormatSymbolsProvider;
5.8 import java.util.Currency;
5.9 import java.util.Locale;
5.10 import java.util.ResourceBundle;
5.11 import java.util.concurrent.ConcurrentHashMap;
5.12
5.13 -import sun.util.LocaleServiceProviderPool;
5.14 -import sun.util.resources.LocaleData;
5.15 -
5.16 /**
5.17 * This class represents the set of symbols (such as the decimal separator,
5.18 * the grouping separator, and so on) needed by <code>DecimalFormat</code>
5.19 @@ -109,9 +105,10 @@
5.20 * @since 1.6
5.21 */
5.22 public static Locale[] getAvailableLocales() {
5.23 - LocaleServiceProviderPool pool =
5.24 - LocaleServiceProviderPool.getPool(DecimalFormatSymbolsProvider.class);
5.25 - return pool.getAvailableLocales();
5.26 + return new Locale[] { Locale.US };
5.27 +// LocaleServiceProviderPool pool =
5.28 +// LocaleServiceProviderPool.getPool(DecimalFormatSymbolsProvider.class);
5.29 +// return pool.getAvailableLocales();
5.30 }
5.31
5.32 /**
5.33 @@ -141,7 +138,7 @@
5.34 * @since 1.6
5.35 */
5.36 public static final DecimalFormatSymbols getInstance(Locale locale) {
5.37 -
5.38 +/*
5.39 // Check whether a provider can provide an implementation that's closer
5.40 // to the requested locale than what the Java runtime itself can provide.
5.41 LocaleServiceProviderPool pool =
5.42 @@ -153,7 +150,7 @@
5.43 return providersInstance;
5.44 }
5.45 }
5.46 -
5.47 +*/
5.48 return new DecimalFormatSymbols(locale);
5.49 }
5.50
5.51 @@ -537,8 +534,8 @@
5.52 lookupLocale = new Locale("th", "TH", "TH");
5.53 }
5.54 data = new Object[3];
5.55 - ResourceBundle rb = LocaleData.getNumberFormatData(lookupLocale);
5.56 - data[0] = rb.getStringArray("NumberElements");
5.57 +// ResourceBundle rb = LocaleData.getNumberFormatData(lookupLocale);
5.58 +// data[0] = rb.getStringArray("NumberElements");
5.59 needCacheUpdate = true;
5.60 }
5.61
5.62 @@ -818,7 +815,6 @@
5.63 /**
5.64 * Obtains a DecimalFormatSymbols instance from a DecimalFormatSymbolsProvider
5.65 * implementation.
5.66 - */
5.67 private static class DecimalFormatSymbolsGetter
5.68 implements LocaleServiceProviderPool.LocalizedObjectGetter<DecimalFormatSymbolsProvider,
5.69 DecimalFormatSymbols> {
5.70 @@ -834,4 +830,5 @@
5.71 return decimalFormatSymbolsProvider.getInstance(locale);
5.72 }
5.73 }
5.74 + */
5.75 }
6.1 --- a/rt/emul/compact/src/main/java/java/text/NumberFormat.java Fri Oct 04 10:52:01 2013 +0200
6.2 +++ b/rt/emul/compact/src/main/java/java/text/NumberFormat.java Fri Oct 04 11:07:00 2013 +0200
6.3 @@ -44,7 +44,6 @@
6.4 import java.io.ObjectOutputStream;
6.5 import java.math.BigInteger;
6.6 import java.math.RoundingMode;
6.7 -import java.text.spi.NumberFormatProvider;
6.8 import java.util.Currency;
6.9 import java.util.HashMap;
6.10 import java.util.Hashtable;
6.11 @@ -53,9 +52,6 @@
6.12 import java.util.ResourceBundle;
6.13 import java.util.concurrent.atomic.AtomicInteger;
6.14 import java.util.concurrent.atomic.AtomicLong;
6.15 -import java.util.spi.LocaleServiceProvider;
6.16 -import sun.util.LocaleServiceProviderPool;
6.17 -import sun.util.resources.LocaleData;
6.18
6.19 /**
6.20 * <code>NumberFormat</code> is the abstract base class for all number
6.21 @@ -393,8 +389,7 @@
6.22 return getInstance(inLocale, NUMBERSTYLE);
6.23 }
6.24
6.25 - /**
6.26 - * Returns a general-purpose number format for the current default locale.
6.27 + /** * Returns a general-purpose number format for the current default locale.
6.28 */
6.29 public final static NumberFormat getNumberInstance() {
6.30 return getInstance(Locale.getDefault(Locale.Category.FORMAT), NUMBERSTYLE);
6.31 @@ -495,9 +490,10 @@
6.32 * <code>NumberFormat</code> instances are available.
6.33 */
6.34 public static Locale[] getAvailableLocales() {
6.35 - LocaleServiceProviderPool pool =
6.36 - LocaleServiceProviderPool.getPool(NumberFormatProvider.class);
6.37 - return pool.getAvailableLocales();
6.38 + return new Locale[] { Locale.US };
6.39 +// LocaleServiceProviderPool pool =
6.40 +// LocaleServiceProviderPool.getPool(NumberFormatProvider.class);
6.41 +// return pool.getAvailableLocales();
6.42 }
6.43
6.44 /**
6.45 @@ -743,26 +739,26 @@
6.46 int choice) {
6.47 // Check whether a provider can provide an implementation that's closer
6.48 // to the requested locale than what the Java runtime itself can provide.
6.49 - LocaleServiceProviderPool pool =
6.50 - LocaleServiceProviderPool.getPool(NumberFormatProvider.class);
6.51 - if (pool.hasProviders()) {
6.52 - NumberFormat providersInstance = pool.getLocalizedObject(
6.53 - NumberFormatGetter.INSTANCE,
6.54 - desiredLocale,
6.55 - choice);
6.56 - if (providersInstance != null) {
6.57 - return providersInstance;
6.58 - }
6.59 - }
6.60 +// LocaleServiceProviderPool pool =
6.61 +// LocaleServiceProviderPool.getPool(NumberFormatProvider.class);
6.62 +// if (pool.hasProviders()) {
6.63 +// NumberFormat providersInstance = pool.getLocalizedObject(
6.64 +// NumberFormatGetter.INSTANCE,
6.65 +// desiredLocale,
6.66 +// choice);
6.67 +// if (providersInstance != null) {
6.68 +// return providersInstance;
6.69 +// }
6.70 +// }
6.71
6.72 /* try the cache first */
6.73 String[] numberPatterns = (String[])cachedLocaleData.get(desiredLocale);
6.74 - if (numberPatterns == null) { /* cache miss */
6.75 - ResourceBundle resource = LocaleData.getNumberFormatData(desiredLocale);
6.76 - numberPatterns = resource.getStringArray("NumberPatterns");
6.77 - /* update cache */
6.78 - cachedLocaleData.put(desiredLocale, numberPatterns);
6.79 - }
6.80 +// if (numberPatterns == null) { /* cache miss */
6.81 +// ResourceBundle resource = LocaleData.getNumberFormatData(desiredLocale);
6.82 +// numberPatterns = resource.getStringArray("NumberPatterns");
6.83 +// /* update cache */
6.84 +// cachedLocaleData.put(desiredLocale, numberPatterns);
6.85 +// }
6.86
6.87 DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(desiredLocale);
6.88 int entry = (choice == INTEGERSTYLE) ? NUMBERSTYLE : choice;
6.89 @@ -1130,7 +1126,7 @@
6.90
6.91 /**
6.92 * Obtains a NumberFormat instance from a NumberFormatProvider implementation.
6.93 - */
6.94 + *
6.95 private static class NumberFormatGetter
6.96 implements LocaleServiceProviderPool.LocalizedObjectGetter<NumberFormatProvider,
6.97 NumberFormat> {
6.98 @@ -1159,4 +1155,5 @@
6.99 return null;
6.100 }
6.101 }
6.102 + */
6.103 }
7.1 --- a/rt/emul/compact/src/main/java/java/text/SimpleDateFormat.java Fri Oct 04 10:52:01 2013 +0200
7.2 +++ b/rt/emul/compact/src/main/java/java/text/SimpleDateFormat.java Fri Oct 04 11:07:00 2013 +0200
7.3 @@ -43,7 +43,6 @@
7.4 import java.io.ObjectInputStream;
7.5 import java.util.Calendar;
7.6 import java.util.Date;
7.7 -import java.util.GregorianCalendar;
7.8 import java.util.Locale;
7.9 import java.util.Map;
7.10 import java.util.MissingResourceException;
7.11 @@ -52,9 +51,6 @@
7.12 import java.util.TimeZone;
7.13 import java.util.concurrent.ConcurrentHashMap;
7.14 import java.util.concurrent.ConcurrentMap;
7.15 -import sun.util.calendar.CalendarUtils;
7.16 -import sun.util.calendar.ZoneInfoFile;
7.17 -import sun.util.resources.LocaleData;
7.18
7.19 import static java.text.DateFormatSymbols.*;
7.20
7.21 @@ -621,7 +617,7 @@
7.22 /* try the cache first */
7.23 String[] dateTimePatterns = cachedLocaleData.get(loc);
7.24 if (dateTimePatterns == null) { /* cache miss */
7.25 - ResourceBundle r = LocaleData.getDateFormatData(loc);
7.26 + ResourceBundle r = null; // LocaleData.getDateFormatData(loc);
7.27 if (!isGregorianCalendar()) {
7.28 try {
7.29 dateTimePatterns = r.getStringArray(getCalendarName() + ".DateTimePatterns");
7.30 @@ -1196,7 +1192,7 @@
7.31 if (zoneIndex == -1) {
7.32 value = calendar.get(Calendar.ZONE_OFFSET) +
7.33 calendar.get(Calendar.DST_OFFSET);
7.34 - buffer.append(ZoneInfoFile.toCustomID(value));
7.35 +// buffer.append(ZoneInfoFile.toCustomID(value));
7.36 } else {
7.37 int index = (calendar.get(Calendar.DST_OFFSET) == 0) ? 1: 3;
7.38 if (count < 4) {
7.39 @@ -1227,7 +1223,7 @@
7.40 }
7.41
7.42 int num = (value / 60) * 100 + (value % 60);
7.43 - CalendarUtils.sprintf0d(buffer, num, width);
7.44 +// CalendarUtils.sprintf0d(buffer, num, width);
7.45 break;
7.46
7.47 case PATTERN_ISO_ZONE: // 'X'
7.48 @@ -1247,7 +1243,7 @@
7.49 value = -value;
7.50 }
7.51
7.52 - CalendarUtils.sprintf0d(buffer, value / 60, 2);
7.53 +// CalendarUtils.sprintf0d(buffer, value / 60, 2);
7.54 if (count == 1) {
7.55 break;
7.56 }
7.57 @@ -1255,7 +1251,7 @@
7.58 if (count == 3) {
7.59 buffer.append(':');
7.60 }
7.61 - CalendarUtils.sprintf0d(buffer, value % 60, 2);
7.62 +// CalendarUtils.sprintf0d(buffer, value % 60, 2);
7.63 break;
7.64
7.65 default:
7.66 @@ -2347,4 +2343,41 @@
7.67 }
7.68 }
7.69
7.70 + private static final class GregorianCalendar extends Calendar {
7.71 + @Override
7.72 + protected void computeTime() {
7.73 + }
7.74 +
7.75 + @Override
7.76 + protected void computeFields() {
7.77 + }
7.78 +
7.79 + @Override
7.80 + public void add(int field, int amount) {
7.81 + }
7.82 +
7.83 + @Override
7.84 + public void roll(int field, boolean up) {
7.85 + }
7.86 +
7.87 + @Override
7.88 + public int getMinimum(int field) {
7.89 + return 0;
7.90 + }
7.91 +
7.92 + @Override
7.93 + public int getMaximum(int field) {
7.94 + return 0;
7.95 + }
7.96 +
7.97 + @Override
7.98 + public int getGreatestMinimum(int field) {
7.99 + return 0;
7.100 + }
7.101 +
7.102 + @Override
7.103 + public int getLeastMaximum(int field) {
7.104 + return 0;
7.105 + }
7.106 + }
7.107 }