Merge
authorkatleman
Wed, 09 Nov 2011 13:46:53 -0800
changeset 10843 8f6f084a8666
parent 10834 e1524ac19646 (current diff)
parent 10842 b020caac9d56 (diff)
child 10844 61788a46953a
Merge
--- a/jdk/make/common/Demo.gmk	Thu Nov 03 10:32:29 2011 -0700
+++ b/jdk/make/common/Demo.gmk	Wed Nov 09 13:46:53 2011 -0800
@@ -158,6 +158,8 @@
     #       bit between them.
     LINK.demo   = $(LINK.c)
     LDLIBS.demo = $(EXTRA_LIBS) $(LFLAGS_$(COMPILER_VERSION))
+    DEMO_VERSION_INFO = $(OBJDIR)/$(LIBRARY).res
+    LDLIBS.demo += $(DEMO_VERSION_INFO)
   else
     ifneq ($(DEMO_NEEDS_CPP),)
       LINK.demo   = $(LINK.cpp)
@@ -288,6 +290,13 @@
 	$(install-file)
 endif
 
+ifeq ($(PLATFORM),windows)
+# JDK name required here
+RC_FLAGS += /D "JDK_FNAME=$(LIBRARY).dll" \
+            /D "JDK_INTERNAL_NAME=$(LIBRARY)" \
+            /D "JDK_FTYPE=0x2L"
+endif
+
 # Native library building
 ifdef DEMO_LIBRARY
 
@@ -308,6 +317,9 @@
   # Actual creation of the native shared library (C++ and C are different)
 $(DEMO_LIBRARY): $(DEMO_FULL_OBJECTS)
 	@$(prep-target)
+  ifeq ($(PLATFORM),windows)
+	$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(DEMO_VERSION_INFO) $(VERSIONINFO_RESOURCE)
+  endif
 	$(LINK.demo) $(SHARED_LIBRARY_FLAG) $(CC_PROGRAM_OUTPUT_FLAG)$@ \
 	    $(DEMO_FULL_OBJECTS) $(LDLIBS.demo)
 	@$(call binary_file_verification,$@)
--- a/jdk/src/share/classes/java/util/CurrencyData.properties	Thu Nov 03 10:32:29 2011 -0700
+++ b/jdk/src/share/classes/java/util/CurrencyData.properties	Wed Nov 09 13:46:53 2011 -0800
@@ -71,7 +71,7 @@
 #
 # The table is based on the following web sites:
 # http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1/db_en.html
-# http://www.bsi-global.com/iso4217currency
+# http://www.currency-iso.org/iso_index/iso_tables.htm
 # http://www.cia.gov/cia/publications/factbook/indexgeo.html
 
 # AFGHANISTAN
@@ -105,7 +105,7 @@
 # AUSTRIA
 AT=EUR
 # AZERBAIJAN
-AZ=AZM;2005-12-31-20-00-00;AZN
+AZ=AZN
 # BAHAMAS
 BS=BSD
 # BAHRAIN
@@ -378,7 +378,7 @@
 # MOROCCO
 MA=MAD
 # MOZAMBIQUE
-MZ=MZM;2006-06-30-22-00-00;MZN
+MZ=MZN
 # MYANMAR
 MM=MMK
 # NAMIBIA
@@ -440,7 +440,7 @@
 # REUNION
 RE=EUR
 # ROMANIA
-RO=ROL;2005-06-30-21-00-00;RON
+RO=RON
 # RUSSIAN FEDERATION
 RU=RUB
 # RWANDA
@@ -532,7 +532,7 @@
 # TUNISIA
 TN=TND
 # TURKEY
-TR=TRL;2004-12-31-22-00-00;TRY
+TR=TRY
 # TURKMENISTAN
 TM=TMT
 # TURKS AND CAICOS ISLANDS
@@ -558,7 +558,7 @@
 # VANUATU
 VU=VUV
 # VENEZUELA
-VE=VEB;2008-01-01-04-00-00;VEF
+VE=VEF
 # VIET NAM
 VN=VND
 # VIRGIN ISLANDS, BRITISH
