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