With the new version of CLDR, the first day of the week and
the minimum number of days in a week are no longer included in the
LocaleInformation bundles.  Instead, they are in supplementaryData.xml
which is used to generate weeks.properties using supplementgen.
This patch updates java.util.Calendar to use the new property file.

ChangeLog:

2008-07-07  Andrew John Hughes  <[EMAIL PROTECTED]>

        * java/util/Calendar.java:
        (Calendar(TimeZone,Locale)): Use weeks.properties
        instead of LocaleInformation bundles.
        * resource/java/util/iso4217.properties:
        Updated with new supplementgen header.
        * resource/java/util/weeks.properties:
        New resource file.

-- 
Andrew :)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
Index: java/util/Calendar.java
===================================================================
RCS file: /sources/classpath/classpath/java/util/Calendar.java,v
retrieving revision 1.55
diff -u -u -r1.55 Calendar.java
--- java/util/Calendar.java     16 Mar 2008 22:44:41 -0000      1.55
+++ java/util/Calendar.java     7 Jul 2008 02:35:03 -0000
@@ -487,6 +487,28 @@
   }
 
   /**
+   * The set of properties for obtaining the minimum number of days in 
+   * the first week.
+   */
+  private static transient final Properties properties;
+
+  /**
+   * Reads in the properties.
+   */
+  static
+  {
+    properties = new Properties();
+    try 
+      {
+        
properties.load(Calendar.class.getResourceAsStream("weeks.properties"));
+      }
+    catch (IOException exception)
+      {
+        System.out.println("Failed to load weeks resource: " + exception);
+      }
+  }
+
+  /**
    * Constructs a new Calendar with the default time zone and the default
    * locale.
    */
@@ -507,9 +529,13 @@
     lenient = true;
     String[] days = { "", "sun", "mon", "tue", "wed", "thu", "fri", "sat" };
 
-    ResourceBundle rb = getBundle(locale);
-    String min = (String) rb.getObject("minNumberOfDaysInFirstWeek");
-    String first = (String) rb.getObject("firstDayOfWeek");
+    String country = locale.getCountry();
+    String min = properties.getProperty("minDays." + country);
+    if (min == null)
+      min = properties.getProperty("minDays.DEFAULT");
+    String first = properties.getProperty("firstDay." + country);
+    if (first == null)
+      first = properties.getProperty("firstDay.DEFAULT");
     try
       {
        if (min != null)
Index: resource/java/util/iso4217.properties
===================================================================
RCS file: /sources/classpath/classpath/resource/java/util/iso4217.properties,v
retrieving revision 1.3
diff -u -u -r1.3 iso4217.properties
--- resource/java/util/iso4217.properties       7 Jul 2008 00:59:10 -0000       
1.3
+++ resource/java/util/iso4217.properties       7 Jul 2008 02:35:07 -0000
@@ -1,4 +1,4 @@
-# This document is automatically generated by gnu.currencygen
+# This document is automatically generated by gnu.supplementgen
 
 AD.currency=EUR,ESP,FRF,ADP
 AD.fractionDigits=0
Index: resource/java/util/weeks.properties
===================================================================
RCS file: resource/java/util/weeks.properties
diff -N resource/java/util/weeks.properties
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ resource/java/util/weeks.properties 7 Jul 2008 02:35:07 -0000
@@ -0,0 +1,80 @@
+# This document is automatically generated by gnu.supplementgen
+
+firstDay.AF=sat
+firstDay.AS=sun
+firstDay.AZ=sun
+firstDay.BH=sat
+firstDay.BW=sun
+firstDay.CA=sun
+firstDay.CN=sun
+firstDay.DEFAULT=mon
+firstDay.DJ=sat
+firstDay.DZ=sat
+firstDay.EG=sat
+firstDay.ER=sat
+firstDay.ET=sat
+firstDay.FO=sun
+firstDay.GE=sun
+firstDay.GL=sun
+firstDay.GU=sun
+firstDay.HK=sun
+firstDay.IE=sun
+firstDay.IL=sun
+firstDay.IQ=sat
+firstDay.IR=sat
+firstDay.IS=sun
+firstDay.JM=sun
+firstDay.JO=sat
+firstDay.JP=sun
+firstDay.KE=sat
+firstDay.KG=sun
+firstDay.KR=sun
+firstDay.KW=sat
+firstDay.LA=sun
+firstDay.LY=sat
+firstDay.MA=sat
+firstDay.MH=sun
+firstDay.MN=sun
+firstDay.MO=sun
+firstDay.MP=sun
+firstDay.MT=sun
+firstDay.MV=fri
+firstDay.NZ=sun
+firstDay.OM=sat
+firstDay.PH=sun
+firstDay.PK=sun
+firstDay.QA=sat
+firstDay.SA=sat
+firstDay.SD=sat
+firstDay.SG=sun
+firstDay.SO=sat
+firstDay.SY=sun
+firstDay.TH=sun
+firstDay.TN=sat
+firstDay.TT=sun
+firstDay.TW=sun
+firstDay.UM=sun
+firstDay.US=sun
+firstDay.UZ=sun
+firstDay.VI=sun
+firstDay.YE=sat
+firstDay.ZW=sun
+minDays.AT=4
+minDays.BE=4
+minDays.CA=4
+minDays.CH=4
+minDays.DE=4
+minDays.DEFAULT=1
+minDays.DK=4
+minDays.FI=4
+minDays.FR=4
+minDays.IT=4
+minDays.LI=4
+minDays.LT=4
+minDays.LU=4
+minDays.MC=4
+minDays.MT=4
+minDays.NL=4
+minDays.NO=4
+minDays.SE=4
+minDays.SK=4

Reply via email to