--- a/jdk/src/share/classes/sun/text/resources/CollationData_th.java	Thu Nov 03 10:32:29 2011 -0700
+++ b/jdk/src/share/classes/sun/text/resources/CollationData_th.java	Wed Nov 09 13:46:53 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -103,18 +103,13 @@
                 //
                 // Normal vowels
                 //
+                + "< \u0E4D "                   //  NIKHAHIT
                 + "< \u0E30 "                   //  SARA A
                 + "< \u0E31 "                   //  MAI HAN-AKAT
                 + "< \u0E32 "                   //  SARA AA
 
-                // Normalizer will decompose this character to \u0e4d\u0e32.  This is
-                // a Bad Thing, because we want the separate characters to sort
-                // differently than this individual one.  Since there's no public way to
-                // set the decomposition to be used when creating a collator, there's
-                // no way around this right now.
-                // It's best to go ahead and leave the character in, because it occurs
-                // this way a lot more often than it occurs as separate characters.
-                + "< \u0E33 "                   //  SARA AM
+                // Normalizer will decompose this character to \u0e4d\u0e32.
+                + "< \u0E33 = \u0E4D\u0E32 "                   //  SARA AM
 
                 + "< \u0E34 "                   //  SARA I
 
@@ -133,62 +128,58 @@
                 + "< \u0E43 "                   //  SARA AI MAIMUAN
                 + "< \u0E44 "                   //  SARA AI MAIMALAI
 
-                //
-                // Digits
-                //
-                + "< \u0E50 "                   //  DIGIT ZERO
-                + "< \u0E51 "                   //  DIGIT ONE
-                + "< \u0E52 "                   //  DIGIT TWO
-                + "< \u0E53 "                   //  DIGIT THREE
-                + "< \u0E54 "                   //  DIGIT FOUR
-                + "< \u0E55 "                   //  DIGIT FIVE
-                + "< \u0E56 "                   //  DIGIT SIX
-                + "< \u0E57 "                   //  DIGIT SEVEN
-                + "< \u0E58 "                   //  DIGIT EIGHT
-                + "< \u0E59 "                   //  DIGIT NINE
+
+                //according to CLDR, it's after 0e44
+                + "< \u0E3A "                   //  PHINTHU
+
+
 
-                // Sorta tonal marks, but maybe not really
-                + "< \u0E4D "                   //  NIKHAHIT
+                // This rare symbol comes after all characters.
+                + "< \u0E45 "                   //  LAKKHANGYAO
+                + "& \u0E32 , \0E45 "           // According to CLDR, 0E45 is after 0E32 in tertiary level
+
+
+
 
-                //
-                // Thai symbols are supposed to sort "after white space".
-                // I'm treating this as making them sort just after the normal Latin-1
-                // symbols, which are in turn after the white space.
-                //
-                + "&'\u007d'"  //  right-brace
-                + "< \u0E2F "                   //  PAIYANNOI      (ellipsis, abbreviation)
-                + "< \u0E46 "                   //  MAIYAMOK
-                + "< \u0E4F "                   //  FONGMAN
-                + "< \u0E5A "                   //  ANGKHANKHU
-                + "< \u0E5B "                   //  KHOMUT
-                + "< \u0E3F "                   //  CURRENCY SYMBOL BAHT
+                // Below are thai puntuation marks and Tonal(Accent) marks. According to CLDR 1.9 and
+                // ISO/IEC 14651, Annex C, C.2.1 Thai ordering principles, 0E2F to 0E5B are punctuaion marks that need to be ignored
+                // in the first three leveles.  0E4E to 0E4B are tonal marks to be compared in secondary level.
+                // In real implmentation, set puncutation marks in tertiary as there is no fourth level in Java.
+                // Set all these special marks after \u0301, the accute accent.
+                + "& \u0301 "   // acute accent
 
-                // These symbols are supposed to be "after all characters"
-                + "< \u0E4E "                   //  YAMAKKAN
+                //puncutation marks
+                + ", \u0E2F "                   //  PAIYANNOI      (ellipsis, abbreviation)
+                + ", \u0E46 "                   //  MAIYAMOK
+                + ", \u0E4F "                   //  FONGMAN
+                + ", \u0E5A "                   //  ANGKHANKHU
+                + ", \u0E5B "                   //  KHOMUT
 
-                // This rare symbol also comes after all characters.  But when it is
-                // used in combination with RU and LU, the combination is treated as
-                // a separate letter, ala "CH" sorting after "C" in traditional Spanish.
-                + "< \u0E45 "                   //  LAKKHANGYAO
-                + "& \u0E24 < \u0E24\u0E45 "
-                + "& \u0E26 < \u0E26\u0E45 "
-
-                // Tonal marks are primary ignorables but are treated as secondary
-                // differences
-                + "& \u0301 "   // acute accent
+                //tonal marks
+                + "; \u0E4E "                   //  YAMAKKAN
+                + "; \u0E4C "                   //  THANTHAKHAT
                 + "; \u0E47 "                   //  MAITAIKHU
                 + "; \u0E48 "                   //  MAI EK
                 + "; \u0E49 "                   //  MAI THO
                 + "; \u0E4A "                   //  MAI TRI
                 + "; \u0E4B "                   //  MAI CHATTAWA
-                + "; \u0E4C "                   //  THANTHAKHAT
+
+                //
+                // Digits are equal to their corresponding Arabic digits in the first level
+                //
+                + "& 0 = \u0E50 "                   //  DIGIT ZERO
+                + "& 1 = \u0E51 "                   //  DIGIT ONE
+                + "& 2 = \u0E52 "                   //  DIGIT TWO
+                + "& 3 = \u0E53 "                   //  DIGIT THREE
+                + "& 4 = \u0E54 "                   //  DIGIT FOUR
+                + "& 5 = \u0E55 "                   //  DIGIT FIVE
+                + "& 6 = \u0E56 "                   //  DIGIT SIX
+                + "& 7 = \u0E57 "                   //  DIGIT SEVEN
+                + "& 8 = \u0E58 "                   //  DIGIT EIGHT
+                + "& 9 = \u0E59 "                   //  DIGIT NINE
 
 
-                // These are supposed to be ignored, so I'm treating them as controls
-                + "& \u0001 "
-                + "= \u0E3A "                   //  PHINTHU
-                + "= '.' "                      //  period
-                }
+            }
         };
     }
 }
--- a/jdk/src/share/classes/sun/util/resources/CalendarData_lv.properties	Thu Nov 03 10:32:29 2011 -0700
+++ b/jdk/src/share/classes/sun/util/resources/CalendarData_lv.properties	Wed Nov 09 13:46:53 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,21 +23,45 @@
 # questions.
 #
 
-# (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
-# (C) Copyright IBM Corp. 1996 - 1999 - All Rights Reserved
+#
+# COPYRIGHT AND PERMISSION NOTICE
+#
+# Copyright (C) 1991-2011 Unicode, Inc. All rights reserved.
+# Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
 #
-# The original version of this source code and documentation
-# is copyrighted and owned by Taligent, Inc., a wholly-owned
-# subsidiary of IBM. These materials are provided under terms
-# of a License Agreement between Taligent and Sun. This technology
-# is protected by multiple US and International patents.
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of the Unicode data files and any associated documentation (the
+# "Data Files") or Unicode software and any associated documentation
+# (the "Software") to deal in the Data Files or Software without
+# restriction, including without limitation the rights to use, copy,
+# modify, merge, publish, distribute, and/or sell copies of the Data
+# Files or Software, and to permit persons to whom the Data Files or
+# Software are furnished to do so, provided that (a) the above copyright
+# notice(s) and this permission notice appear with all copies of the
+# Data Files or Software, (b) both the above copyright notice(s) and
+# this permission notice appear in associated documentation, and (c)
+# there is clear notice in each modified Data File or in the Software as
+# well as in the documentation associated with the Data File(s) or
+# Software that the data or software has been modified.
 #
-# This notice and attribution to Taligent may not be removed.
-# Taligent is a registered trademark of Taligent, Inc.
-
+# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+# ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR
+# ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
+# SOFTWARE.
+#
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in these Data Files or Software without prior
+# written authorization of the copyright holder.
 
-# This bundle is empty because the data of the base bundle
-# is adequate for this locale.
-# The bundle is necessary to prevent the resource
-# bundle lookup from falling back to the default
-# locale.
+#
+# Generated automatically from the Common Locale Data Repository. DO NOT EDIT!
+#
+firstDayOfWeek=2
+minimalDaysInFirstWeek=4
--- a/jdk/test/java/util/Currency/CurrencyTest.java	Thu Nov 03 10:32:29 2011 -0700
+++ b/jdk/test/java/util/Currency/CurrencyTest.java	Wed Nov 09 13:46:53 2011 -0800
@@ -128,18 +128,20 @@
             checkCountryCurrency(country1[i], currency1[i]);
         }
 
-        // check currency changes
-        String[] switchOverCtry = {"DE", "FR", "ES", "IT", "NL", "BE", "TR", "RO", "AZ", "MZ", "GH", "VE"};
-        String[] switchOverOld = {"DEM", "FRF", "ESP", "ITL", "NLG", "BEF", "TRL", "ROL", "AZM", "MZM", "GHC", "VEB"};
-        String[] switchOverNew = {"EUR", "EUR", "EUR", "EUR", "EUR", "EUR", "TRY", "RON", "AZN", "MZN", "GHS", "VEF"};
-        String[] switchOverTZ = {"Europe/Paris", "Europe/Paris", "Europe/Paris", "Europe/Paris",
-                                 "Europe/Paris", "Europe/Paris", "Asia/Istanbul", "Europe/Bucharest",
-                                 "Asia/Baku", "Africa/Maputo", "Africa/Accra", "America/Caracas"};
-        int[] switchOverYear = {2002, 2002, 2002, 2002, 2002, 2002, 2005, 2005, 2006, 2006, 2007, 2008};
-        int[] switchOverMonth = {Calendar.JANUARY, Calendar.JANUARY, Calendar.JANUARY, Calendar.JANUARY,
-                                 Calendar.JANUARY, Calendar.JANUARY, Calendar.JANUARY, Calendar.JULY,
-                                 Calendar.JANUARY, Calendar.JULY, Calendar.JULY, Calendar.JANUARY};
-        int[] switchOverDay = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+        /*
+        * check currency changes
+        * In current implementation, there is no data of old currency and transition date at jdk/src/share/classes/java/util/CurrencyData.properties.
+        * So, all the switch data arrays are empty. In the future, if data of old currency and transition date are necessary for any country, the
+        * arrays here can be updated so that the program can check the currency switch.
+        */
+        String[] switchOverCtry = {};
+        String[] switchOverOld = {};
+        String[] switchOverNew = {};
+        String[] switchOverTZ = {};
+        int[] switchOverYear = {};
+        int[] switchOverMonth = {};
+        int[] switchOverDay = {};
+
         for (int i = 0; i < switchOverCtry.length; i++) {
             TimeZone.setDefault(TimeZone.getTimeZone(switchOverTZ[i]));
             Calendar date = new GregorianCalendar(switchOverYear[i], switchOverMonth[i], switchOverDay[i]);
--- a/jdk/test/java/util/Currency/ValidateISO4217.java	Thu Nov 03 10:32:29 2011 -0700
+++ b/jdk/test/java/util/Currency/ValidateISO4217.java	Wed Nov 09 13:46:53 2011 -0800
@@ -92,7 +92,7 @@
 
     /* Codes that are obsolete, do not have related country */
     static final String otherCodes =
-        "ADP-AFA-ATS-AYM-BEF-BGL-BOV-BYB-CLF-CUC-CYP-DEM-EEK-ESP-FIM-FRF-GRD-GWP-IEP-ITL-LUF-MGF-MTL-MXV-NLG-PTE-RUR-SDD-SIT-SKK-SRG-TMM-TPE-TRL-VEF-USN-USS-XAG-XAU-XBA-XBB-XBC-XBD-XDR-XFO-XFU-XPD-XPT-XSU-XTS-XUA-XXX-YUM-ZWD-ZWN-ZWR";
+        "ADP-AFA-ATS-AYM-AZM-BEF-BGL-BOV-BYB-CLF-CUC-CYP-DEM-EEK-ESP-FIM-FRF-GHC-GRD-GWP-IEP-ITL-LUF-MGF-MTL-MXV-MZM-NLG-PTE-ROL-RUR-SDD-SIT-SKK-SRG-TMM-TPE-TRL-VEF-USN-USS-VEB-XAG-XAU-XBA-XBB-XBC-XBD-XDR-XFO-XFU-XPD-XPT-XSU-XTS-XUA-XXX-YUM-ZWD-ZWN-ZWR";
 
     static boolean err = false;
 
--- a/jdk/test/java/util/Currency/tablea1.txt	Thu Nov 03 10:32:29 2011 -0700
+++ b/jdk/test/java/util/Currency/tablea1.txt	Wed Nov 09 13:46:53 2011 -0800
@@ -23,7 +23,7 @@
 AU	AUD	36	2
 AT	EUR	978	2
 # MA 129
-AZ	AZM	31	2	2005-12-31-20-00-00	AZN	944	2
+AZ	AZN	944	2
 BS	BSD	44	2
 BH	BHD	48	3
 BD	BDT	50	2
@@ -96,7 +96,7 @@
 GM	GMD	270	2
 GE	GEL	981	2
 DE	EUR	978	2
-GH	GHC	288	2	2007-07-01-00-00-00	GHS	936	2
+GH	GHS	936	2
 GI	GIP	292	2
 GR	EUR	978	2
 GL	DKK	208	2
@@ -166,7 +166,7 @@
 MS	XCD	951	2
 MA	MAD	504	2
 # MA 130
-MZ	MZM	508	2	2006-06-30-22-00-00	MZN	943	2
+MZ	MZN	943	2
 MM	MMK	104	2
 # MA 134
 ME	EUR	978	2
@@ -200,7 +200,7 @@
 PR	USD	840	2
 QA	QAR	634	2
 RE	EUR	978	2
-RO	ROL	946	2	2005-06-30-21-00-00	RON	946	2
+RO	RON	946	2
 RU	RUB	643	2
 RW	RWF	646	0
 SH	SHP	654	2
@@ -266,7 +266,7 @@
 UY	UYU	858	2
 UZ	UZS	860	2
 VU	VUV	548	0
-VE	VEB	862	2	2008-01-01-04-00-00	VEF	937	2
+VE	VEF	937	2
 VN	VND	704	2
 VG	USD	840	2
 VI	USD	840	2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/text/resources/Collator/Bug6755060.java	Wed Nov 09 13:46:53 2011 -0800
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 6755060
+ * @summary updating collation tables for thai to make it consistent with CLDR 1.9
+ */
+
+import java.text.*;
+import java.util.*;
+
+public class Bug6755060 {
+
+  /********************************************************
+  *********************************************************/
+  public static void main (String[] args) {
+
+    Locale reservedLocale = Locale.getDefault();
+
+    try{
+
+        int errors=0;
+
+        Locale loc = new Locale ("th", "TH");   // Thai
+
+        Locale.setDefault (loc);
+        Collator col = Collator.getInstance ();
+
+        /*
+        * The original data "data" are the data to be sorted provided by the submitter of the CR.
+        * It's in correct order in accord with thai collation in CLDR 1.9. If we use old Java without this fix,
+        * the output order will be incorrect. Correct order will be turned into incorrect order.
+
+        * If fix is there, "data" after sorting will be unchanged, same as "sortedData". If fix is lost (regression),
+        * "data" after sorting will be changed, not as "sortedData".(not correct anymore)
+
+        * The submitter of the CR also gives a expected "sortedData" in the CR, but it's in accord with collation in CLDR 1.4.
+        * His data to be sorted are actually well sorted in accord with CLDR 1.9.
+        */
+
+        String[] data = {"\u0e01", "\u0e01\u0e2f", "\u0e01\u0e46", "\u0e01\u0e4f", "\u0e01\u0e5a", "\u0e01\u0e5b", "\u0e01\u0e4e", "\u0e01\u0e4c", "\u0e01\u0e48", "\u0e01\u0e01", "\u0e01\u0e4b\u0e01", "\u0e01\u0e4d", "\u0e01\u0e30", "\u0e01\u0e31\u0e01", "\u0e01\u0e32", "\u0e01\u0e33", "\u0e01\u0e34", "\u0e01\u0e35", "\u0e01\u0e36", "\u0e01\u0e37", "\u0e01\u0e38", "\u0e01\u0e39", "\u0e40\u0e01", "\u0e40\u0e01\u0e48", "\u0e40\u0e01\u0e49", "\u0e40\u0e01\u0e4b", "\u0e41\u0e01", "\u0e42\u0e01", "\u0e43\u0e01", "\u0e44\u0e01", "\u0e01\u0e3a", "\u0e24\u0e32", "\u0e24\u0e45", "\u0e40\u0e25", "\u0e44\u0e26"};
+
+        String[] sortedData = {"\u0e01", "\u0e01\u0e2f", "\u0e01\u0e46", "\u0e01\u0e4f", "\u0e01\u0e5a", "\u0e01\u0e5b", "\u0e01\u0e4e", "\u0e01\u0e4c", "\u0e01\u0e48", "\u0e01\u0e01", "\u0e01\u0e4b\u0e01", "\u0e01\u0e4d", "\u0e01\u0e30", "\u0e01\u0e31\u0e01", "\u0e01\u0e32", "\u0e01\u0e33", "\u0e01\u0e34", "\u0e01\u0e35", "\u0e01\u0e36", "\u0e01\u0e37", "\u0e01\u0e38", "\u0e01\u0e39", "\u0e40\u0e01", "\u0e40\u0e01\u0e48", "\u0e40\u0e01\u0e49", "\u0e40\u0e01\u0e4b", "\u0e41\u0e01", "\u0e42\u0e01", "\u0e43\u0e01", "\u0e44\u0e01", "\u0e01\u0e3a", "\u0e24\u0e32", "\u0e24\u0e45", "\u0e40\u0e25", "\u0e44\u0e26"};
+
+        Arrays.sort (data, col);
+
+        System.out.println ("Using " + loc.getDisplayName());
+        for (int i = 0;  i < data.length;  i++) {
+            System.out.println(data[i] + "  :  " + sortedData[i]);
+            if (sortedData[i].compareTo(data[i]) != 0) {
+                errors++;
+            }
+        }//end for
+
+        if (errors > 0){
+            StringBuffer expected = new StringBuffer(), actual = new StringBuffer();
+            expected.append(sortedData[0]);
+            actual.append(data[0]);
+
+                for (int i=1; i<data.length; i++) {
+                    expected.append(",");
+                    expected.append(sortedData[i]);
+
+                    actual.append(",");
+                    actual.append(data[i]);
+                }
+
+            String errmsg = "Error is found in collation testing in Thai\n" + "exepected order is: " + expected.toString() + "\n" + "actual order is: " + actual.toString() + "\n";
+
+            throw new RuntimeException(errmsg);
+        }
+    }finally{
+        // restore the reserved locale
+        Locale.setDefault(reservedLocale);
+    }
+
+  }//end main
+
+}//end class CollatorTest
--- a/jdk/test/sun/text/resources/LocaleData	Thu Nov 03 10:32:29 2011 -0700
+++ b/jdk/test/sun/text/resources/LocaleData	Wed Nov 09 13:46:53 2011 -0800
@@ -7006,3 +7006,7 @@
 CurrencyNames/zh_TW/cuc=\u53e4\u5df4\u53ef\u8f49\u63db\u62ab\u7d22
 CurrencyNames/zh_TW/tmt=\u571f\u5eab\u66fc\u65b0\u99ac\u7d0d\u7279
 CurrencyNames/zh_TW/zwl=\u8f9b\u5df4\u5a01\u5143 (2009)
+
+# bug 7101495
+CalendarData/lv/firstDayOfWeek=2
+CalendarData/lv/minimalDaysInFirstWeek=4
--- a/jdk/test/sun/text/resources/LocaleDataTest.java	Thu Nov 03 10:32:29 2011 -0700
+++ b/jdk/test/sun/text/resources/LocaleDataTest.java	Wed Nov 09 13:46:53 2011 -0800
@@ -33,7 +33,7 @@
  *      6379214 6485516 6486607 4225362 4494727 6533691 6531591 6531593 6570259
  *      6509039 6609737 6610748 6645271 6507067 6873931 6450945 6645268 6646611
  *      6645405 6650730 6910489 6573250 6870908 6585666 6716626 6914413 6916787
- *      6919624 6998391 7019267 7020960 7025837 7020583 7036905 7066203
+ *      6919624 6998391 7019267 7020960 7025837 7020583 7036905 7066203 7101495
  * @summary Verify locale data
  *
  */