changeset 5816:7ecc3a7cbe36

Merge
author ohair
date Tue, 11 Sep 2012 14:18:54 -0700
parents 9c434431d013 1f3f4b333341
children 2e9eeef2909b
files make/common/Program.gmk make/sun/beans/Makefile src/share/classes/java/lang/annotation/ContainerAnnotation.java src/share/classes/java/text/BreakDictionary.java src/share/classes/java/text/CollationRules.java src/share/classes/java/text/DictionaryBasedBreakIterator.java src/share/classes/java/text/RuleBasedBreakIterator.java src/share/classes/sun/beans/editors/BooleanEditor.java src/share/classes/sun/beans/editors/ByteEditor.java src/share/classes/sun/beans/editors/ColorEditor.java src/share/classes/sun/beans/editors/DoubleEditor.java src/share/classes/sun/beans/editors/EnumEditor.java src/share/classes/sun/beans/editors/FloatEditor.java src/share/classes/sun/beans/editors/FontEditor.java src/share/classes/sun/beans/editors/IntegerEditor.java src/share/classes/sun/beans/editors/LongEditor.java src/share/classes/sun/beans/editors/NumberEditor.java src/share/classes/sun/beans/editors/ShortEditor.java src/share/classes/sun/beans/editors/StringEditor.java src/share/classes/sun/beans/infos/ComponentBeanInfo.java src/share/classes/sun/text/resources/BreakIteratorInfo_th.java src/share/classes/sun/text/resources/BreakIteratorRules_th.java src/share/classes/sun/text/resources/CollationData_ar.java src/share/classes/sun/text/resources/CollationData_be.java src/share/classes/sun/text/resources/CollationData_bg.java src/share/classes/sun/text/resources/CollationData_ca.java src/share/classes/sun/text/resources/CollationData_cs.java src/share/classes/sun/text/resources/CollationData_da.java src/share/classes/sun/text/resources/CollationData_de.java src/share/classes/sun/text/resources/CollationData_el.java src/share/classes/sun/text/resources/CollationData_en.java src/share/classes/sun/text/resources/CollationData_es.java src/share/classes/sun/text/resources/CollationData_et.java src/share/classes/sun/text/resources/CollationData_fi.java src/share/classes/sun/text/resources/CollationData_fr.java src/share/classes/sun/text/resources/CollationData_hi.java src/share/classes/sun/text/resources/CollationData_hr.java src/share/classes/sun/text/resources/CollationData_hu.java src/share/classes/sun/text/resources/CollationData_is.java src/share/classes/sun/text/resources/CollationData_it.java src/share/classes/sun/text/resources/CollationData_iw.java src/share/classes/sun/text/resources/CollationData_ja.java src/share/classes/sun/text/resources/CollationData_ko.java src/share/classes/sun/text/resources/CollationData_lt.java src/share/classes/sun/text/resources/CollationData_lv.java src/share/classes/sun/text/resources/CollationData_mk.java src/share/classes/sun/text/resources/CollationData_nl.java src/share/classes/sun/text/resources/CollationData_no.java src/share/classes/sun/text/resources/CollationData_pl.java src/share/classes/sun/text/resources/CollationData_pt.java src/share/classes/sun/text/resources/CollationData_ro.java src/share/classes/sun/text/resources/CollationData_ru.java src/share/classes/sun/text/resources/CollationData_sk.java src/share/classes/sun/text/resources/CollationData_sl.java src/share/classes/sun/text/resources/CollationData_sq.java src/share/classes/sun/text/resources/CollationData_sr.java src/share/classes/sun/text/resources/CollationData_sr_Latn.java src/share/classes/sun/text/resources/CollationData_sv.java src/share/classes/sun/text/resources/CollationData_th.java src/share/classes/sun/text/resources/CollationData_tr.java src/share/classes/sun/text/resources/CollationData_uk.java src/share/classes/sun/text/resources/CollationData_vi.java src/share/classes/sun/text/resources/CollationData_zh.java src/share/classes/sun/text/resources/CollationData_zh_HK.java src/share/classes/sun/text/resources/CollationData_zh_TW.java src/share/classes/sun/text/resources/FormatData_ar.java src/share/classes/sun/text/resources/FormatData_ar_AE.java src/share/classes/sun/text/resources/FormatData_ar_BH.java src/share/classes/sun/text/resources/FormatData_ar_DZ.java src/share/classes/sun/text/resources/FormatData_ar_EG.java src/share/classes/sun/text/resources/FormatData_ar_IQ.java src/share/classes/sun/text/resources/FormatData_ar_JO.java src/share/classes/sun/text/resources/FormatData_ar_KW.java src/share/classes/sun/text/resources/FormatData_ar_LB.java src/share/classes/sun/text/resources/FormatData_ar_LY.java src/share/classes/sun/text/resources/FormatData_ar_MA.java src/share/classes/sun/text/resources/FormatData_ar_OM.java src/share/classes/sun/text/resources/FormatData_ar_QA.java src/share/classes/sun/text/resources/FormatData_ar_SA.java src/share/classes/sun/text/resources/FormatData_ar_SD.java src/share/classes/sun/text/resources/FormatData_ar_SY.java src/share/classes/sun/text/resources/FormatData_ar_TN.java src/share/classes/sun/text/resources/FormatData_ar_YE.java src/share/classes/sun/text/resources/FormatData_be.java src/share/classes/sun/text/resources/FormatData_be_BY.java src/share/classes/sun/text/resources/FormatData_bg.java src/share/classes/sun/text/resources/FormatData_bg_BG.java src/share/classes/sun/text/resources/FormatData_ca.java src/share/classes/sun/text/resources/FormatData_ca_ES.java src/share/classes/sun/text/resources/FormatData_cs.java src/share/classes/sun/text/resources/FormatData_cs_CZ.java src/share/classes/sun/text/resources/FormatData_da.java src/share/classes/sun/text/resources/FormatData_da_DK.java src/share/classes/sun/text/resources/FormatData_de.java src/share/classes/sun/text/resources/FormatData_de_AT.java src/share/classes/sun/text/resources/FormatData_de_CH.java src/share/classes/sun/text/resources/FormatData_de_DE.java src/share/classes/sun/text/resources/FormatData_de_LU.java src/share/classes/sun/text/resources/FormatData_el.java src/share/classes/sun/text/resources/FormatData_el_CY.java src/share/classes/sun/text/resources/FormatData_el_GR.java src/share/classes/sun/text/resources/FormatData_en.java src/share/classes/sun/text/resources/FormatData_en_AU.java src/share/classes/sun/text/resources/FormatData_en_CA.java src/share/classes/sun/text/resources/FormatData_en_GB.java src/share/classes/sun/text/resources/FormatData_en_IE.java src/share/classes/sun/text/resources/FormatData_en_IN.java src/share/classes/sun/text/resources/FormatData_en_MT.java src/share/classes/sun/text/resources/FormatData_en_NZ.java src/share/classes/sun/text/resources/FormatData_en_PH.java src/share/classes/sun/text/resources/FormatData_en_SG.java src/share/classes/sun/text/resources/FormatData_en_US.java src/share/classes/sun/text/resources/FormatData_en_ZA.java src/share/classes/sun/text/resources/FormatData_es.java src/share/classes/sun/text/resources/FormatData_es_AR.java src/share/classes/sun/text/resources/FormatData_es_BO.java src/share/classes/sun/text/resources/FormatData_es_CL.java src/share/classes/sun/text/resources/FormatData_es_CO.java src/share/classes/sun/text/resources/FormatData_es_CR.java src/share/classes/sun/text/resources/FormatData_es_DO.java src/share/classes/sun/text/resources/FormatData_es_EC.java src/share/classes/sun/text/resources/FormatData_es_ES.java src/share/classes/sun/text/resources/FormatData_es_GT.java src/share/classes/sun/text/resources/FormatData_es_HN.java src/share/classes/sun/text/resources/FormatData_es_MX.java src/share/classes/sun/text/resources/FormatData_es_NI.java src/share/classes/sun/text/resources/FormatData_es_PA.java src/share/classes/sun/text/resources/FormatData_es_PE.java src/share/classes/sun/text/resources/FormatData_es_PR.java src/share/classes/sun/text/resources/FormatData_es_PY.java src/share/classes/sun/text/resources/FormatData_es_SV.java src/share/classes/sun/text/resources/FormatData_es_US.java src/share/classes/sun/text/resources/FormatData_es_UY.java src/share/classes/sun/text/resources/FormatData_es_VE.java src/share/classes/sun/text/resources/FormatData_et.java src/share/classes/sun/text/resources/FormatData_et_EE.java src/share/classes/sun/text/resources/FormatData_fi.java src/share/classes/sun/text/resources/FormatData_fi_FI.java src/share/classes/sun/text/resources/FormatData_fr.java src/share/classes/sun/text/resources/FormatData_fr_BE.java src/share/classes/sun/text/resources/FormatData_fr_CA.java src/share/classes/sun/text/resources/FormatData_fr_CH.java src/share/classes/sun/text/resources/FormatData_fr_FR.java src/share/classes/sun/text/resources/FormatData_fr_LU.java src/share/classes/sun/text/resources/FormatData_ga.java src/share/classes/sun/text/resources/FormatData_ga_IE.java src/share/classes/sun/text/resources/FormatData_hi_IN.java src/share/classes/sun/text/resources/FormatData_hr.java src/share/classes/sun/text/resources/FormatData_hr_HR.java src/share/classes/sun/text/resources/FormatData_hu.java src/share/classes/sun/text/resources/FormatData_hu_HU.java src/share/classes/sun/text/resources/FormatData_in.java src/share/classes/sun/text/resources/FormatData_in_ID.java src/share/classes/sun/text/resources/FormatData_is.java src/share/classes/sun/text/resources/FormatData_is_IS.java src/share/classes/sun/text/resources/FormatData_it.java src/share/classes/sun/text/resources/FormatData_it_CH.java src/share/classes/sun/text/resources/FormatData_it_IT.java src/share/classes/sun/text/resources/FormatData_iw.java src/share/classes/sun/text/resources/FormatData_iw_IL.java src/share/classes/sun/text/resources/FormatData_ja.java src/share/classes/sun/text/resources/FormatData_ja_JP.java src/share/classes/sun/text/resources/FormatData_ja_JP_JP.java src/share/classes/sun/text/resources/FormatData_ko.java src/share/classes/sun/text/resources/FormatData_ko_KR.java src/share/classes/sun/text/resources/FormatData_lt.java src/share/classes/sun/text/resources/FormatData_lt_LT.java src/share/classes/sun/text/resources/FormatData_lv.java src/share/classes/sun/text/resources/FormatData_lv_LV.java src/share/classes/sun/text/resources/FormatData_mk.java src/share/classes/sun/text/resources/FormatData_mk_MK.java src/share/classes/sun/text/resources/FormatData_ms.java src/share/classes/sun/text/resources/FormatData_ms_MY.java src/share/classes/sun/text/resources/FormatData_mt.java src/share/classes/sun/text/resources/FormatData_mt_MT.java src/share/classes/sun/text/resources/FormatData_nl.java src/share/classes/sun/text/resources/FormatData_nl_BE.java src/share/classes/sun/text/resources/FormatData_nl_NL.java src/share/classes/sun/text/resources/FormatData_no.java src/share/classes/sun/text/resources/FormatData_no_NO.java src/share/classes/sun/text/resources/FormatData_no_NO_NY.java src/share/classes/sun/text/resources/FormatData_pl.java src/share/classes/sun/text/resources/FormatData_pl_PL.java src/share/classes/sun/text/resources/FormatData_pt.java src/share/classes/sun/text/resources/FormatData_pt_BR.java src/share/classes/sun/text/resources/FormatData_pt_PT.java src/share/classes/sun/text/resources/FormatData_ro.java src/share/classes/sun/text/resources/FormatData_ro_RO.java src/share/classes/sun/text/resources/FormatData_ru.java src/share/classes/sun/text/resources/FormatData_ru_RU.java src/share/classes/sun/text/resources/FormatData_sk.java src/share/classes/sun/text/resources/FormatData_sk_SK.java src/share/classes/sun/text/resources/FormatData_sl.java src/share/classes/sun/text/resources/FormatData_sl_SI.java src/share/classes/sun/text/resources/FormatData_sq.java src/share/classes/sun/text/resources/FormatData_sq_AL.java src/share/classes/sun/text/resources/FormatData_sr.java src/share/classes/sun/text/resources/FormatData_sr_BA.java src/share/classes/sun/text/resources/FormatData_sr_CS.java src/share/classes/sun/text/resources/FormatData_sr_Latn.java src/share/classes/sun/text/resources/FormatData_sr_Latn_BA.java src/share/classes/sun/text/resources/FormatData_sr_Latn_ME.java src/share/classes/sun/text/resources/FormatData_sr_Latn_RS.java src/share/classes/sun/text/resources/FormatData_sr_ME.java src/share/classes/sun/text/resources/FormatData_sr_RS.java src/share/classes/sun/text/resources/FormatData_sv.java src/share/classes/sun/text/resources/FormatData_sv_SE.java src/share/classes/sun/text/resources/FormatData_th.java src/share/classes/sun/text/resources/FormatData_th_TH.java src/share/classes/sun/text/resources/FormatData_th_TH_TH.java src/share/classes/sun/text/resources/FormatData_tr.java src/share/classes/sun/text/resources/FormatData_tr_TR.java src/share/classes/sun/text/resources/FormatData_uk.java src/share/classes/sun/text/resources/FormatData_uk_UA.java src/share/classes/sun/text/resources/FormatData_vi.java src/share/classes/sun/text/resources/FormatData_vi_VN.java src/share/classes/sun/text/resources/FormatData_zh.java src/share/classes/sun/text/resources/FormatData_zh_CN.java src/share/classes/sun/text/resources/FormatData_zh_HK.java src/share/classes/sun/text/resources/FormatData_zh_SG.java src/share/classes/sun/text/resources/FormatData_zh_TW.java src/share/classes/sun/text/resources/thai_dict src/share/classes/sun/util/EmptyListResourceBundle.java src/share/classes/sun/util/LocaleDataMetaInfo-XLocales.java.template src/share/classes/sun/util/LocaleServiceProviderPool.java src/share/classes/sun/util/TimeZoneNameUtility.java src/share/classes/sun/util/resources/CalendarData_ar.properties src/share/classes/sun/util/resources/CalendarData_be.properties src/share/classes/sun/util/resources/CalendarData_bg.properties src/share/classes/sun/util/resources/CalendarData_ca.properties src/share/classes/sun/util/resources/CalendarData_cs.properties src/share/classes/sun/util/resources/CalendarData_da.properties src/share/classes/sun/util/resources/CalendarData_de.properties src/share/classes/sun/util/resources/CalendarData_el.properties src/share/classes/sun/util/resources/CalendarData_el_CY.properties src/share/classes/sun/util/resources/CalendarData_en.properties src/share/classes/sun/util/resources/CalendarData_en_GB.properties src/share/classes/sun/util/resources/CalendarData_en_IE.properties src/share/classes/sun/util/resources/CalendarData_en_MT.properties src/share/classes/sun/util/resources/CalendarData_es.properties src/share/classes/sun/util/resources/CalendarData_es_ES.properties src/share/classes/sun/util/resources/CalendarData_es_US.properties src/share/classes/sun/util/resources/CalendarData_et.properties src/share/classes/sun/util/resources/CalendarData_fi.properties src/share/classes/sun/util/resources/CalendarData_fr.properties src/share/classes/sun/util/resources/CalendarData_fr_CA.properties src/share/classes/sun/util/resources/CalendarData_hi.properties src/share/classes/sun/util/resources/CalendarData_hr.properties src/share/classes/sun/util/resources/CalendarData_hu.properties src/share/classes/sun/util/resources/CalendarData_in_ID.properties src/share/classes/sun/util/resources/CalendarData_is.properties src/share/classes/sun/util/resources/CalendarData_it.properties src/share/classes/sun/util/resources/CalendarData_iw.properties src/share/classes/sun/util/resources/CalendarData_ja.properties src/share/classes/sun/util/resources/CalendarData_ko.properties src/share/classes/sun/util/resources/CalendarData_lt.properties src/share/classes/sun/util/resources/CalendarData_lv.properties src/share/classes/sun/util/resources/CalendarData_mk.properties src/share/classes/sun/util/resources/CalendarData_ms_MY.properties src/share/classes/sun/util/resources/CalendarData_mt.properties src/share/classes/sun/util/resources/CalendarData_mt_MT.properties src/share/classes/sun/util/resources/CalendarData_nl.properties src/share/classes/sun/util/resources/CalendarData_no.properties src/share/classes/sun/util/resources/CalendarData_pl.properties src/share/classes/sun/util/resources/CalendarData_pt.properties src/share/classes/sun/util/resources/CalendarData_pt_PT.properties src/share/classes/sun/util/resources/CalendarData_ro.properties src/share/classes/sun/util/resources/CalendarData_ru.properties src/share/classes/sun/util/resources/CalendarData_sk.properties src/share/classes/sun/util/resources/CalendarData_sl.properties src/share/classes/sun/util/resources/CalendarData_sq.properties src/share/classes/sun/util/resources/CalendarData_sr.properties src/share/classes/sun/util/resources/CalendarData_sr_Latn_BA.properties src/share/classes/sun/util/resources/CalendarData_sr_Latn_ME.properties src/share/classes/sun/util/resources/CalendarData_sr_Latn_RS.properties src/share/classes/sun/util/resources/CalendarData_sv.properties src/share/classes/sun/util/resources/CalendarData_th.properties src/share/classes/sun/util/resources/CalendarData_tr.properties src/share/classes/sun/util/resources/CalendarData_uk.properties src/share/classes/sun/util/resources/CalendarData_vi.properties src/share/classes/sun/util/resources/CalendarData_zh.properties src/share/classes/sun/util/resources/CurrencyNames_ar_AE.properties src/share/classes/sun/util/resources/CurrencyNames_ar_BH.properties src/share/classes/sun/util/resources/CurrencyNames_ar_DZ.properties src/share/classes/sun/util/resources/CurrencyNames_ar_EG.properties src/share/classes/sun/util/resources/CurrencyNames_ar_IQ.properties src/share/classes/sun/util/resources/CurrencyNames_ar_JO.properties src/share/classes/sun/util/resources/CurrencyNames_ar_KW.properties src/share/classes/sun/util/resources/CurrencyNames_ar_LB.properties src/share/classes/sun/util/resources/CurrencyNames_ar_LY.properties src/share/classes/sun/util/resources/CurrencyNames_ar_MA.properties src/share/classes/sun/util/resources/CurrencyNames_ar_OM.properties src/share/classes/sun/util/resources/CurrencyNames_ar_QA.properties src/share/classes/sun/util/resources/CurrencyNames_ar_SA.properties src/share/classes/sun/util/resources/CurrencyNames_ar_SD.properties src/share/classes/sun/util/resources/CurrencyNames_ar_SY.properties src/share/classes/sun/util/resources/CurrencyNames_ar_TN.properties src/share/classes/sun/util/resources/CurrencyNames_ar_YE.properties src/share/classes/sun/util/resources/CurrencyNames_be_BY.properties src/share/classes/sun/util/resources/CurrencyNames_bg_BG.properties src/share/classes/sun/util/resources/CurrencyNames_ca_ES.properties src/share/classes/sun/util/resources/CurrencyNames_cs_CZ.properties src/share/classes/sun/util/resources/CurrencyNames_da_DK.properties src/share/classes/sun/util/resources/CurrencyNames_de.properties src/share/classes/sun/util/resources/CurrencyNames_de_AT.properties src/share/classes/sun/util/resources/CurrencyNames_de_CH.properties src/share/classes/sun/util/resources/CurrencyNames_de_DE.properties src/share/classes/sun/util/resources/CurrencyNames_de_GR.properties src/share/classes/sun/util/resources/CurrencyNames_de_LU.properties src/share/classes/sun/util/resources/CurrencyNames_el_CY.properties src/share/classes/sun/util/resources/CurrencyNames_el_GR.properties src/share/classes/sun/util/resources/CurrencyNames_en_AU.properties src/share/classes/sun/util/resources/CurrencyNames_en_CA.properties src/share/classes/sun/util/resources/CurrencyNames_en_GB.properties src/share/classes/sun/util/resources/CurrencyNames_en_IE.properties src/share/classes/sun/util/resources/CurrencyNames_en_IN.properties src/share/classes/sun/util/resources/CurrencyNames_en_MT.properties src/share/classes/sun/util/resources/CurrencyNames_en_NZ.properties src/share/classes/sun/util/resources/CurrencyNames_en_PH.properties src/share/classes/sun/util/resources/CurrencyNames_en_SG.properties src/share/classes/sun/util/resources/CurrencyNames_en_US.properties src/share/classes/sun/util/resources/CurrencyNames_en_ZA.properties src/share/classes/sun/util/resources/CurrencyNames_es.properties src/share/classes/sun/util/resources/CurrencyNames_es_AR.properties src/share/classes/sun/util/resources/CurrencyNames_es_BO.properties src/share/classes/sun/util/resources/CurrencyNames_es_CL.properties src/share/classes/sun/util/resources/CurrencyNames_es_CO.properties src/share/classes/sun/util/resources/CurrencyNames_es_CR.properties src/share/classes/sun/util/resources/CurrencyNames_es_CU.properties src/share/classes/sun/util/resources/CurrencyNames_es_DO.properties src/share/classes/sun/util/resources/CurrencyNames_es_EC.properties src/share/classes/sun/util/resources/CurrencyNames_es_ES.properties src/share/classes/sun/util/resources/CurrencyNames_es_GT.properties src/share/classes/sun/util/resources/CurrencyNames_es_HN.properties src/share/classes/sun/util/resources/CurrencyNames_es_MX.properties src/share/classes/sun/util/resources/CurrencyNames_es_NI.properties src/share/classes/sun/util/resources/CurrencyNames_es_PA.properties src/share/classes/sun/util/resources/CurrencyNames_es_PE.properties src/share/classes/sun/util/resources/CurrencyNames_es_PR.properties src/share/classes/sun/util/resources/CurrencyNames_es_PY.properties src/share/classes/sun/util/resources/CurrencyNames_es_SV.properties src/share/classes/sun/util/resources/CurrencyNames_es_US.properties src/share/classes/sun/util/resources/CurrencyNames_es_UY.properties src/share/classes/sun/util/resources/CurrencyNames_es_VE.properties src/share/classes/sun/util/resources/CurrencyNames_et_EE.properties src/share/classes/sun/util/resources/CurrencyNames_fi_FI.properties src/share/classes/sun/util/resources/CurrencyNames_fr.properties src/share/classes/sun/util/resources/CurrencyNames_fr_BE.properties src/share/classes/sun/util/resources/CurrencyNames_fr_CA.properties src/share/classes/sun/util/resources/CurrencyNames_fr_CH.properties src/share/classes/sun/util/resources/CurrencyNames_fr_FR.properties src/share/classes/sun/util/resources/CurrencyNames_fr_LU.properties src/share/classes/sun/util/resources/CurrencyNames_ga_IE.properties src/share/classes/sun/util/resources/CurrencyNames_hi_IN.properties src/share/classes/sun/util/resources/CurrencyNames_hr_HR.properties src/share/classes/sun/util/resources/CurrencyNames_hu_HU.properties src/share/classes/sun/util/resources/CurrencyNames_in_ID.properties src/share/classes/sun/util/resources/CurrencyNames_is_IS.properties src/share/classes/sun/util/resources/CurrencyNames_it.properties src/share/classes/sun/util/resources/CurrencyNames_it_CH.properties src/share/classes/sun/util/resources/CurrencyNames_it_IT.properties src/share/classes/sun/util/resources/CurrencyNames_iw_IL.properties src/share/classes/sun/util/resources/CurrencyNames_ja.properties src/share/classes/sun/util/resources/CurrencyNames_ja_JP.properties src/share/classes/sun/util/resources/CurrencyNames_ko.properties src/share/classes/sun/util/resources/CurrencyNames_ko_KR.properties src/share/classes/sun/util/resources/CurrencyNames_lt_LT.properties src/share/classes/sun/util/resources/CurrencyNames_lv_LV.properties src/share/classes/sun/util/resources/CurrencyNames_mk_MK.properties src/share/classes/sun/util/resources/CurrencyNames_ms_MY.properties src/share/classes/sun/util/resources/CurrencyNames_mt_MT.properties src/share/classes/sun/util/resources/CurrencyNames_nl_BE.properties src/share/classes/sun/util/resources/CurrencyNames_nl_NL.properties src/share/classes/sun/util/resources/CurrencyNames_no_NO.properties src/share/classes/sun/util/resources/CurrencyNames_pl_PL.properties src/share/classes/sun/util/resources/CurrencyNames_pt.properties src/share/classes/sun/util/resources/CurrencyNames_pt_BR.properties src/share/classes/sun/util/resources/CurrencyNames_pt_PT.properties src/share/classes/sun/util/resources/CurrencyNames_ro_RO.properties src/share/classes/sun/util/resources/CurrencyNames_ru_RU.properties src/share/classes/sun/util/resources/CurrencyNames_sk_SK.properties src/share/classes/sun/util/resources/CurrencyNames_sl_SI.properties src/share/classes/sun/util/resources/CurrencyNames_sq_AL.properties src/share/classes/sun/util/resources/CurrencyNames_sr_BA.properties src/share/classes/sun/util/resources/CurrencyNames_sr_CS.properties src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_BA.properties src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_ME.properties src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_RS.properties src/share/classes/sun/util/resources/CurrencyNames_sr_ME.properties src/share/classes/sun/util/resources/CurrencyNames_sr_RS.properties src/share/classes/sun/util/resources/CurrencyNames_sv.properties src/share/classes/sun/util/resources/CurrencyNames_sv_SE.properties src/share/classes/sun/util/resources/CurrencyNames_th_TH.properties src/share/classes/sun/util/resources/CurrencyNames_tr_TR.properties src/share/classes/sun/util/resources/CurrencyNames_uk_UA.properties src/share/classes/sun/util/resources/CurrencyNames_vi_VN.properties src/share/classes/sun/util/resources/CurrencyNames_zh_CN.properties src/share/classes/sun/util/resources/CurrencyNames_zh_HK.java src/share/classes/sun/util/resources/CurrencyNames_zh_SG.java src/share/classes/sun/util/resources/CurrencyNames_zh_TW.properties src/share/classes/sun/util/resources/LocaleNames_ar.properties src/share/classes/sun/util/resources/LocaleNames_be.properties src/share/classes/sun/util/resources/LocaleNames_bg.properties src/share/classes/sun/util/resources/LocaleNames_ca.properties src/share/classes/sun/util/resources/LocaleNames_cs.properties src/share/classes/sun/util/resources/LocaleNames_da.properties src/share/classes/sun/util/resources/LocaleNames_de.properties src/share/classes/sun/util/resources/LocaleNames_el.properties src/share/classes/sun/util/resources/LocaleNames_el_CY.properties src/share/classes/sun/util/resources/LocaleNames_en.properties src/share/classes/sun/util/resources/LocaleNames_en_MT.properties src/share/classes/sun/util/resources/LocaleNames_en_PH.properties src/share/classes/sun/util/resources/LocaleNames_en_SG.properties src/share/classes/sun/util/resources/LocaleNames_es.properties src/share/classes/sun/util/resources/LocaleNames_es_US.properties src/share/classes/sun/util/resources/LocaleNames_et.properties src/share/classes/sun/util/resources/LocaleNames_fi.properties src/share/classes/sun/util/resources/LocaleNames_fr.properties src/share/classes/sun/util/resources/LocaleNames_ga.properties src/share/classes/sun/util/resources/LocaleNames_hi.properties src/share/classes/sun/util/resources/LocaleNames_hr.properties src/share/classes/sun/util/resources/LocaleNames_hu.properties src/share/classes/sun/util/resources/LocaleNames_in.properties src/share/classes/sun/util/resources/LocaleNames_is.properties src/share/classes/sun/util/resources/LocaleNames_it.properties src/share/classes/sun/util/resources/LocaleNames_iw.properties src/share/classes/sun/util/resources/LocaleNames_ja.properties src/share/classes/sun/util/resources/LocaleNames_ko.properties src/share/classes/sun/util/resources/LocaleNames_lt.properties src/share/classes/sun/util/resources/LocaleNames_lv.properties src/share/classes/sun/util/resources/LocaleNames_mk.properties src/share/classes/sun/util/resources/LocaleNames_ms.properties src/share/classes/sun/util/resources/LocaleNames_mt.properties src/share/classes/sun/util/resources/LocaleNames_nl.properties src/share/classes/sun/util/resources/LocaleNames_no.properties src/share/classes/sun/util/resources/LocaleNames_no_NO_NY.properties src/share/classes/sun/util/resources/LocaleNames_pl.properties src/share/classes/sun/util/resources/LocaleNames_pt.properties src/share/classes/sun/util/resources/LocaleNames_pt_BR.properties src/share/classes/sun/util/resources/LocaleNames_pt_PT.properties src/share/classes/sun/util/resources/LocaleNames_ro.properties src/share/classes/sun/util/resources/LocaleNames_ru.properties src/share/classes/sun/util/resources/LocaleNames_sk.properties src/share/classes/sun/util/resources/LocaleNames_sl.properties src/share/classes/sun/util/resources/LocaleNames_sq.properties src/share/classes/sun/util/resources/LocaleNames_sr.properties src/share/classes/sun/util/resources/LocaleNames_sr_Latn.properties src/share/classes/sun/util/resources/LocaleNames_sv.properties src/share/classes/sun/util/resources/LocaleNames_th.properties src/share/classes/sun/util/resources/LocaleNames_tr.properties src/share/classes/sun/util/resources/LocaleNames_uk.properties src/share/classes/sun/util/resources/LocaleNames_vi.properties src/share/classes/sun/util/resources/LocaleNames_zh.properties src/share/classes/sun/util/resources/LocaleNames_zh_HK.java src/share/classes/sun/util/resources/LocaleNames_zh_SG.properties src/share/classes/sun/util/resources/LocaleNames_zh_TW.properties src/share/classes/sun/util/resources/TimeZoneNames_de.java src/share/classes/sun/util/resources/TimeZoneNames_en.java src/share/classes/sun/util/resources/TimeZoneNames_en_CA.java src/share/classes/sun/util/resources/TimeZoneNames_en_GB.java src/share/classes/sun/util/resources/TimeZoneNames_en_IE.java src/share/classes/sun/util/resources/TimeZoneNames_es.java src/share/classes/sun/util/resources/TimeZoneNames_fr.java src/share/classes/sun/util/resources/TimeZoneNames_hi.java src/share/classes/sun/util/resources/TimeZoneNames_it.java src/share/classes/sun/util/resources/TimeZoneNames_ja.java src/share/classes/sun/util/resources/TimeZoneNames_ko.java src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java src/share/classes/sun/util/resources/TimeZoneNames_sv.java src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java src/share/classes/sun/util/resources/TimeZoneNames_zh_HK.java src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java src/solaris/classes/sun/awt/X11/XTextTransferHelper.java test/java/lang/invoke/MaxTest.java test/javax/swing/JColorChooser/Test4380468.html test/javax/swing/JColorChooser/Test4380468.java
diffstat 1812 files changed, 468759 insertions(+), 68756 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Tue Sep 11 13:40:59 2012 -0700
+++ b/.hgtags	Tue Sep 11 14:18:54 2012 -0700
@@ -175,3 +175,4 @@
 e865efbc71059a414b3b2dd2e0adfcb3d2ab6ff9 jdk8-b51
 e8569a473cee7f4955bd9e76a9bdf6c6a07ced27 jdk8-b52
 2c6933c5106b81a8578b70996fe5b735fb3adb60 jdk8-b53
+70ad0ed1d6cef0e7712690d1bab21e4769708aad jdk8-b54
--- a/make/com/sun/java/pack/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/com/sun/java/pack/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -77,8 +77,8 @@
   OTHER_CXXFLAGS += $(ZINCLUDE)
   LDDFLAGS += $(ZIPOBJS)
  else
-  LDDFLAGS += -lz
-  OTHER_CXXFLAGS += -DSYSTEM_ZLIB
+  LDDFLAGS += $(ZLIB_LIBS)
+  OTHER_CXXFLAGS += $(ZLIB_CFLAGS) -DSYSTEM_ZLIB
  endif
 else
   OTHER_CXXFLAGS += -DNO_ZLIB -DUNPACK_JNI
--- a/make/common/Program.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/common/Program.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -91,7 +91,7 @@
   LDFLAGS += $(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)/static/libjli.a
 
   ifeq ($(SYSTEM_ZLIB),true)
-    OTHER_LDLIBS += -lz
+    OTHER_LDLIBS += $(ZLIB_LIBS)
   endif
 endif
 
@@ -126,6 +126,26 @@
 endif
 
 #
+# Applications expect to be able to link against libjawt without invoking
+# System.loadLibrary("jawt") first. This was the behaviour described in the
+# devloper documentation of JAWT and what worked with OpenJDK6.
+#
+ifeq ($(PLATFORM), solaris)
+  ifeq ($(ARCH_DATA_MODEL), 32)
+    LDFLAGS += -R \$$ORIGIN/../lib/$(LIBARCH)
+    LDFLAGS += -R \$$ORIGIN/../jre/lib/$(LIBARCH)
+  else # ! ARCH_DATA_MODEL 64-bit
+    LDFLAGS += -R \$$ORIGIN/../../lib/$(LIBARCH)
+    LDFLAGS += -R \$$ORIGIN/../../jre/lib/$(LIBARCH)
+  endif # ARCH_DATA_MODEL
+endif # PLATFORM SOLARIS
+ifeq ($(PLATFORM), linux)
+  LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)
+  LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH)
+endif # PLATFORM LINUX
+
+
+#
 # Launcher specific files.
 #
 FILES_o = $(OBJDIR)/main.$(OBJECT_SUFFIX)
--- a/make/common/shared/Defs-java.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/common/shared/Defs-java.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -160,7 +160,7 @@
 
 # Needed for javadoc to ensure it builds documentation
 # against the newly built classes
-JAVADOCFLAGS += -bootclasspath $(CLASSBINDIR)
+JAVADOCFLAGS += -bootclasspath "$(CLASSBINDIR)$(JCE_PATH)"
 
 # Needed for JAVADOC and BOOT_JAVACFLAGS
 NO_PROPRIETARY_API_WARNINGS = -XDignore.symbol.file=true
--- a/make/common/shared/Defs-linux.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/common/shared/Defs-linux.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -129,6 +129,11 @@
 BUILD_HEADLESS = true
 LIBM=-lm
 
+# Set ZLIB_LIBS if not already set
+ifeq ("$(ZLIB_LIBS)", "")
+  ZLIB_LIBS=-lz
+endif
+
 # GCC29_COMPILER_PATH: is the path to where the gcc 2.9 compiler is installed
 #  NOTE: Must end with / so that it could be empty, allowing PATH usage.
 ifdef ALT_GCC29_COMPILER_PATH
--- a/make/common/shared/Defs-macosx.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/common/shared/Defs-macosx.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -143,6 +143,11 @@
   _CUPS_HEADERS_PATH=$(PACKAGE_PATH)/include
 endif
 
+# Set ZLIB_LIBS if not already set
+ifeq ("$(ZLIB_LIBS)", "")
+  ZLIB_LIBS=-lz
+endif
+
 # Import JDK images allow for partial builds, components not built are
 #    imported (or copied from) these import areas when needed.
 
--- a/make/common/shared/Defs-solaris.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/common/shared/Defs-solaris.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -140,6 +140,11 @@
 
 _CUPS_HEADERS_PATH=/opt/sfw/cups/include
 
+# Set ZLIB_LIBS if not already set
+ifeq ("$(ZLIB_LIBS)", "")
+  ZLIB_LIBS=-lz
+endif
+
 # Import JDK images allow for partial builds, components not built are
 #    imported (or copied from) these import areas when needed.
 
--- a/make/java/java/Exportedfiles.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/java/Exportedfiles.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -93,7 +93,8 @@
     sun/reflect/ConstantPool.java \
     sun/reflect/NativeConstructorAccessorImpl.java \
     sun/reflect/NativeMethodAccessorImpl.java \
-    sun/reflect/Reflection.java
+    sun/reflect/Reflection.java \
+    sun/util/locale/provider/HostLocaleProviderAdapterImpl.java
 
 EXPORTED_inner = \
     java.lang.ClassLoader$$NativeLibrary
@@ -170,7 +171,8 @@
     sun/reflect/NativeMethodAccessorImpl.java \
     sun/reflect/Reflection.java \
     sun/security/provider/NativeSeedGenerator.java \
-    sun/io/Win32ErrorMode.java
+    sun/io/Win32ErrorMode.java \
+    sun/util/locale/provider/HostLocaleProviderAdapterImpl.java
 
 EXPORTED_inner = \
     java.lang.ClassLoader$$NativeLibrary
--- a/make/java/java/FILES_c.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/java/FILES_c.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -78,4 +78,5 @@
 	AtomicLong.c \
 	Version.c \
 	VM.c \
-	VMSupport.c 
+	VMSupport.c \
+	HostLocaleProviderAdapter_md.c
--- a/make/java/java/FILES_java.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/java/FILES_java.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -188,7 +188,6 @@
     java/util/IllformedLocaleException.java \
     java/util/FormatterClosedException.java \
     java/util/ListResourceBundle.java \
-        sun/util/EmptyListResourceBundle.java \
     java/util/Locale.java \
         sun/util/locale/BaseLocale.java \
         sun/util/locale/Extension.java \
@@ -201,9 +200,35 @@
         sun/util/locale/ParseStatus.java \
         sun/util/locale/StringTokenIterator.java \
         sun/util/locale/UnicodeLocaleExtension.java \
+            sun/util/locale/provider/AuxLocaleProviderAdapter.java \
+            sun/util/locale/provider/AvailableLanguageTags.java \
+            sun/util/locale/provider/BreakDictionary.java \
+            sun/util/locale/provider/BreakIteratorProviderImpl.java \
+            sun/util/locale/provider/CalendarDataProviderImpl.java \
+            sun/util/locale/provider/CalendarDataUtility.java \
+            sun/util/locale/provider/CollationRules.java \
+            sun/util/locale/provider/CollatorProviderImpl.java \
+            sun/util/locale/provider/CurrencyNameProviderImpl.java \
+            sun/util/locale/provider/DateFormatProviderImpl.java \
+            sun/util/locale/provider/DateFormatSymbolsProviderImpl.java \
+            sun/util/locale/provider/DecimalFormatSymbolsProviderImpl.java \
+            sun/util/locale/provider/DictionaryBasedBreakIterator.java \
+            sun/util/locale/provider/HostLocaleProviderAdapter.java \
+            sun/util/locale/provider/HostLocaleProviderAdapterImpl.java \
+            sun/util/locale/provider/JRELocaleConstants.java \
+            sun/util/locale/provider/JRELocaleProviderAdapter.java \
+            sun/util/locale/provider/LocaleServiceProviderPool.java \
+            sun/util/locale/provider/LocaleProviderAdapter.java \
+	    sun/util/locale/provider/LocaleDataMetaInfo.java \
+            sun/util/locale/provider/LocaleNameProviderImpl.java \
+            sun/util/locale/provider/LocaleResources.java \
+            sun/util/locale/provider/NumberFormatProviderImpl.java \
+            sun/util/locale/provider/RuleBasedBreakIterator.java \
+            sun/util/locale/provider/SPILocaleProviderAdapter.java \
+            sun/util/locale/provider/TimeZoneNameProviderImpl.java \
+            sun/util/locale/provider/TimeZoneNameUtility.java \
     java/util/LocaleISOData.java \
-        sun/util/LocaleServiceProviderPool.java \
-	sun/util/LocaleDataMetaInfo.java \
+        sun/util/cldr/CLDRLocaleProviderAdapter.java \
     java/util/MissingResourceException.java \
     java/util/NoSuchElementException.java \
     java/util/Observable.java \
@@ -222,7 +247,6 @@
     java/util/StringTokenizer.java \
     java/util/TimeZone.java \
         java/util/SimpleTimeZone.java \
-        sun/util/TimeZoneNameUtility.java \
         sun/util/calendar/ZoneInfo.java \
         sun/util/calendar/ZoneInfoFile.java \
         sun/util/calendar/TzIDOldMapping.java \
@@ -369,6 +393,7 @@
     java/util/prefs/PreferencesFactory.java \
     java/util/prefs/Base64.java \
     java/util/prefs/XmlSupport.java \
+    java/util/spi/CalendarDataProvider.java \
     java/util/spi/CurrencyNameProvider.java \
     java/util/spi/LocaleNameProvider.java \
     java/util/spi/LocaleServiceProvider.java \
--- a/make/java/java/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/java/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -156,6 +156,11 @@
 vpath %.c $(PLATFORM_SRC)/native/java/util
 vpath %.c $(PLATFORM_SRC)/native/sun/security/provider
 vpath %.c $(PLATFORM_SRC)/native/sun/io
+ifeq ($(PLATFORM),macosx)
+vpath %.c $(PLATFORM_SRC_MACOS)/native/sun/util/locale/provider
+else # PLATFORM
+vpath %.c $(PLATFORM_SRC)/native/sun/util/locale/provider
+endif # PLATFORM
 
 #
 # Includes the fdlibm header file.
--- a/make/java/java/genlocales.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/java/genlocales.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -68,8 +68,8 @@
 FILES_java := $(FILES_java_orig)
 FILES_compiled_properties := $(FILES_compiled_properties_orig)
 
-LocaleDataMetaInfo_Src=$(SHARE_SRC)/classes/sun/util/LocaleDataMetaInfo-XLocales.java.template
-LocaleDataMetaInfo_Dest=$(GENSRCDIR)/sun/util/LocaleDataMetaInfo.java
+LocaleDataMetaInfo_Src=$(SHARE_SRC)/classes/sun/util/locale/provider/LocaleDataMetaInfo-XLocales.java.template
+LocaleDataMetaInfo_Dest=$(GENSRCDIR)/sun/util/locale/provider/LocaleDataMetaInfo.java
 LOCALEGEN_SH=localegen.sh
 RESOURCE_NAMES="FormatData CollationData TimeZoneNames LocaleNames CurrencyNames CalendarData"
 
--- a/make/java/java/localegen.sh	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/java/localegen.sh	Tue Sep 11 14:18:54 2012 -0700
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2012, 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
@@ -47,20 +47,29 @@
 localelist=
 getlocalelist() {
     localelist=""
-    localelist=`$NAWK -F$1_ '{print $2}' $2 | $SORT`
+    localelist=`$NAWK -F$1_ '{print $2}' $2 | $SORT | $SED -e 's/_/-/g'`
 }
 
-sed_script="$SED -e \"s@^#warn .*@// -- This file was mechanically generated: Do not edit! -- //@\" " 
+sed_script="$SED -e \"s@^#warn .*@// -- This file was mechanically generated: Do not edit! -- //@\" "
 
-for FILE in $RESOURCE_NAMES 
+# ja-JP-JP and th-TH-TH need to be manually added, as they don't have any resource files.
+noneuroall=" ja-JP-JP th-TH-TH "
+
+for FILE in $RESOURCE_NAMES
 do
     getlocalelist $FILE $EURO_FILES_LIST
     sed_script=$sed_script"-e \"s@#"$FILE"_EuroLocales#@$localelist@g\" "
+    euroall=$euroall" "$localelist
     getlocalelist $FILE $NONEURO_FILES_LIST
     sed_script=$sed_script"-e \"s@#"$FILE"_NonEuroLocales#@$localelist@g\" "
+    noneuroall=$noneuroall" "$localelist
 done
 
+euroall=`(for LOC in $euroall; do echo $LOC;done) |$SORT -u`
+noneuroall=`(for LOC in $noneuroall; do echo $LOC;done) |$SORT -u`
+
+sed_script=$sed_script"-e \"s@#AvailableLocales_EuroLocales#@$euroall@g\" "
+sed_script=$sed_script"-e \"s@#AvailableLocales_NonEuroLocales#@$noneuroall@g\" "
+
 sed_script=$sed_script"$INPUT_FILE > $OUTPUT_FILE"
 eval $sed_script
-
-
--- a/make/java/java/mapfile-vers	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/java/mapfile-vers	Tue Sep 11 14:18:54 2012 -0700
@@ -285,6 +285,8 @@
 #		Java_sun_misc_VM_unsuspendSomeThreads;		threads.c
 #		Java_sun_misc_VM_unsuspendThreads;		threads.c
 
+		Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getPattern;
+
 	# Outcalls from libjvm done using dlsym().
 
 		VerifyClassCodes;
--- a/make/java/jli/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/jli/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -46,6 +46,8 @@
 
 ifneq ($(SYSTEM_ZLIB),true)
   ZIP_SRC = $(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION)
+else # SYSTEM_ZLIB
+  OTHER_CFLAGS += $(ZLIB_CFLAGS)
 endif #SYSTEM_ZLIB
 LAUNCHER_SHARE_SRC = $(SHARE_SRC)/bin
 
@@ -162,7 +164,7 @@
 ifneq ($(SYSTEM_ZLIB),true)
   OTHER_INCLUDES += -I$(ZIP_SRC)
 else # !SYSTEM_ZLIB
-  LDLIBS += -lz
+  LDLIBS += $(ZLIB_LIBS)
 endif # SYSTEM_ZLIB
 
 #
--- a/make/java/nio/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/nio/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -277,7 +277,6 @@
 	sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java \
 	sun/nio/ch/UnixAsynchronousSocketChannelImpl.java \
 	\
-	sun/nio/fs/GnomeFileTypeDetector.java \
 	sun/nio/fs/BsdFileStore.java \
 	sun/nio/fs/BsdFileSystem.java \
 	sun/nio/fs/BsdFileSystemProvider.java \
@@ -312,7 +311,6 @@
 	UnixAsynchronousServerSocketChannelImpl.c \
 	UnixAsynchronousSocketChannelImpl.c \
 	\
-	GnomeFileTypeDetector.c \
 	BsdNativeDispatcher.c \
 	MacOSXNativeDispatcher.c \
 	UnixCopyFile.c \
@@ -329,7 +327,6 @@
 	sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java \
 	sun/nio/ch/UnixAsynchronousSocketChannelImpl.java \
 	\
-	sun/nio/fs/GnomeFileTypeDetector.java \
 	sun/nio/fs/BsdNativeDispatcher.java \
 	sun/nio/fs/UnixCopyFile.java \
 	sun/nio/fs/UnixNativeDispatcher.java
--- a/make/java/nio/mapfile-bsd	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/nio/mapfile-bsd	Tue Sep 11 14:18:54 2012 -0700
@@ -121,10 +121,6 @@
 		Java_sun_nio_fs_BsdNativeDispatcher_getfsstat;
 		Java_sun_nio_fs_BsdNativeDispatcher_fsstatEntry;
 		Java_sun_nio_fs_BsdNativeDispatcher_endfsstat;
-		Java_sun_nio_fs_GnomeFileTypeDetector_initializeGio;
-		Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGio;
-		Java_sun_nio_fs_GnomeFileTypeDetector_initializeGnomeVfs;
-		Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGnomeVfs;
 		Java_sun_nio_fs_UnixNativeDispatcher_init;
 		Java_sun_nio_fs_UnixNativeDispatcher_getcwd;
 		Java_sun_nio_fs_UnixNativeDispatcher_strerror;
@@ -170,7 +166,6 @@
 		Java_sun_nio_fs_UnixNativeDispatcher_getgrgid;
 		Java_sun_nio_fs_UnixNativeDispatcher_getpwnam0;
 		Java_sun_nio_fs_UnixNativeDispatcher_getgrnam0;
-		Java_sun_nio_fs_UnixNativeDispatcher_getextmntent;
 		Java_sun_nio_fs_UnixCopyFile_transfer;
 		handleSocketError;
 
--- a/make/java/nio/mapfile-linux	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/nio/mapfile-linux	Tue Sep 11 14:18:54 2012 -0700
@@ -143,6 +143,7 @@
 		Java_sun_nio_fs_LinuxNativeDispatcher_fsetxattr0;
 		Java_sun_nio_fs_LinuxNativeDispatcher_fremovexattr0;
 		Java_sun_nio_fs_LinuxNativeDispatcher_setmntent0;
+                Java_sun_nio_fs_LinuxNativeDispatcher_getmntent;
 		Java_sun_nio_fs_LinuxNativeDispatcher_endmntent;
 		Java_sun_nio_fs_UnixNativeDispatcher_init;
 		Java_sun_nio_fs_UnixNativeDispatcher_getcwd;
@@ -189,7 +190,6 @@
 		Java_sun_nio_fs_UnixNativeDispatcher_getgrgid;
 		Java_sun_nio_fs_UnixNativeDispatcher_getpwnam0;
 		Java_sun_nio_fs_UnixNativeDispatcher_getgrnam0;
-		Java_sun_nio_fs_UnixNativeDispatcher_getextmntent;
 		Java_sun_nio_fs_UnixCopyFile_transfer;
 		handleSocketError;
 
--- a/make/java/nio/mapfile-solaris	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/nio/mapfile-solaris	Tue Sep 11 14:18:54 2012 -0700
@@ -169,10 +169,10 @@
 		Java_sun_nio_fs_UnixNativeDispatcher_getgrgid;
 		Java_sun_nio_fs_UnixNativeDispatcher_getpwnam0;
 		Java_sun_nio_fs_UnixNativeDispatcher_getgrnam0;
-		Java_sun_nio_fs_UnixNativeDispatcher_getextmntent;
 		Java_sun_nio_fs_UnixCopyFile_transfer;
 		Java_sun_nio_fs_SolarisNativeDispatcher_init;
 		Java_sun_nio_fs_SolarisNativeDispatcher_facl;
+		Java_sun_nio_fs_SolarisNativeDispatcher_getextmntent;
 		Java_sun_nio_fs_SolarisWatchService_init;
 		Java_sun_nio_fs_SolarisWatchService_portCreate;
 		Java_sun_nio_fs_SolarisWatchService_portAssociate;
--- a/make/java/text/base/FILES_java.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/text/base/FILES_java.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 2012, 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
@@ -27,7 +27,6 @@
     java/text/Annotation.java \
     java/text/AttributedCharacterIterator.java \
     java/text/AttributedString.java \
-    java/text/BreakDictionary.java \
     java/text/BreakIterator.java \
     java/text/CalendarBuilder.java \
     java/text/CharacterIterator.java \
@@ -36,11 +35,9 @@
     java/text/Collator.java \
     java/text/CollationElementIterator.java \
     java/text/CollationKey.java \
-    java/text/CollationRules.java \
     java/text/DateFormat.java \
     java/text/DateFormatSymbols.java \
     java/text/DecimalFormat.java \
-    java/text/DictionaryBasedBreakIterator.java \
     java/text/DigitList.java \
     java/text/EntryPair.java \
     java/text/Format.java \
@@ -56,7 +53,6 @@
     java/text/PatternEntry.java \
     java/text/RBCollationTables.java \
     java/text/RBTableBuilder.java \
-    java/text/RuleBasedBreakIterator.java \
     java/text/RuleBasedCollator.java \
     java/text/RuleBasedCollationKey.java \
     java/text/SimpleDateFormat.java \
@@ -107,158 +103,150 @@
         sun/text/resources/BreakIteratorInfo.java \
 	\
         sun/text/resources/CollationData.java \
-        sun/text/resources/CollationData_be.java \
-        sun/text/resources/CollationData_bg.java \
-        sun/text/resources/CollationData_ca.java \
-        sun/text/resources/CollationData_cs.java \
-        sun/text/resources/CollationData_da.java \
-        sun/text/resources/CollationData_de.java \
-        sun/text/resources/CollationData_el.java \
-        sun/text/resources/CollationData_en.java \
-        sun/text/resources/CollationData_es.java \
-        sun/text/resources/CollationData_et.java \
-        sun/text/resources/CollationData_fi.java \
-        sun/text/resources/CollationData_fr.java \
-        sun/text/resources/CollationData_hr.java \
-        sun/text/resources/CollationData_hu.java \
-        sun/text/resources/CollationData_is.java \
-        sun/text/resources/CollationData_it.java \
-        sun/text/resources/CollationData_lt.java \
-        sun/text/resources/CollationData_lv.java \
-        sun/text/resources/CollationData_mk.java \
-        sun/text/resources/CollationData_nl.java \
-        sun/text/resources/CollationData_no.java \
-        sun/text/resources/CollationData_pl.java \
-        sun/text/resources/CollationData_pt.java \
-        sun/text/resources/CollationData_ro.java \
-        sun/text/resources/CollationData_ru.java \
-        sun/text/resources/CollationData_sk.java \
-        sun/text/resources/CollationData_sl.java \
-        sun/text/resources/CollationData_sq.java \
-        sun/text/resources/CollationData_sr.java \
-        sun/text/resources/CollationData_sr_Latn.java \
-        sun/text/resources/CollationData_sv.java \
-        sun/text/resources/CollationData_tr.java \
-        sun/text/resources/CollationData_uk.java \
+        sun/text/resources/be/CollationData_be.java \
+        sun/text/resources/bg/CollationData_bg.java \
+        sun/text/resources/ca/CollationData_ca.java \
+        sun/text/resources/cs/CollationData_cs.java \
+        sun/text/resources/da/CollationData_da.java \
+        sun/text/resources/el/CollationData_el.java \
+        sun/text/resources/es/CollationData_es.java \
+        sun/text/resources/et/CollationData_et.java \
+        sun/text/resources/fi/CollationData_fi.java \
+        sun/text/resources/fr/CollationData_fr.java \
+        sun/text/resources/hr/CollationData_hr.java \
+        sun/text/resources/hu/CollationData_hu.java \
+        sun/text/resources/is/CollationData_is.java \
+        sun/text/resources/lt/CollationData_lt.java \
+        sun/text/resources/lv/CollationData_lv.java \
+        sun/text/resources/mk/CollationData_mk.java \
+        sun/text/resources/no/CollationData_no.java \
+        sun/text/resources/pl/CollationData_pl.java \
+        sun/text/resources/ro/CollationData_ro.java \
+        sun/text/resources/ru/CollationData_ru.java \
+        sun/text/resources/sk/CollationData_sk.java \
+        sun/text/resources/sl/CollationData_sl.java \
+        sun/text/resources/sq/CollationData_sq.java \
+        sun/text/resources/sr/CollationData_sr.java \
+        sun/text/resources/sr/CollationData_sr_Latn.java \
+        sun/text/resources/sv/CollationData_sv.java \
+        sun/text/resources/tr/CollationData_tr.java \
+        sun/text/resources/uk/CollationData_uk.java \
 	\
         sun/text/resources/FormatData.java \
-        sun/text/resources/FormatData_be.java \
-        sun/text/resources/FormatData_be_BY.java \
-        sun/text/resources/FormatData_bg.java \
-        sun/text/resources/FormatData_bg_BG.java \
-        sun/text/resources/FormatData_ca.java \
-        sun/text/resources/FormatData_ca_ES.java \
-        sun/text/resources/FormatData_cs.java \
-        sun/text/resources/FormatData_cs_CZ.java \
-        sun/text/resources/FormatData_da.java \
-        sun/text/resources/FormatData_da_DK.java \
-        sun/text/resources/FormatData_de.java \
-        sun/text/resources/FormatData_de_AT.java \
-        sun/text/resources/FormatData_de_CH.java \
-        sun/text/resources/FormatData_de_DE.java \
-        sun/text/resources/FormatData_de_LU.java \
-        sun/text/resources/FormatData_el.java \
-        sun/text/resources/FormatData_el_CY.java \
-        sun/text/resources/FormatData_el_GR.java \
-        sun/text/resources/FormatData_en.java \
-        sun/text/resources/FormatData_en_US.java \
-        sun/text/resources/FormatData_en_AU.java \
-        sun/text/resources/FormatData_en_CA.java \
-        sun/text/resources/FormatData_en_GB.java \
-        sun/text/resources/FormatData_en_IE.java \
-        sun/text/resources/FormatData_en_IN.java \
-        sun/text/resources/FormatData_en_MT.java \
-        sun/text/resources/FormatData_en_NZ.java \
-        sun/text/resources/FormatData_en_PH.java \
-        sun/text/resources/FormatData_en_SG.java \
-        sun/text/resources/FormatData_en_ZA.java \
-        sun/text/resources/FormatData_es.java \
-        sun/text/resources/FormatData_es_BO.java \
-        sun/text/resources/FormatData_es_AR.java \
-        sun/text/resources/FormatData_es_CL.java \
-        sun/text/resources/FormatData_es_CO.java \
-        sun/text/resources/FormatData_es_CR.java \
-        sun/text/resources/FormatData_es_DO.java \
-        sun/text/resources/FormatData_es_EC.java \
-        sun/text/resources/FormatData_es_ES.java \
-        sun/text/resources/FormatData_es_GT.java \
-        sun/text/resources/FormatData_es_HN.java \
-        sun/text/resources/FormatData_es_MX.java \
-        sun/text/resources/FormatData_es_NI.java \
-        sun/text/resources/FormatData_es_PA.java \
-        sun/text/resources/FormatData_es_PE.java \
-        sun/text/resources/FormatData_es_PR.java \
-        sun/text/resources/FormatData_es_PY.java \
-        sun/text/resources/FormatData_es_SV.java \
-        sun/text/resources/FormatData_es_US.java \
-        sun/text/resources/FormatData_es_UY.java \
-        sun/text/resources/FormatData_es_VE.java \
-        sun/text/resources/FormatData_et.java \
-        sun/text/resources/FormatData_et_EE.java \
-        sun/text/resources/FormatData_fi.java \
-        sun/text/resources/FormatData_fi_FI.java \
-        sun/text/resources/FormatData_fr.java \
-        sun/text/resources/FormatData_fr_BE.java \
-        sun/text/resources/FormatData_fr_CA.java \
-        sun/text/resources/FormatData_fr_CH.java \
-        sun/text/resources/FormatData_fr_FR.java \
-        sun/text/resources/FormatData_fr_LU.java \
-        sun/text/resources/FormatData_ga.java \
-        sun/text/resources/FormatData_ga_IE.java \
-        sun/text/resources/FormatData_hr.java \
-        sun/text/resources/FormatData_hr_HR.java \
-        sun/text/resources/FormatData_hu.java \
-        sun/text/resources/FormatData_hu_HU.java \
-        sun/text/resources/FormatData_in.java \
-        sun/text/resources/FormatData_in_ID.java \
-        sun/text/resources/FormatData_is.java \
-        sun/text/resources/FormatData_is_IS.java \
-        sun/text/resources/FormatData_it.java \
-        sun/text/resources/FormatData_it_CH.java \
-        sun/text/resources/FormatData_it_IT.java \
-        sun/text/resources/FormatData_lt.java \
-        sun/text/resources/FormatData_lt_LT.java \
-        sun/text/resources/FormatData_lv.java \
-        sun/text/resources/FormatData_lv_LV.java \
-        sun/text/resources/FormatData_mk.java \
-        sun/text/resources/FormatData_mk_MK.java \
-        sun/text/resources/FormatData_ms.java \
-        sun/text/resources/FormatData_ms_MY.java \
-        sun/text/resources/FormatData_mt.java \
-        sun/text/resources/FormatData_mt_MT.java \
-        sun/text/resources/FormatData_nl.java \
-        sun/text/resources/FormatData_nl_BE.java \
-        sun/text/resources/FormatData_nl_NL.java \
-        sun/text/resources/FormatData_no.java \
-        sun/text/resources/FormatData_no_NO.java \
-        sun/text/resources/FormatData_no_NO_NY.java \
-        sun/text/resources/FormatData_pl.java \
-        sun/text/resources/FormatData_pl_PL.java \
-        sun/text/resources/FormatData_pt.java \
-        sun/text/resources/FormatData_pt_BR.java \
-        sun/text/resources/FormatData_pt_PT.java \
-        sun/text/resources/FormatData_ro.java \
-        sun/text/resources/FormatData_ro_RO.java \
-        sun/text/resources/FormatData_ru.java \
-        sun/text/resources/FormatData_ru_RU.java \
-        sun/text/resources/FormatData_sk.java \
-        sun/text/resources/FormatData_sk_SK.java \
-        sun/text/resources/FormatData_sl.java \
-        sun/text/resources/FormatData_sl_SI.java \
-        sun/text/resources/FormatData_sq.java \
-        sun/text/resources/FormatData_sq_AL.java \
-        sun/text/resources/FormatData_sr.java \
-        sun/text/resources/FormatData_sr_BA.java \
-        sun/text/resources/FormatData_sr_CS.java \
-        sun/text/resources/FormatData_sr_ME.java \
-        sun/text/resources/FormatData_sr_RS.java \
-        sun/text/resources/FormatData_sr_Latn.java \
-        sun/text/resources/FormatData_sr_Latn_BA.java \
-        sun/text/resources/FormatData_sr_Latn_ME.java \
-        sun/text/resources/FormatData_sr_Latn_RS.java \
-        sun/text/resources/FormatData_sv.java \
-        sun/text/resources/FormatData_sv_SE.java \
-        sun/text/resources/FormatData_tr.java \
-        sun/text/resources/FormatData_tr_TR.java \
-        sun/text/resources/FormatData_uk.java \
-        sun/text/resources/FormatData_uk_UA.java
+        sun/text/resources/be/FormatData_be.java \
+        sun/text/resources/be/FormatData_be_BY.java \
+        sun/text/resources/bg/FormatData_bg.java \
+        sun/text/resources/bg/FormatData_bg_BG.java \
+        sun/text/resources/ca/FormatData_ca.java \
+        sun/text/resources/ca/FormatData_ca_ES.java \
+        sun/text/resources/cs/FormatData_cs.java \
+        sun/text/resources/cs/FormatData_cs_CZ.java \
+        sun/text/resources/da/FormatData_da.java \
+        sun/text/resources/da/FormatData_da_DK.java \
+        sun/text/resources/de/FormatData_de.java \
+        sun/text/resources/de/FormatData_de_AT.java \
+        sun/text/resources/de/FormatData_de_CH.java \
+        sun/text/resources/de/FormatData_de_DE.java \
+        sun/text/resources/de/FormatData_de_LU.java \
+        sun/text/resources/el/FormatData_el.java \
+        sun/text/resources/el/FormatData_el_CY.java \
+        sun/text/resources/el/FormatData_el_GR.java \
+        sun/text/resources/en/FormatData_en.java \
+        sun/text/resources/en/FormatData_en_US.java \
+        sun/text/resources/en/FormatData_en_AU.java \
+        sun/text/resources/en/FormatData_en_CA.java \
+        sun/text/resources/en/FormatData_en_GB.java \
+        sun/text/resources/en/FormatData_en_IE.java \
+        sun/text/resources/en/FormatData_en_IN.java \
+        sun/text/resources/en/FormatData_en_MT.java \
+        sun/text/resources/en/FormatData_en_NZ.java \
+        sun/text/resources/en/FormatData_en_PH.java \
+        sun/text/resources/en/FormatData_en_SG.java \
+        sun/text/resources/en/FormatData_en_ZA.java \
+        sun/text/resources/es/FormatData_es.java \
+        sun/text/resources/es/FormatData_es_BO.java \
+        sun/text/resources/es/FormatData_es_AR.java \
+        sun/text/resources/es/FormatData_es_CL.java \
+        sun/text/resources/es/FormatData_es_CO.java \
+        sun/text/resources/es/FormatData_es_CR.java \
+        sun/text/resources/es/FormatData_es_DO.java \
+        sun/text/resources/es/FormatData_es_EC.java \
+        sun/text/resources/es/FormatData_es_ES.java \
+        sun/text/resources/es/FormatData_es_GT.java \
+        sun/text/resources/es/FormatData_es_HN.java \
+        sun/text/resources/es/FormatData_es_MX.java \
+        sun/text/resources/es/FormatData_es_NI.java \
+        sun/text/resources/es/FormatData_es_PA.java \
+        sun/text/resources/es/FormatData_es_PE.java \
+        sun/text/resources/es/FormatData_es_PR.java \
+        sun/text/resources/es/FormatData_es_PY.java \
+        sun/text/resources/es/FormatData_es_SV.java \
+        sun/text/resources/es/FormatData_es_US.java \
+        sun/text/resources/es/FormatData_es_UY.java \
+        sun/text/resources/es/FormatData_es_VE.java \
+        sun/text/resources/et/FormatData_et.java \
+        sun/text/resources/et/FormatData_et_EE.java \
+        sun/text/resources/fi/FormatData_fi.java \
+        sun/text/resources/fi/FormatData_fi_FI.java \
+        sun/text/resources/fr/FormatData_fr.java \
+        sun/text/resources/fr/FormatData_fr_BE.java \
+        sun/text/resources/fr/FormatData_fr_CA.java \
+        sun/text/resources/fr/FormatData_fr_CH.java \
+        sun/text/resources/fr/FormatData_fr_FR.java \
+        sun/text/resources/ga/FormatData_ga.java \
+        sun/text/resources/ga/FormatData_ga_IE.java \
+        sun/text/resources/hr/FormatData_hr.java \
+        sun/text/resources/hr/FormatData_hr_HR.java \
+        sun/text/resources/hu/FormatData_hu.java \
+        sun/text/resources/hu/FormatData_hu_HU.java \
+        sun/text/resources/in/FormatData_in.java \
+        sun/text/resources/in/FormatData_in_ID.java \
+        sun/text/resources/is/FormatData_is.java \
+        sun/text/resources/is/FormatData_is_IS.java \
+        sun/text/resources/it/FormatData_it.java \
+        sun/text/resources/it/FormatData_it_CH.java \
+        sun/text/resources/it/FormatData_it_IT.java \
+        sun/text/resources/lt/FormatData_lt.java \
+        sun/text/resources/lt/FormatData_lt_LT.java \
+        sun/text/resources/lv/FormatData_lv.java \
+        sun/text/resources/lv/FormatData_lv_LV.java \
+        sun/text/resources/mk/FormatData_mk.java \
+        sun/text/resources/mk/FormatData_mk_MK.java \
+        sun/text/resources/ms/FormatData_ms.java \
+        sun/text/resources/ms/FormatData_ms_MY.java \
+        sun/text/resources/mt/FormatData_mt.java \
+        sun/text/resources/mt/FormatData_mt_MT.java \
+        sun/text/resources/nl/FormatData_nl.java \
+        sun/text/resources/nl/FormatData_nl_BE.java \
+        sun/text/resources/nl/FormatData_nl_NL.java \
+        sun/text/resources/no/FormatData_no.java \
+        sun/text/resources/no/FormatData_no_NO.java \
+        sun/text/resources/no/FormatData_no_NO_NY.java \
+        sun/text/resources/pl/FormatData_pl.java \
+        sun/text/resources/pl/FormatData_pl_PL.java \
+        sun/text/resources/pt/FormatData_pt.java \
+        sun/text/resources/pt/FormatData_pt_BR.java \
+        sun/text/resources/pt/FormatData_pt_PT.java \
+        sun/text/resources/ro/FormatData_ro.java \
+        sun/text/resources/ro/FormatData_ro_RO.java \
+        sun/text/resources/ru/FormatData_ru.java \
+        sun/text/resources/ru/FormatData_ru_RU.java \
+        sun/text/resources/sk/FormatData_sk.java \
+        sun/text/resources/sk/FormatData_sk_SK.java \
+        sun/text/resources/sl/FormatData_sl.java \
+        sun/text/resources/sl/FormatData_sl_SI.java \
+        sun/text/resources/sq/FormatData_sq.java \
+        sun/text/resources/sq/FormatData_sq_AL.java \
+        sun/text/resources/sr/FormatData_sr.java \
+        sun/text/resources/sr/FormatData_sr_BA.java \
+        sun/text/resources/sr/FormatData_sr_CS.java \
+        sun/text/resources/sr/FormatData_sr_ME.java \
+        sun/text/resources/sr/FormatData_sr_RS.java \
+        sun/text/resources/sr/FormatData_sr_Latn.java \
+        sun/text/resources/sr/FormatData_sr_Latn_ME.java \
+        sun/text/resources/sv/FormatData_sv.java \
+        sun/text/resources/sv/FormatData_sv_SE.java \
+        sun/text/resources/tr/FormatData_tr.java \
+        sun/text/resources/tr/FormatData_tr_TR.java \
+        sun/text/resources/uk/FormatData_uk.java \
+        sun/text/resources/uk/FormatData_uk_UA.java
--- a/make/java/util/FILES_java.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/util/FILES_java.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2012, 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
@@ -29,13 +29,13 @@
         sun/util/resources/LocaleNamesBundle.java \
         sun/util/resources/TimeZoneNamesBundle.java \
         sun/util/resources/TimeZoneNames.java \
-        sun/util/resources/TimeZoneNames_de.java \
-        sun/util/resources/TimeZoneNames_en.java \
-        sun/util/resources/TimeZoneNames_en_CA.java \
-        sun/util/resources/TimeZoneNames_en_GB.java \
-        sun/util/resources/TimeZoneNames_en_IE.java \
-        sun/util/resources/TimeZoneNames_es.java \
-        sun/util/resources/TimeZoneNames_fr.java \
-        sun/util/resources/TimeZoneNames_it.java \
-        sun/util/resources/TimeZoneNames_pt_BR.java \
-        sun/util/resources/TimeZoneNames_sv.java
+        sun/util/resources/de/TimeZoneNames_de.java \
+        sun/util/resources/en/TimeZoneNames_en.java \
+        sun/util/resources/en/TimeZoneNames_en_CA.java \
+        sun/util/resources/en/TimeZoneNames_en_GB.java \
+        sun/util/resources/en/TimeZoneNames_en_IE.java \
+        sun/util/resources/es/TimeZoneNames_es.java \
+        sun/util/resources/fr/TimeZoneNames_fr.java \
+        sun/util/resources/it/TimeZoneNames_it.java \
+        sun/util/resources/pt/TimeZoneNames_pt_BR.java \
+        sun/util/resources/sv/TimeZoneNames_sv.java
--- a/make/java/util/FILES_properties.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/util/FILES_properties.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2012, 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
@@ -25,189 +25,189 @@
 
 FILES_compiled_properties = \
         sun/util/resources/LocaleNames.properties \
-        sun/util/resources/LocaleNames_be.properties \
-        sun/util/resources/LocaleNames_bg.properties \
-        sun/util/resources/LocaleNames_ca.properties \
-        sun/util/resources/LocaleNames_cs.properties \
-        sun/util/resources/LocaleNames_da.properties \
-        sun/util/resources/LocaleNames_de.properties \
-        sun/util/resources/LocaleNames_el.properties \
-        sun/util/resources/LocaleNames_el_CY.properties \
-        sun/util/resources/LocaleNames_en.properties \
-        sun/util/resources/LocaleNames_en_MT.properties \
-        sun/util/resources/LocaleNames_en_PH.properties \
-        sun/util/resources/LocaleNames_en_SG.properties \
-        sun/util/resources/LocaleNames_es.properties \
-        sun/util/resources/LocaleNames_es_US.properties \
-        sun/util/resources/LocaleNames_et.properties \
-        sun/util/resources/LocaleNames_fi.properties \
-        sun/util/resources/LocaleNames_fr.properties \
-        sun/util/resources/LocaleNames_ga.properties \
-        sun/util/resources/LocaleNames_hr.properties \
-        sun/util/resources/LocaleNames_hu.properties \
-        sun/util/resources/LocaleNames_in.properties \
-        sun/util/resources/LocaleNames_is.properties \
-        sun/util/resources/LocaleNames_it.properties \
-        sun/util/resources/LocaleNames_lt.properties \
-        sun/util/resources/LocaleNames_lv.properties \
-        sun/util/resources/LocaleNames_mk.properties \
-        sun/util/resources/LocaleNames_ms.properties \
-        sun/util/resources/LocaleNames_mt.properties \
-        sun/util/resources/LocaleNames_nl.properties \
-        sun/util/resources/LocaleNames_no.properties \
-        sun/util/resources/LocaleNames_no_NO_NY.properties \
-        sun/util/resources/LocaleNames_pl.properties \
-        sun/util/resources/LocaleNames_pt.properties \
-        sun/util/resources/LocaleNames_pt_BR.properties \
-        sun/util/resources/LocaleNames_pt_PT.properties \
-        sun/util/resources/LocaleNames_ro.properties \
-        sun/util/resources/LocaleNames_ru.properties \
-        sun/util/resources/LocaleNames_sk.properties \
-        sun/util/resources/LocaleNames_sl.properties \
-        sun/util/resources/LocaleNames_sq.properties \
-        sun/util/resources/LocaleNames_sr.properties \
-        sun/util/resources/LocaleNames_sr_Latn.properties \
-        sun/util/resources/LocaleNames_sv.properties \
-        sun/util/resources/LocaleNames_tr.properties \
-        sun/util/resources/LocaleNames_uk.properties \
+        sun/util/resources/be/LocaleNames_be.properties \
+        sun/util/resources/bg/LocaleNames_bg.properties \
+        sun/util/resources/ca/LocaleNames_ca.properties \
+        sun/util/resources/cs/LocaleNames_cs.properties \
+        sun/util/resources/da/LocaleNames_da.properties \
+        sun/util/resources/de/LocaleNames_de.properties \
+        sun/util/resources/el/LocaleNames_el.properties \
+        sun/util/resources/el/LocaleNames_el_CY.properties \
+        sun/util/resources/en/LocaleNames_en.properties \
+        sun/util/resources/en/LocaleNames_en_MT.properties \
+        sun/util/resources/en/LocaleNames_en_PH.properties \
+        sun/util/resources/en/LocaleNames_en_SG.properties \
+        sun/util/resources/es/LocaleNames_es.properties \
+        sun/util/resources/es/LocaleNames_es_US.properties \
+        sun/util/resources/et/LocaleNames_et.properties \
+        sun/util/resources/fi/LocaleNames_fi.properties \
+        sun/util/resources/fr/LocaleNames_fr.properties \
+        sun/util/resources/ga/LocaleNames_ga.properties \
+        sun/util/resources/hr/LocaleNames_hr.properties \
+        sun/util/resources/hu/LocaleNames_hu.properties \
+        sun/util/resources/in/LocaleNames_in.properties \
+        sun/util/resources/is/LocaleNames_is.properties \
+        sun/util/resources/it/LocaleNames_it.properties \
+        sun/util/resources/lt/LocaleNames_lt.properties \
+        sun/util/resources/lv/LocaleNames_lv.properties \
+        sun/util/resources/mk/LocaleNames_mk.properties \
+        sun/util/resources/ms/LocaleNames_ms.properties \
+        sun/util/resources/mt/LocaleNames_mt.properties \
+        sun/util/resources/nl/LocaleNames_nl.properties \
+        sun/util/resources/no/LocaleNames_no.properties \
+        sun/util/resources/no/LocaleNames_no_NO_NY.properties \
+        sun/util/resources/pl/LocaleNames_pl.properties \
+        sun/util/resources/pt/LocaleNames_pt.properties \
+        sun/util/resources/pt/LocaleNames_pt_BR.properties \
+        sun/util/resources/pt/LocaleNames_pt_PT.properties \
+        sun/util/resources/ro/LocaleNames_ro.properties \
+        sun/util/resources/ru/LocaleNames_ru.properties \
+        sun/util/resources/sk/LocaleNames_sk.properties \
+        sun/util/resources/sl/LocaleNames_sl.properties \
+        sun/util/resources/sq/LocaleNames_sq.properties \
+        sun/util/resources/sr/LocaleNames_sr.properties \
+        sun/util/resources/sr/LocaleNames_sr_Latn.properties \
+        sun/util/resources/sv/LocaleNames_sv.properties \
+        sun/util/resources/tr/LocaleNames_tr.properties \
+        sun/util/resources/uk/LocaleNames_uk.properties \
 	\
         sun/util/resources/CalendarData.properties \
-        sun/util/resources/CalendarData_be.properties \
-        sun/util/resources/CalendarData_bg.properties \
-        sun/util/resources/CalendarData_ca.properties \
-        sun/util/resources/CalendarData_cs.properties \
-        sun/util/resources/CalendarData_da.properties \
-        sun/util/resources/CalendarData_de.properties \
-        sun/util/resources/CalendarData_el.properties \
-        sun/util/resources/CalendarData_el_CY.properties \
-        sun/util/resources/CalendarData_en.properties \
-        sun/util/resources/CalendarData_en_GB.properties \
-        sun/util/resources/CalendarData_en_IE.properties \
-        sun/util/resources/CalendarData_en_MT.properties \
-        sun/util/resources/CalendarData_es.properties \
-        sun/util/resources/CalendarData_es_ES.properties \
-        sun/util/resources/CalendarData_es_US.properties \
-        sun/util/resources/CalendarData_et.properties \
-        sun/util/resources/CalendarData_fi.properties \
-        sun/util/resources/CalendarData_fr.properties \
-        sun/util/resources/CalendarData_fr_CA.properties \
-        sun/util/resources/CalendarData_hr.properties \
-        sun/util/resources/CalendarData_hu.properties \
-        sun/util/resources/CalendarData_in_ID.properties \
-        sun/util/resources/CalendarData_is.properties \
-        sun/util/resources/CalendarData_it.properties \
-        sun/util/resources/CalendarData_lt.properties \
-        sun/util/resources/CalendarData_lv.properties \
-        sun/util/resources/CalendarData_mk.properties \
-        sun/util/resources/CalendarData_ms_MY.properties \
-        sun/util/resources/CalendarData_mt.properties \
-        sun/util/resources/CalendarData_mt_MT.properties \
-        sun/util/resources/CalendarData_nl.properties \
-        sun/util/resources/CalendarData_no.properties \
-        sun/util/resources/CalendarData_pl.properties \
-        sun/util/resources/CalendarData_pt.properties \
-        sun/util/resources/CalendarData_pt_PT.properties \
-        sun/util/resources/CalendarData_ro.properties \
-        sun/util/resources/CalendarData_ru.properties \
-        sun/util/resources/CalendarData_sk.properties \
-        sun/util/resources/CalendarData_sl.properties \
-        sun/util/resources/CalendarData_sq.properties \
-        sun/util/resources/CalendarData_sr.properties \
-        sun/util/resources/CalendarData_sr_Latn_BA.properties \
-        sun/util/resources/CalendarData_sr_Latn_ME.properties \
-        sun/util/resources/CalendarData_sr_Latn_RS.properties \
-        sun/util/resources/CalendarData_sv.properties \
-        sun/util/resources/CalendarData_tr.properties \
-        sun/util/resources/CalendarData_uk.properties \
+        sun/util/resources/be/CalendarData_be.properties \
+        sun/util/resources/bg/CalendarData_bg.properties \
+        sun/util/resources/ca/CalendarData_ca.properties \
+        sun/util/resources/cs/CalendarData_cs.properties \
+        sun/util/resources/da/CalendarData_da.properties \
+        sun/util/resources/de/CalendarData_de.properties \
+        sun/util/resources/el/CalendarData_el.properties \
+        sun/util/resources/el/CalendarData_el_CY.properties \
+        sun/util/resources/en/CalendarData_en.properties \
+        sun/util/resources/en/CalendarData_en_GB.properties \
+        sun/util/resources/en/CalendarData_en_IE.properties \
+        sun/util/resources/en/CalendarData_en_MT.properties \
+        sun/util/resources/es/CalendarData_es.properties \
+        sun/util/resources/es/CalendarData_es_ES.properties \
+        sun/util/resources/es/CalendarData_es_US.properties \
+        sun/util/resources/et/CalendarData_et.properties \
+        sun/util/resources/fi/CalendarData_fi.properties \
+        sun/util/resources/fr/CalendarData_fr.properties \
+        sun/util/resources/fr/CalendarData_fr_CA.properties \
+        sun/util/resources/hr/CalendarData_hr.properties \
+        sun/util/resources/hu/CalendarData_hu.properties \
+        sun/util/resources/in/CalendarData_in_ID.properties \
+        sun/util/resources/is/CalendarData_is.properties \
+        sun/util/resources/it/CalendarData_it.properties \
+        sun/util/resources/lt/CalendarData_lt.properties \
+        sun/util/resources/lv/CalendarData_lv.properties \
+        sun/util/resources/mk/CalendarData_mk.properties \
+        sun/util/resources/ms/CalendarData_ms_MY.properties \
+        sun/util/resources/mt/CalendarData_mt.properties \
+        sun/util/resources/mt/CalendarData_mt_MT.properties \
+        sun/util/resources/nl/CalendarData_nl.properties \
+        sun/util/resources/no/CalendarData_no.properties \
+        sun/util/resources/pl/CalendarData_pl.properties \
+        sun/util/resources/pt/CalendarData_pt.properties \
+        sun/util/resources/pt/CalendarData_pt_PT.properties \
+        sun/util/resources/ro/CalendarData_ro.properties \
+        sun/util/resources/ru/CalendarData_ru.properties \
+        sun/util/resources/sk/CalendarData_sk.properties \
+        sun/util/resources/sl/CalendarData_sl.properties \
+        sun/util/resources/sq/CalendarData_sq.properties \
+        sun/util/resources/sr/CalendarData_sr.properties \
+        sun/util/resources/sr/CalendarData_sr_Latn_BA.properties \
+        sun/util/resources/sr/CalendarData_sr_Latn_ME.properties \
+        sun/util/resources/sr/CalendarData_sr_Latn_RS.properties \
+        sun/util/resources/sv/CalendarData_sv.properties \
+        sun/util/resources/tr/CalendarData_tr.properties \
+        sun/util/resources/uk/CalendarData_uk.properties \
 	\
         sun/util/resources/CurrencyNames.properties \
-        sun/util/resources/CurrencyNames_be_BY.properties \
-        sun/util/resources/CurrencyNames_bg_BG.properties \
-        sun/util/resources/CurrencyNames_ca_ES.properties \
-        sun/util/resources/CurrencyNames_cs_CZ.properties \
-        sun/util/resources/CurrencyNames_da_DK.properties \
-        sun/util/resources/CurrencyNames_de.properties \
-        sun/util/resources/CurrencyNames_de_AT.properties \
-        sun/util/resources/CurrencyNames_de_CH.properties \
-        sun/util/resources/CurrencyNames_de_DE.properties \
-        sun/util/resources/CurrencyNames_de_GR.properties \
-        sun/util/resources/CurrencyNames_de_LU.properties \
-        sun/util/resources/CurrencyNames_el_CY.properties \
-        sun/util/resources/CurrencyNames_el_GR.properties \
-        sun/util/resources/CurrencyNames_en_AU.properties \
-        sun/util/resources/CurrencyNames_en_CA.properties \
-        sun/util/resources/CurrencyNames_en_GB.properties \
-        sun/util/resources/CurrencyNames_en_IE.properties \
-        sun/util/resources/CurrencyNames_en_IN.properties \
-        sun/util/resources/CurrencyNames_en_MT.properties \
-        sun/util/resources/CurrencyNames_en_NZ.properties \
-        sun/util/resources/CurrencyNames_en_PH.properties \
-        sun/util/resources/CurrencyNames_en_SG.properties \
-        sun/util/resources/CurrencyNames_en_US.properties \
-        sun/util/resources/CurrencyNames_en_ZA.properties \
-        sun/util/resources/CurrencyNames_es.properties \
-        sun/util/resources/CurrencyNames_es_AR.properties \
-        sun/util/resources/CurrencyNames_es_BO.properties \
-        sun/util/resources/CurrencyNames_es_CL.properties \
-        sun/util/resources/CurrencyNames_es_CO.properties \
-        sun/util/resources/CurrencyNames_es_CR.properties \
-        sun/util/resources/CurrencyNames_es_CU.properties \
-        sun/util/resources/CurrencyNames_es_DO.properties \
-        sun/util/resources/CurrencyNames_es_EC.properties \
-        sun/util/resources/CurrencyNames_es_ES.properties \
-        sun/util/resources/CurrencyNames_es_GT.properties \
-        sun/util/resources/CurrencyNames_es_HN.properties \
-        sun/util/resources/CurrencyNames_es_MX.properties \
-        sun/util/resources/CurrencyNames_es_NI.properties \
-        sun/util/resources/CurrencyNames_es_PA.properties \
-        sun/util/resources/CurrencyNames_es_PE.properties \
-        sun/util/resources/CurrencyNames_es_PR.properties \
-        sun/util/resources/CurrencyNames_es_PY.properties \
-        sun/util/resources/CurrencyNames_es_SV.properties \
-        sun/util/resources/CurrencyNames_es_US.properties \
-        sun/util/resources/CurrencyNames_es_UY.properties \
-        sun/util/resources/CurrencyNames_es_VE.properties \
-        sun/util/resources/CurrencyNames_et_EE.properties \
-        sun/util/resources/CurrencyNames_fi_FI.properties \
-        sun/util/resources/CurrencyNames_fr.properties \
-        sun/util/resources/CurrencyNames_fr_BE.properties \
-        sun/util/resources/CurrencyNames_fr_CA.properties \
-        sun/util/resources/CurrencyNames_fr_CH.properties \
-        sun/util/resources/CurrencyNames_fr_FR.properties \
-        sun/util/resources/CurrencyNames_fr_LU.properties \
-        sun/util/resources/CurrencyNames_ga_IE.properties \
-        sun/util/resources/CurrencyNames_hr_HR.properties \
-        sun/util/resources/CurrencyNames_hu_HU.properties \
-        sun/util/resources/CurrencyNames_in_ID.properties \
-        sun/util/resources/CurrencyNames_is_IS.properties \
-        sun/util/resources/CurrencyNames_it.properties \
-        sun/util/resources/CurrencyNames_it_CH.properties \
-        sun/util/resources/CurrencyNames_it_IT.properties \
-        sun/util/resources/CurrencyNames_lt_LT.properties \
-        sun/util/resources/CurrencyNames_lv_LV.properties \
-        sun/util/resources/CurrencyNames_mk_MK.properties \
-        sun/util/resources/CurrencyNames_ms_MY.properties \
-        sun/util/resources/CurrencyNames_mt_MT.properties \
-        sun/util/resources/CurrencyNames_nl_BE.properties \
-        sun/util/resources/CurrencyNames_nl_NL.properties \
-        sun/util/resources/CurrencyNames_no_NO.properties \
-        sun/util/resources/CurrencyNames_pl_PL.properties \
-        sun/util/resources/CurrencyNames_pt.properties \
-        sun/util/resources/CurrencyNames_pt_BR.properties \
-        sun/util/resources/CurrencyNames_pt_PT.properties \
-        sun/util/resources/CurrencyNames_ro_RO.properties \
-        sun/util/resources/CurrencyNames_ru_RU.properties \
-        sun/util/resources/CurrencyNames_sk_SK.properties \
-        sun/util/resources/CurrencyNames_sl_SI.properties \
-        sun/util/resources/CurrencyNames_sq_AL.properties \
-        sun/util/resources/CurrencyNames_sr_BA.properties \
-        sun/util/resources/CurrencyNames_sr_CS.properties \
-        sun/util/resources/CurrencyNames_sr_ME.properties \
-        sun/util/resources/CurrencyNames_sr_RS.properties \
-        sun/util/resources/CurrencyNames_sr_Latn_BA.properties \
-        sun/util/resources/CurrencyNames_sr_Latn_ME.properties \
-        sun/util/resources/CurrencyNames_sr_Latn_RS.properties \
-        sun/util/resources/CurrencyNames_sv.properties \
-        sun/util/resources/CurrencyNames_sv_SE.properties \
-        sun/util/resources/CurrencyNames_tr_TR.properties \
-        sun/util/resources/CurrencyNames_uk_UA.properties
+        sun/util/resources/be/CurrencyNames_be_BY.properties \
+        sun/util/resources/bg/CurrencyNames_bg_BG.properties \
+        sun/util/resources/ca/CurrencyNames_ca_ES.properties \
+        sun/util/resources/cs/CurrencyNames_cs_CZ.properties \
+        sun/util/resources/da/CurrencyNames_da_DK.properties \
+        sun/util/resources/de/CurrencyNames_de.properties \
+        sun/util/resources/de/CurrencyNames_de_AT.properties \
+        sun/util/resources/de/CurrencyNames_de_CH.properties \
+        sun/util/resources/de/CurrencyNames_de_DE.properties \
+        sun/util/resources/de/CurrencyNames_de_GR.properties \
+        sun/util/resources/de/CurrencyNames_de_LU.properties \
+        sun/util/resources/el/CurrencyNames_el_CY.properties \
+        sun/util/resources/el/CurrencyNames_el_GR.properties \
+        sun/util/resources/en/CurrencyNames_en_AU.properties \
+        sun/util/resources/en/CurrencyNames_en_CA.properties \
+        sun/util/resources/en/CurrencyNames_en_GB.properties \
+        sun/util/resources/en/CurrencyNames_en_IE.properties \
+        sun/util/resources/en/CurrencyNames_en_IN.properties \
+        sun/util/resources/en/CurrencyNames_en_MT.properties \
+        sun/util/resources/en/CurrencyNames_en_NZ.properties \
+        sun/util/resources/en/CurrencyNames_en_PH.properties \
+        sun/util/resources/en/CurrencyNames_en_SG.properties \
+        sun/util/resources/en/CurrencyNames_en_US.properties \
+        sun/util/resources/en/CurrencyNames_en_ZA.properties \
+        sun/util/resources/es/CurrencyNames_es.properties \
+        sun/util/resources/es/CurrencyNames_es_AR.properties \
+        sun/util/resources/es/CurrencyNames_es_BO.properties \
+        sun/util/resources/es/CurrencyNames_es_CL.properties \
+        sun/util/resources/es/CurrencyNames_es_CO.properties \
+        sun/util/resources/es/CurrencyNames_es_CR.properties \
+        sun/util/resources/es/CurrencyNames_es_CU.properties \
+        sun/util/resources/es/CurrencyNames_es_DO.properties \
+        sun/util/resources/es/CurrencyNames_es_EC.properties \
+        sun/util/resources/es/CurrencyNames_es_ES.properties \
+        sun/util/resources/es/CurrencyNames_es_GT.properties \
+        sun/util/resources/es/CurrencyNames_es_HN.properties \
+        sun/util/resources/es/CurrencyNames_es_MX.properties \
+        sun/util/resources/es/CurrencyNames_es_NI.properties \
+        sun/util/resources/es/CurrencyNames_es_PA.properties \
+        sun/util/resources/es/CurrencyNames_es_PE.properties \
+        sun/util/resources/es/CurrencyNames_es_PR.properties \
+        sun/util/resources/es/CurrencyNames_es_PY.properties \
+        sun/util/resources/es/CurrencyNames_es_SV.properties \
+        sun/util/resources/es/CurrencyNames_es_US.properties \
+        sun/util/resources/es/CurrencyNames_es_UY.properties \
+        sun/util/resources/es/CurrencyNames_es_VE.properties \
+        sun/util/resources/et/CurrencyNames_et_EE.properties \
+        sun/util/resources/fi/CurrencyNames_fi_FI.properties \
+        sun/util/resources/fr/CurrencyNames_fr.properties \
+        sun/util/resources/fr/CurrencyNames_fr_BE.properties \
+        sun/util/resources/fr/CurrencyNames_fr_CA.properties \
+        sun/util/resources/fr/CurrencyNames_fr_CH.properties \
+        sun/util/resources/fr/CurrencyNames_fr_FR.properties \
+        sun/util/resources/fr/CurrencyNames_fr_LU.properties \
+        sun/util/resources/ga/CurrencyNames_ga_IE.properties \
+        sun/util/resources/hr/CurrencyNames_hr_HR.properties \
+        sun/util/resources/hu/CurrencyNames_hu_HU.properties \
+        sun/util/resources/in/CurrencyNames_in_ID.properties \
+        sun/util/resources/is/CurrencyNames_is_IS.properties \
+        sun/util/resources/it/CurrencyNames_it.properties \
+        sun/util/resources/it/CurrencyNames_it_CH.properties \
+        sun/util/resources/it/CurrencyNames_it_IT.properties \
+        sun/util/resources/lt/CurrencyNames_lt_LT.properties \
+        sun/util/resources/lv/CurrencyNames_lv_LV.properties \
+        sun/util/resources/mk/CurrencyNames_mk_MK.properties \
+        sun/util/resources/ms/CurrencyNames_ms_MY.properties \
+        sun/util/resources/mt/CurrencyNames_mt_MT.properties \
+        sun/util/resources/nl/CurrencyNames_nl_BE.properties \
+        sun/util/resources/nl/CurrencyNames_nl_NL.properties \
+        sun/util/resources/no/CurrencyNames_no_NO.properties \
+        sun/util/resources/pl/CurrencyNames_pl_PL.properties \
+        sun/util/resources/pt/CurrencyNames_pt.properties \
+        sun/util/resources/pt/CurrencyNames_pt_BR.properties \
+        sun/util/resources/pt/CurrencyNames_pt_PT.properties \
+        sun/util/resources/ro/CurrencyNames_ro_RO.properties \
+        sun/util/resources/ru/CurrencyNames_ru_RU.properties \
+        sun/util/resources/sk/CurrencyNames_sk_SK.properties \
+        sun/util/resources/sl/CurrencyNames_sl_SI.properties \
+        sun/util/resources/sq/CurrencyNames_sq_AL.properties \
+        sun/util/resources/sr/CurrencyNames_sr_BA.properties \
+        sun/util/resources/sr/CurrencyNames_sr_CS.properties \
+        sun/util/resources/sr/CurrencyNames_sr_ME.properties \
+        sun/util/resources/sr/CurrencyNames_sr_RS.properties \
+        sun/util/resources/sr/CurrencyNames_sr_Latn_BA.properties \
+        sun/util/resources/sr/CurrencyNames_sr_Latn_ME.properties \
+        sun/util/resources/sr/CurrencyNames_sr_Latn_RS.properties \
+        sun/util/resources/sv/CurrencyNames_sv.properties \
+        sun/util/resources/sv/CurrencyNames_sv_SE.properties \
+        sun/util/resources/tr/CurrencyNames_tr_TR.properties \
+        sun/util/resources/uk/CurrencyNames_uk_UA.properties
--- a/make/java/util/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/util/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2012, 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
@@ -50,7 +50,7 @@
 #
 # Compile properties
 #
-COMPILED_PROPERTIES_SUPERCLASS=LocaleNamesBundle
+COMPILED_PROPERTIES_SUPERCLASS=sun.util.resources.LocaleNamesBundle
 
 #
 # Include
--- a/make/java/zip/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/java/zip/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -56,6 +56,10 @@
   endif
 endif
 
+ifeq ($(SYSTEM_ZLIB),true)
+  OTHER_CFLAGS += $(ZLIB_CFLAGS)
+endif
+
 #
 # Library to compile.
 #
@@ -90,7 +94,7 @@
 # Link to JVM library for JVM_Zip* functions
 #
 ifeq ($(SYSTEM_ZLIB),true)
-OTHER_LDLIBS = -lz
+OTHER_LDLIBS = $(ZLIB_LIBS)
 else
 OTHER_LDLIBS = $(JVMLIB)
 endif
--- a/make/jdk_generic_profile.sh	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/jdk_generic_profile.sh	Tue Sep 11 14:18:54 2012 -0700
@@ -378,3 +378,22 @@
     export LLVM_LIBS
   fi
 fi
+
+# Export variables for system zlib
+# ZLIB_CFLAGS and ZLIB_LIBS tell the compiler how to compile and
+# link against zlib
+pkgconfig=$(which pkg-config 2>/dev/null)
+if [ -x "${pkgconfig}" ] ; then
+  if [ "${ZLIB_CFLAGS}" = "" ] ; then
+    ZLIB_CFLAGS=$("${pkgconfig}" --cflags zlib)
+  fi
+  if [ "${ZLIB_LIBS}" = "" ] ; then
+    ZLIB_LIBS=$("${pkgconfig}" --libs zlib)
+  fi
+fi
+if [ "${ZLIB_LIBS}" = "" ] ; then
+    ZLIB_LIBS="-lz"
+fi
+export ZLIB_CFLAGS
+export ZLIB_LIBS
+
--- a/make/sun/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/sun/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -76,7 +76,7 @@
 endif
 
 # nio need to be compiled before awt to have all charsets ready
-SUBDIRS            = jar security javazic misc net nio text util launcher
+SUBDIRS            = jar security javazic misc net nio text util launcher cldr
 
 ifdef BUILD_HEADLESS_ONLY
   DISPLAY_LIBS = awt $(HEADLESS_SUBDIR)
@@ -87,7 +87,7 @@
 endif
 SUBDIRS_desktop    = audio $(RENDER_SUBDIR) image \
                      $(LWAWT_PRE_SUBDIR) $(DISPLAY_LIBS) $(DGA_SUBDIR) $(LWAWT_SUBDIR) \
-                     jawt font jpeg cmm $(DISPLAY_TOOLS) beans
+                     jawt font jpeg cmm $(DISPLAY_TOOLS)
 SUBDIRS_management = management
 SUBDIRS_misc       = $(ORG_SUBDIR) rmi $(JDBC_SUBDIR) tracing
 SUBDIRS_tools      = native2ascii serialver tools jconsole
--- a/make/sun/beans/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#
-# Copyright (c) 1997, 2005, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile for building sun.beans.*
-#
-
-BUILDDIR = ../..
-PACKAGE = sun.beans
-PRODUCT = sun
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# Files
-#
-AUTO_FILES_JAVA_DIRS = sun/beans
-
-#
-# Rules
-#
-include $(BUILDDIR)/common/Classes.gmk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/sun/cldr/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -0,0 +1,107 @@
+#
+# Copyright (c) 2012, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+
+#
+# Makefile for CLDR locale data.
+#
+
+BUILDDIR = ../..
+
+PACKAGE = sun.text.resources.cldr
+PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
+include $(BUILDDIR)/common/Defs.gmk
+
+# Re-direct classes to another location (we are building cldrdata.jar)
+CLASSDESTDIR = $(TEMPDIR)/classes
+CLDRVERSION  = 21.0.1
+CLDRSRCDIR = $(SHARE_SRC)/classes/sun/util/cldr/resources/$(subst .,_,$(CLDRVERSION))
+CLDRDATA_JAR = $(EXTDIR)/cldrdata.jar
+CLDRCONVERTER_JAR = $(BUILDTOOLJARDIR)/cldrconverter.jar
+
+#
+# Files
+#
+CLDRGENSRCDIR = $(GENSRCDIR)/sun/text/resources/cldr \
+			$(GENSRCDIR)/sun/util/cldr \
+			$(GENSRCDIR)/sun/util/resources/cldr 
+MANIFEST_FILE = $(TEMPDIR)/manifest.mf
+
+#
+# Rules
+#
+include $(BUILDDIR)/common/Classes.gmk
+
+gensrc: $(GENSRCDIR)/sun/util/cldr/CLDRLocaleDataMetaInfo.java
+
+$(GENSRCDIR)/sun/util/cldr/CLDRLocaleDataMetaInfo.java: \
+		$(wildcard $(CLDRSRCDIR)/common/dtd/*.dtd) \
+		$(wildcard $(CLDRSRCDIR)/common/main/*.xml) \
+		$(wildcard $(CLDRSRCDIR)/common/supplemental/*.xml)
+	$(prep-target)
+	@$(BOOT_JAVA_CMD) -jar $(CLDRCONVERTER_JAR) \
+		-base $(CLDRSRCDIR) \
+		-o $(GENSRCDIR)
+	@$(java-vm-cleanup)
+
+$(CLDRDATA_JAR): $(EXTDIR) $(GENSRCDIR)/sun/util/cldr/CLDRLocaleDataMetaInfo.java $(MANIFEST_FILE)
+	$(prep-target)
+	$(MKDIR) -p $(CLASSDESTDIR)
+	$(shell \
+	    for dir in $(GENSRCDIR); do \
+	        if [ -d $$dir ] ; then \
+	            ( $(CD) $$dir; \
+	                for sdir in $(CLDRGENSRCDIR); do \
+	                    if [ -d $$sdir ] ; then \
+	                        $(FIND) $$sdir \
+	                            -name '*.java' -print >> $(JAVA_SOURCE_LIST) ; \
+	                    fi ; \
+	                done \
+	            ); \
+	        fi; \
+	    done \
+	)
+	$(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST)
+	$(BOOT_JAR_CMD) -cmf $(MANIFEST_FILE) $@ -C $(CLASSDESTDIR) sun \
+	     $(BOOT_JAR_JFLAGS)
+	@$(java-vm-cleanup)
+
+$(MANIFEST_FILE):
+	@$(prep-target)
+	$(ECHO) "CLDR-Version: $(CLDRVERSION)" > $@
+
+build: gensrc $(CLDRDATA_JAR)
+
+clean clobber::
+	$(RM) -r $(CLASSDESTDIR) 
+	$(RM) -r $(GENSRCDIR)/sun/text/resources/cldr
+	$(RM) -r $(GENSRCDIR)/sun/util/cldr
+	$(RM) -r $(GENSRCDIR)/sun/util/resources/cldr
+	$(RM) $(MANIFEST_FILE)
+	$(RM) $(CLDRDATA_JAR)
+
+.PHONY: gensrc
--- a/make/sun/jawt/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/sun/jawt/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -31,6 +31,13 @@
 include $(BUILDDIR)/common/Defs.gmk
 
 #
+# libjawt links to other programs, but nothing links to it directly. An RPATH
+# entry has been added to the launcher so third-party programs linked against
+# it will be able to find it no matter where the JDK or the third-party program
+# is located.
+#
+
+#
 # Files
 #
 ifeq ($(PLATFORM), windows)
--- a/make/sun/splashscreen/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/sun/splashscreen/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -126,7 +126,8 @@
 ifneq ($(SYSTEM_ZLIB),true)
   CPPFLAGS += -I$(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION)
 else
-  OTHER_LDLIBS += -lz
+  OTHER_CFLAGS += $(ZLIB_CFLAGS)
+  OTHER_LDLIBS += $(ZLIB_LIBS)
 endif
 
 # Shun the less than portable MMX assembly code in pnggccrd.c,
--- a/make/sun/text/FILES_java.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/sun/text/FILES_java.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2012, 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
@@ -33,63 +33,47 @@
 #
 
 FILES_java = \
-		sun/text/resources/BreakIteratorInfo_th.java \
+		sun/text/resources/th/BreakIteratorInfo_th.java \
 		\
-		sun/text/resources/CollationData_ar.java \
-		sun/text/resources/CollationData_hi.java \
-		sun/text/resources/CollationData_iw.java \
-		sun/text/resources/CollationData_ja.java \
-		sun/text/resources/CollationData_ko.java \
-		sun/text/resources/CollationData_th.java \
-		sun/text/resources/CollationData_vi.java \
-		sun/text/resources/CollationData_zh.java \
-		sun/text/resources/CollationData_zh_HK.java \
- 		sun/text/resources/CollationData_zh_TW.java \
+		sun/text/resources/ar/CollationData_ar.java \
+		sun/text/resources/hi/CollationData_hi.java \
+		sun/text/resources/iw/CollationData_iw.java \
+		sun/text/resources/ja/CollationData_ja.java \
+		sun/text/resources/ko/CollationData_ko.java \
+		sun/text/resources/th/CollationData_th.java \
+		sun/text/resources/vi/CollationData_vi.java \
+		sun/text/resources/zh/CollationData_zh.java \
+		sun/text/resources/zh/CollationData_zh_HK.java \
+ 		sun/text/resources/zh/CollationData_zh_TW.java \
 		\
-		sun/text/resources/FormatData_ar.java \
-		sun/text/resources/FormatData_ar_AE.java \
-		sun/text/resources/FormatData_ar_BH.java \
-		sun/text/resources/FormatData_ar_DZ.java \
-		sun/text/resources/FormatData_ar_EG.java \
-		sun/text/resources/FormatData_ar_IQ.java \
-		sun/text/resources/FormatData_ar_JO.java \
-		sun/text/resources/FormatData_ar_KW.java \
-		sun/text/resources/FormatData_ar_LB.java \
-		sun/text/resources/FormatData_ar_LY.java \
-		sun/text/resources/FormatData_ar_MA.java \
-		sun/text/resources/FormatData_ar_OM.java \
-		sun/text/resources/FormatData_ar_QA.java \
-		sun/text/resources/FormatData_ar_SA.java \
-		sun/text/resources/FormatData_ar_SD.java \
-		sun/text/resources/FormatData_ar_SY.java \
-		sun/text/resources/FormatData_ar_TN.java \
-		sun/text/resources/FormatData_ar_YE.java \
-                sun/text/resources/FormatData_hi_IN.java \
-		sun/text/resources/FormatData_iw.java \
-		sun/text/resources/FormatData_iw_IL.java \
-		sun/text/resources/FormatData_ja.java \
-		sun/text/resources/FormatData_ja_JP.java \
-		sun/text/resources/FormatData_ja_JP_JP.java \
-		sun/text/resources/FormatData_ko.java \
-		sun/text/resources/FormatData_ko_KR.java \
-		sun/text/resources/FormatData_th.java \
-		sun/text/resources/FormatData_th_TH.java \
-		sun/text/resources/FormatData_th_TH_TH.java \
-		sun/text/resources/FormatData_vi.java \
-		sun/text/resources/FormatData_vi_VN.java \
-		sun/text/resources/FormatData_zh.java \
-		sun/text/resources/FormatData_zh_CN.java \
-		sun/text/resources/FormatData_zh_HK.java \
-		sun/text/resources/FormatData_zh_SG.java \
-		sun/text/resources/FormatData_zh_TW.java \
+		sun/text/resources/ar/FormatData_ar.java \
+		sun/text/resources/ar/FormatData_ar_JO.java \
+		sun/text/resources/ar/FormatData_ar_LB.java \
+		sun/text/resources/ar/FormatData_ar_SY.java \
+                sun/text/resources/hi/FormatData_hi_IN.java \
+		sun/text/resources/iw/FormatData_iw.java \
+		sun/text/resources/iw/FormatData_iw_IL.java \
+		sun/text/resources/ja/FormatData_ja.java \
+		sun/text/resources/ja/FormatData_ja_JP.java \
+		sun/text/resources/ko/FormatData_ko.java \
+		sun/text/resources/ko/FormatData_ko_KR.java \
+		sun/text/resources/th/FormatData_th.java \
+		sun/text/resources/th/FormatData_th_TH.java \
+		sun/text/resources/vi/FormatData_vi.java \
+		sun/text/resources/vi/FormatData_vi_VN.java \
+		sun/text/resources/zh/FormatData_zh.java \
+		sun/text/resources/zh/FormatData_zh_CN.java \
+		sun/text/resources/zh/FormatData_zh_HK.java \
+		sun/text/resources/zh/FormatData_zh_SG.java \
+		sun/text/resources/zh/FormatData_zh_TW.java \
 		\
-                sun/util/resources/CurrencyNames_zh_HK.java \
-                sun/util/resources/CurrencyNames_zh_SG.java \
-                sun/util/resources/LocaleNames_zh_HK.java \
-                sun/util/resources/TimeZoneNames_hi.java \
-		sun/util/resources/TimeZoneNames_ja.java \
-		sun/util/resources/TimeZoneNames_ko.java \
-		sun/util/resources/TimeZoneNames_zh_CN.java \
-		sun/util/resources/TimeZoneNames_zh_TW.java \
-		sun/util/resources/TimeZoneNames_zh_HK.java
+                sun/util/resources/zh/CurrencyNames_zh_HK.java \
+                sun/util/resources/zh/CurrencyNames_zh_SG.java \
+                sun/util/resources/zh/LocaleNames_zh_HK.java \
+                sun/util/resources/hi/TimeZoneNames_hi.java \
+		sun/util/resources/ja/TimeZoneNames_ja.java \
+		sun/util/resources/ko/TimeZoneNames_ko.java \
+		sun/util/resources/zh/TimeZoneNames_zh_CN.java \
+		sun/util/resources/zh/TimeZoneNames_zh_TW.java \
+		sun/util/resources/zh/TimeZoneNames_zh_HK.java
 
--- a/make/sun/text/FILES_properties.gmk	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/sun/text/FILES_properties.gmk	Tue Sep 11 14:18:54 2012 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2012, 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
@@ -24,50 +24,50 @@
 #
 
 FILES_compiled_properties = \
-        sun/util/resources/LocaleNames_ar.properties \
-        sun/util/resources/LocaleNames_hi.properties \
-        sun/util/resources/LocaleNames_iw.properties \
-        sun/util/resources/LocaleNames_ja.properties \
-        sun/util/resources/LocaleNames_ko.properties \
-        sun/util/resources/LocaleNames_th.properties \
-        sun/util/resources/LocaleNames_vi.properties \
-        sun/util/resources/LocaleNames_zh.properties \
-        sun/util/resources/LocaleNames_zh_SG.properties \
-        sun/util/resources/LocaleNames_zh_TW.properties \
+        sun/util/resources/ar/LocaleNames_ar.properties \
+        sun/util/resources/hi/LocaleNames_hi.properties \
+        sun/util/resources/iw/LocaleNames_iw.properties \
+        sun/util/resources/ja/LocaleNames_ja.properties \
+        sun/util/resources/ko/LocaleNames_ko.properties \
+        sun/util/resources/th/LocaleNames_th.properties \
+        sun/util/resources/vi/LocaleNames_vi.properties \
+        sun/util/resources/zh/LocaleNames_zh.properties \
+        sun/util/resources/zh/LocaleNames_zh_SG.properties \
+        sun/util/resources/zh/LocaleNames_zh_TW.properties \
 	\
-        sun/util/resources/CalendarData_ar.properties \
-        sun/util/resources/CalendarData_hi.properties \
-        sun/util/resources/CalendarData_iw.properties \
-        sun/util/resources/CalendarData_ja.properties \
-        sun/util/resources/CalendarData_ko.properties \
-        sun/util/resources/CalendarData_th.properties \
-        sun/util/resources/CalendarData_vi.properties \
-        sun/util/resources/CalendarData_zh.properties \
+        sun/util/resources/ar/CalendarData_ar.properties \
+        sun/util/resources/hi/CalendarData_hi.properties \
+        sun/util/resources/iw/CalendarData_iw.properties \
+        sun/util/resources/ja/CalendarData_ja.properties \
+        sun/util/resources/ko/CalendarData_ko.properties \
+        sun/util/resources/th/CalendarData_th.properties \
+        sun/util/resources/vi/CalendarData_vi.properties \
+        sun/util/resources/zh/CalendarData_zh.properties \
 	\
-        sun/util/resources/CurrencyNames_ar_AE.properties \
-        sun/util/resources/CurrencyNames_ar_BH.properties \
-        sun/util/resources/CurrencyNames_ar_DZ.properties \
-        sun/util/resources/CurrencyNames_ar_EG.properties \
-        sun/util/resources/CurrencyNames_ar_IQ.properties \
-        sun/util/resources/CurrencyNames_ar_JO.properties \
-        sun/util/resources/CurrencyNames_ar_KW.properties \
-        sun/util/resources/CurrencyNames_ar_LB.properties \
-        sun/util/resources/CurrencyNames_ar_LY.properties \
-        sun/util/resources/CurrencyNames_ar_MA.properties \
-        sun/util/resources/CurrencyNames_ar_OM.properties \
-        sun/util/resources/CurrencyNames_ar_QA.properties \
-        sun/util/resources/CurrencyNames_ar_SA.properties \
-        sun/util/resources/CurrencyNames_ar_SD.properties \
-        sun/util/resources/CurrencyNames_ar_SY.properties \
-        sun/util/resources/CurrencyNames_ar_TN.properties \
-        sun/util/resources/CurrencyNames_ar_YE.properties \
-        sun/util/resources/CurrencyNames_hi_IN.properties \
-        sun/util/resources/CurrencyNames_iw_IL.properties \
-        sun/util/resources/CurrencyNames_ja.properties \
-        sun/util/resources/CurrencyNames_ja_JP.properties \
-        sun/util/resources/CurrencyNames_ko.properties \
-        sun/util/resources/CurrencyNames_ko_KR.properties \
-        sun/util/resources/CurrencyNames_th_TH.properties \
-        sun/util/resources/CurrencyNames_vi_VN.properties \
-        sun/util/resources/CurrencyNames_zh_CN.properties \
-        sun/util/resources/CurrencyNames_zh_TW.properties
+        sun/util/resources/ar/CurrencyNames_ar_AE.properties \
+        sun/util/resources/ar/CurrencyNames_ar_BH.properties \
+        sun/util/resources/ar/CurrencyNames_ar_DZ.properties \
+        sun/util/resources/ar/CurrencyNames_ar_EG.properties \
+        sun/util/resources/ar/CurrencyNames_ar_IQ.properties \
+        sun/util/resources/ar/CurrencyNames_ar_JO.properties \
+        sun/util/resources/ar/CurrencyNames_ar_KW.properties \
+        sun/util/resources/ar/CurrencyNames_ar_LB.properties \
+        sun/util/resources/ar/CurrencyNames_ar_LY.properties \
+        sun/util/resources/ar/CurrencyNames_ar_MA.properties \
+        sun/util/resources/ar/CurrencyNames_ar_OM.properties \
+        sun/util/resources/ar/CurrencyNames_ar_QA.properties \
+        sun/util/resources/ar/CurrencyNames_ar_SA.properties \
+        sun/util/resources/ar/CurrencyNames_ar_SD.properties \
+        sun/util/resources/ar/CurrencyNames_ar_SY.properties \
+        sun/util/resources/ar/CurrencyNames_ar_TN.properties \
+        sun/util/resources/ar/CurrencyNames_ar_YE.properties \
+        sun/util/resources/hi/CurrencyNames_hi_IN.properties \
+        sun/util/resources/iw/CurrencyNames_iw_IL.properties \
+        sun/util/resources/ja/CurrencyNames_ja.properties \
+        sun/util/resources/ja/CurrencyNames_ja_JP.properties \
+        sun/util/resources/ko/CurrencyNames_ko.properties \
+        sun/util/resources/ko/CurrencyNames_ko_KR.properties \
+        sun/util/resources/th/CurrencyNames_th_TH.properties \
+        sun/util/resources/vi/CurrencyNames_vi_VN.properties \
+        sun/util/resources/zh/CurrencyNames_zh_CN.properties \
+        sun/util/resources/zh/CurrencyNames_zh_TW.properties
--- a/make/sun/text/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/sun/text/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, 2012, 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
@@ -48,7 +48,7 @@
 #
 # Compile the properties files
 #
-COMPILED_PROPERTIES_SUPERCLASS=LocaleNamesBundle
+COMPILED_PROPERTIES_SUPERCLASS=sun.util.resources.LocaleNamesBundle
 
 #
 # Rules
@@ -68,13 +68,13 @@
 #
 TEXT_SRCDIR = $(SHARE_SRC)/classes/sun/text/resources
 BIRULES = $(TEXT_SRCDIR)/BreakIteratorRules.java \
-          $(TEXT_SRCDIR)/BreakIteratorRules_th.java
-BIINFO = $(TEXT_SRCDIR)/BreakIteratorInfo_th.java
+          $(TEXT_SRCDIR)/th/BreakIteratorRules_th.java
+BIINFO = $(TEXT_SRCDIR)/th/BreakIteratorInfo_th.java
 UNICODEDATA = $(BUILDDIR)/tools/UnicodeData
 
 # output
-BIFILES = $(CLASSDESTDIR)/sun/text/resources/WordBreakIteratorData_th \
-          $(CLASSDESTDIR)/sun/text/resources/LineBreakIteratorData_th
+BIFILES = $(CLASSDESTDIR)/sun/text/resources/th/WordBreakIteratorData_th \
+          $(CLASSDESTDIR)/sun/text/resources/th/LineBreakIteratorData_th
 
 # builder
 GENERATEBREAKITERATORDATA_JARFILE = \
@@ -106,7 +106,7 @@
 #
 LOCALEDATA_JAR = $(EXTDIR)/localedata.jar
 
-SPECIALFILES = $(CLASSDESTDIR)/sun/text/resources/thai_dict
+SPECIALFILES = $(CLASSDESTDIR)/sun/text/resources/th/thai_dict
 
 $(CLASSDESTDIR)/sun/text/resources/% : $(TEXT_SRCDIR)/%
 	$(install-file)
--- a/make/tools/Makefile	Tue Sep 11 13:40:59 2012 -0700
+++ b/make/tools/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -36,6 +36,7 @@
 SUBDIRS =                   \
   addjsum                   \
   buildmetaindex            \
+  cldrconverter             \
   commentchecker            \
   compile_font_config       \
   compile_properties        \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/cldrconverter/Makefile	Tue Sep 11 14:18:54 2012 -0700
@@ -0,0 +1,43 @@
+#
+# Copyright (c) 2012, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+
+#
+# Makefile for building the CLDRConverter tool
+#
+
+BUILDDIR = ../..
+PACKAGE = build.tools.cldrconverter
+PRODUCT = cldrconverter
+PROGRAM = cldrconverter
+include $(BUILDDIR)/common/Defs.gmk
+
+BUILDTOOL_SOURCE_ROOT = $(BUILDDIR)/tools/src
+BUILDTOOL_MAIN        = $(PKGDIR)/CLDRConverter.java
+
+#
+# Build tool jar rules.
+#
+include $(BUILDDIR)/common/BuildToolJar.gmk
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/src/build/tools/cldrconverter/AbstractLDMLHandler.java	Tue Sep 11 14:18:54 2012 -0700
@@ -0,0 +1,189 @@
+/*
+ * Copyright (c) 2012, 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.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+package build.tools.cldrconverter;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+
+/**
+ * This is an abstract class for general LDML parsing purpose.
+ * LDMLParseHandler, SupplementLDMLParseHandler, and NumberingLDMLParseHandler
+ * are the subclasses of this class.
+ */
+
+abstract class AbstractLDMLHandler<V> extends DefaultHandler {
+    static final Map<String, String> DAY_OF_WEEK_MAP = new HashMap<>();
+    static {
+        DAY_OF_WEEK_MAP.put("sun", "1");
+        DAY_OF_WEEK_MAP.put("mon", "2");
+        DAY_OF_WEEK_MAP.put("tue", "3");
+        DAY_OF_WEEK_MAP.put("wed", "4");
+        DAY_OF_WEEK_MAP.put("thu", "5");
+        DAY_OF_WEEK_MAP.put("fri", "6");
+        DAY_OF_WEEK_MAP.put("sat", "7");
+    }
+    // Collected data in JRE locale data format.
+    private Map<String, V> data = new HashMap<>();
+
+    // The root Container
+    Container currentContainer = new Container("$ROOT", null);
+
+    AbstractLDMLHandler() {
+    }
+
+    Map<String, V> getData() {
+        return data;
+    }
+
+    V put(String key, V value) {
+        return data.put(key, value);
+    }
+
+    V get(String key) {
+        return data.get(key);
+    }
+
+    Set<String> keySet() {
+        return data.keySet();
+    }
+
+    /*
+     * It returns true if the data should be ignored based on the user
+     * defined acceptance level, which is listed with draft attribute in
+     * the cldr locale xml files.
+     * When the alt attribute is present, the data is always ignored since
+     * we always use the primary data
+     */
+    boolean isIgnored(Attributes attributes) {
+        if (attributes.getValue("alt") != null) {
+            return true;
+        }
+        String draftValue = attributes.getValue("draft");
+        if (draftValue != null) {
+            return CLDRConverter.draftType > CLDRConverter.DRAFT_MAP.get(draftValue);
+        }
+        return false;
+    }
+
+    void pushContainer(String qName, Attributes attributes) {
+        if (isIgnored(attributes) || currentContainer instanceof IgnoredContainer) {
+            currentContainer = new IgnoredContainer(qName, currentContainer);
+        } else {
+            currentContainer = new Container(qName, currentContainer);
+        }
+    }
+
+    void pushIgnoredContainer(String qName) {
+        currentContainer = new IgnoredContainer(qName, currentContainer);
+    }
+
+    void pushKeyContainer(String qName, Attributes attributes, String key) {
+        if (!pushIfIgnored(qName, attributes)) {
+            currentContainer = new KeyContainer(qName, currentContainer, key);
+        }
+    }
+
+    /**
+     * start an element that defines a string entry, with the value provided by the element's text.
+     */
+    void pushStringEntry(String qName, Attributes attributes, String key) {
+        if (!pushIfIgnored(qName, attributes)) {
+            currentContainer = new StringEntry(qName, currentContainer, key);
+        }
+    }
+
+    /**
+     * start an element that defines a string entry, with the value provided by an attribute value.
+     */
+    void pushStringEntry(String qName, Attributes attributes, String key, String value) {
+        if (!pushIfIgnored(qName, attributes)) {
+            currentContainer = new StringEntry(qName, currentContainer, key, value);
+        }
+    }
+
+    void pushStringArrayEntry(String qName, Attributes attributes, String key, int length) {
+        if (!pushIfIgnored(qName, attributes)) {
+            currentContainer = new StringArrayEntry(qName, currentContainer, key, length);
+        }
+    }
+
+    void pushStringArrayElement(String qName, Attributes attributes, int index) {
+        if (!pushIfIgnored(qName, attributes)) {
+            currentContainer = new StringArrayElement(qName, currentContainer, index);
+        }
+    }
+
+    private boolean pushIfIgnored(String qName, Attributes attributes) {
+        if (isIgnored(attributes) || currentContainer instanceof IgnoredContainer) {
+            pushIgnoredContainer(qName);
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * Obtains the key from the innermost containing container that provides one.
+     */
+    String getContainerKey() {
+        Container current = currentContainer;
+        while (current != null) {
+            if (current instanceof KeyContainer) {
+                return ((KeyContainer) current).getKey();
+            }
+            current = current.getParent();
+        }
+        return null;
+    }
+
+    @Override
+    public void characters(char[] ch, int start, int length) throws SAXException {
+        currentContainer.addCharacters(ch, start, length);
+    }
+
+    @SuppressWarnings(value = "CallToThreadDumpStack")
+    @Override
+    public void warning(SAXParseException e) throws SAXException {
+        e.printStackTrace();
+    }
+
+    @SuppressWarnings(value = "CallToThreadDumpStack")
+    @Override
+    public void error(SAXParseException e) throws SAXException {
+        e.printStackTrace();
+    }
+
+    @SuppressWarnings(value = "CallToThreadDumpStack")
+    @Override
+    public void fatalError(SAXParseException e) throws SAXException {
+        e.printStackTrace();
+        super.fatalError(e);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/src/build/tools/cldrconverter/Bundle.java	Tue Sep 11 14:18:54 2012 -0700
@@ -0,0 +1,542 @@
+/*
+ * Copyright (c) 2012, 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.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+package build.tools.cldrconverter;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+class Bundle {
+    static enum Type {
+        LOCALENAMES, CURRENCYNAMES, TIMEZONENAMES, CALENDARDATA, FORMATDATA;
+
+        static EnumSet<Type> ALL_TYPES = EnumSet.of(LOCALENAMES,
+                                                    CURRENCYNAMES,
+                                                    TIMEZONENAMES,
+                                                    CALENDARDATA,
+                                                    FORMATDATA);
+    }
+
+    private final static Map<String, Bundle> bundles = new HashMap<>();
+
+    private final static String[] NUMBER_PATTERN_KEYS = {
+        "NumberPatterns/decimal",
+        "NumberPatterns/currency",
+        "NumberPatterns/percent"
+    };
+
+    private final static String[] NUMBER_ELEMENT_KEYS = {
+        "NumberElements/decimal",
+        "NumberElements/group",
+        "NumberElements/list",
+        "NumberElements/percent",
+        "NumberElements/zero",
+        "NumberElements/pattern",
+        "NumberElements/minus",
+        "NumberElements/exponential",
+        "NumberElements/permille",
+        "NumberElements/infinity",
+        "NumberElements/nan"
+    };
+
+    private final static String[] TIME_PATTERN_KEYS = {
+        "DateTimePatterns/full-time",
+        "DateTimePatterns/long-time",
+        "DateTimePatterns/medium-time",
+        "DateTimePatterns/short-time",
+    };
+
+    private final static String[] DATE_PATTERN_KEYS = {
+        "DateTimePatterns/full-date",
+        "DateTimePatterns/long-date",
+        "DateTimePatterns/medium-date",
+        "DateTimePatterns/short-date",
+    };
+
+    private final static String[] DATETIME_PATTERN_KEYS = {
+        "DateTimePatterns/date-time"
+    };
+
+    private final static String[] ERA_KEYS = {
+        "long.Eras",
+        "Eras",
+        "short.Eras"
+    };
+
+    private final String id;
+    private final String cldrPath;
+    private final EnumSet<Type> bundleTypes;
+    private final String currencies;
+
+    static Bundle getBundle(String id) {
+        return bundles.get(id);
+    }
+
+    Bundle(String id, String cldrPath, String bundles, String currencies) {
+        this.id = id;
+        this.cldrPath = cldrPath;
+        if ("localenames".equals(bundles)) {
+            bundleTypes = EnumSet.of(Type.LOCALENAMES);
+        } else if ("currencynames".equals(bundles)) {
+            bundleTypes = EnumSet.of(Type.CURRENCYNAMES);
+        } else {
+            bundleTypes = Type.ALL_TYPES;
+        }
+        if (currencies == null) {
+            currencies = "local";
+        }
+        this.currencies = currencies;
+        addBundle();
+    }
+
+    private void addBundle() {
+        Bundle.bundles.put(id, this);
+    }
+
+    String getID() {
+        return id;
+    }
+
+    boolean isRoot() {
+        return "root".equals(id);
+    }
+
+    String getCLDRPath() {
+        return cldrPath;
+    }
+
+    EnumSet<Type> getBundleTypes() {
+        return bundleTypes;
+    }
+
+    String getCurrencies() {
+        return currencies;
+    }
+
+    /**
+     * Generate a map that contains all the data that should be
+     * visible for the bundle's locale
+     */
+    Map<String, Object> getTargetMap() throws Exception {
+        String[] cldrBundles = getCLDRPath().split(",");
+
+        // myMap contains resources for id.
+        Map<String, Object> myMap = new HashMap<>();
+        int index;
+        for (index = 0; index < cldrBundles.length; index++) {
+            if (cldrBundles[index].equals(id)) {
+                myMap.putAll(CLDRConverter.getCLDRBundle(cldrBundles[index]));
+                break;
+            }
+        }
+
+        // parentsMap contains resources from id's parents.
+        Map<String, Object> parentsMap = new HashMap<>();
+        for (int i = cldrBundles.length - 1; i > index; i--) {
+            if (!("no".equals(cldrBundles[i]) || cldrBundles[i].startsWith("no_"))) {
+                parentsMap.putAll(CLDRConverter.getCLDRBundle(cldrBundles[i]));
+            }
+        }
+        // Duplicate myMap as parentsMap for "root" so that the
+        // fallback works. This is a huck, though.
+        if ("root".equals(cldrBundles[0])) {
+            assert parentsMap.isEmpty();
+            parentsMap.putAll(myMap);
+        }
+
+        // merge individual strings into arrays
+
+        // if myMap has any of the NumberPatterns members
+        for (String k : NUMBER_PATTERN_KEYS) {
+            if (myMap.containsKey(k)) {
+                String[] numberPatterns = new String[NUMBER_PATTERN_KEYS.length];
+                for (int i = 0; i < NUMBER_PATTERN_KEYS.length; i++) {
+                    String key = NUMBER_PATTERN_KEYS[i];
+                    String value = (String) myMap.remove(key);
+                    if (value == null) {
+                        value = (String) parentsMap.remove(key);
+                    }
+                    if (value.length() == 0) {
+                        CLDRConverter.warning("empty pattern for " + key);
+                    }
+                    numberPatterns[i] = value;
+                }
+                myMap.put("NumberPatterns", numberPatterns);
+                break;
+            }
+        }
+
+        // if myMap has any of NUMBER_ELEMENT_KEYS, create a complete NumberElements.
+        String defaultScript = (String) myMap.get("DefaultNumberingSystem");
+        @SuppressWarnings("unchecked")
+        List<String> scripts = (List<String>) myMap.get("numberingScripts");
+        if (defaultScript == null && scripts != null) {
+            // Some locale data has no default script for numbering even with mutiple scripts.
+            // Take the first one as default in that case.
+            defaultScript = scripts.get(0);
+            myMap.put("DefaultNumberingSystem", defaultScript);
+        }
+        if (scripts != null) {
+            for (String script : scripts) {
+                for (String k : NUMBER_ELEMENT_KEYS) {
+                    String[] numberElements = new String[NUMBER_ELEMENT_KEYS.length];
+                    for (int i = 0; i < NUMBER_ELEMENT_KEYS.length; i++) {
+                        String key = script + "." + NUMBER_ELEMENT_KEYS[i];
+                        String value = (String) myMap.remove(key);
+                        if (value == null) {
+                            if (key.endsWith("/pattern")) {
+                                value = "#";
+                            } else {
+                                value = (String) parentsMap.get(key);
+                                if (value == null) {
+                                    // the last resort is "latn"
+                                    key = "latn." + NUMBER_ELEMENT_KEYS[i];
+                                    value = (String) parentsMap.get(key);
+                                    if (value == null) {
+                                        throw new InternalError("NumberElements: null for " + key);
+                                    }
+                                }
+                            }
+                        }
+                        numberElements[i] = value;
+                    }
+                    myMap.put(script + "." + "NumberElements", numberElements);
+                    break;
+                }
+            }
+        }
+
+        // another hack: parentsMap is not used for date-time resources.
+        if ("root".equals(id)) {
+            parentsMap = null;
+        }
+
+        for (CalendarType calendarType : CalendarType.values()) {
+            String calendarPrefix = calendarType.keyElementName();
+            // handle multiple inheritance for month and day names
+            handleMultipleInheritance(myMap, parentsMap, calendarPrefix + "MonthNames");
+            handleMultipleInheritance(myMap, parentsMap, calendarPrefix + "MonthAbbreviations");
+            handleMultipleInheritance(myMap, parentsMap, calendarPrefix + "DayNames");
+            handleMultipleInheritance(myMap, parentsMap, calendarPrefix + "DayAbbreviations");
+            handleMultipleInheritance(myMap, parentsMap, calendarPrefix + "AmPmMarkers");
+
+            adjustEraNames(myMap, calendarType);
+
+            handleDateTimeFormatPatterns(TIME_PATTERN_KEYS, myMap, parentsMap, calendarType, "TimePatterns");
+            handleDateTimeFormatPatterns(DATE_PATTERN_KEYS, myMap, parentsMap, calendarType, "DatePatterns");
+            handleDateTimeFormatPatterns(DATETIME_PATTERN_KEYS, myMap, parentsMap, calendarType, "DateTimePatterns");
+        }
+
+        return myMap;
+    }
+
+    private void handleMultipleInheritance(Map<String, Object> map, Map<String, Object> parents, String key) {
+        String formatKey = key + "/format";
+        Object format = map.get(formatKey);
+        if (format != null) {
+            map.remove(formatKey);
+            map.put(key, format);
+            if (fillInElements(parents, formatKey, format)) {
+                map.remove(key);
+            }
+        }
+        String standaloneKey = key + "/stand-alone";
+        Object standalone = map.get(standaloneKey);
+        if (standalone != null) {
+            map.remove(standaloneKey);
+            String realKey = key;
+            if (format != null) {
+                realKey = "standalone." + key;
+            }
+            map.put(realKey, standalone);
+            if (fillInElements(parents, standaloneKey, standalone)) {
+                map.remove(realKey);
+            }
+        }
+    }
+
+    /**
+     * Fills in any empty elements with its parent element. Returns true if the resulting array is
+     * identical to its parent array.
+     *
+     * @param parents
+     * @param key
+     * @param value
+     * @return true if the resulting array is identical to its parent array.
+     */
+    private boolean fillInElements(Map<String, Object> parents, String key, Object value) {
+        if (parents == null) {
+            return false;
+        }
+        if (value instanceof String[]) {
+            Object pvalue = parents.get(key);
+            if (pvalue != null && pvalue instanceof String[]) {
+                String[] strings = (String[]) value;
+                String[] pstrings = (String[]) pvalue;
+                for (int i = 0; i < strings.length; i++) {
+                    if (strings[i] == null || strings[i].length() == 0) {
+                        strings[i] = pstrings[i];
+                    }
+                }
+                return Arrays.equals(strings, pstrings);
+            }
+        }
+        return false;
+    }
+
+    /*
+     * Adjusts String[] for era names because JRE's Calendars use different
+     * ERA value indexes in the Buddhist and Japanese Imperial calendars.
+     */
+    private void adjustEraNames(Map<String, Object> map, CalendarType type) {
+        String[][] eraNames = new String[ERA_KEYS.length][];
+        String[] realKeys = new String[ERA_KEYS.length];
+        int index = 0;
+        for (String key : ERA_KEYS) {
+            String realKey = type.keyElementName() + key;
+            String[] value = (String[]) map.get(realKey);
+            if (value != null) {
+                switch (type) {
+                case GREGORIAN:
+                    break;
+
+                case JAPANESE:
+                    {
+                        String[] newValue = new String[value.length + 1];
+                        String[] julianEras = (String[]) map.get(key);
+                        if (julianEras != null && julianEras.length >= 2) {
+                            newValue[0] = julianEras[1];
+                        } else {
+                            newValue[0] = "";
+                        }
+                        System.arraycopy(value, 0, newValue, 1, value.length);
+                        value = newValue;
+                    }
+                    break;
+
+                case BUDDHIST:
+                    // Replace the value
+                    value = new String[] {"BC", value[0]};
+                    break;
+                }
+                if (!key.equals(realKey)) {
+                    map.put(realKey, value);
+                }
+            }
+            realKeys[index] = realKey;
+            eraNames[index++] = value;
+        }
+        if (eraNames[0] != null) {
+            if (eraNames[1] != null) {
+                if (eraNames[2] == null) {
+                    // Eras -> short.Eras
+                    // long.Eras -> Eras
+                    map.put(realKeys[2], map.get(realKeys[1]));
+                    map.put(realKeys[1], map.get(realKeys[0]));
+                }
+            } else {
+                // long.Eras -> Eras
+                map.put(realKeys[1], map.get(realKeys[0]));
+            }
+            // remove long.Eras
+            map.remove(realKeys[0]);
+        }
+    }
+
+    private void handleDateTimeFormatPatterns(String[] patternKeys, Map<String, Object> myMap, Map<String, Object> parentsMap,
+                                              CalendarType calendarType, String name) {
+        String calendarPrefix = calendarType.keyElementName();
+        for (String k : patternKeys) {
+            if (myMap.containsKey(calendarPrefix + k)) {
+                int len = patternKeys.length;
+                List<String> patterns = new ArrayList<>();
+                for (int i = 0; i < len; i++) {
+                    String key = calendarPrefix + patternKeys[i];
+                    String pattern = (String) myMap.remove(key);
+                    if (pattern == null) {
+                        pattern = (String) parentsMap.remove(key);
+                    }
+                    if (pattern != null) {
+                        patterns.add(i, translateDateFormatLetters(calendarType, pattern));
+                    }
+                }
+                if (patterns.isEmpty()) {
+                    return;
+                }
+                String key = calendarPrefix + name;
+                myMap.put(key, patterns.toArray(new String[len]));
+                break;
+            }
+        }
+    }
+
+    private String translateDateFormatLetters(CalendarType calendarType, String cldrFormat) {
+        String pattern = cldrFormat;
+        int length = pattern.length();
+        boolean inQuote = false;
+        StringBuilder jrePattern = new StringBuilder(length);
+        int count = 0;
+        char lastLetter = 0;
+
+        for (int i = 0; i < length; i++) {
+            char c = pattern.charAt(i);
+
+            if (c == '\'') {
+                // '' is treated as a single quote regardless of being
+                // in a quoted section.
+                if ((i + 1) < length) {
+                    char nextc = pattern.charAt(i + 1);
+                    if (nextc == '\'') {
+                        i++;
+                        if (count != 0) {
+                            convert(calendarType, lastLetter, count, jrePattern);
+                            lastLetter = 0;
+                            count = 0;
+                        }
+                        jrePattern.append("''");
+                        continue;
+                    }
+                }
+                if (!inQuote) {
+                    if (count != 0) {
+                        convert(calendarType, lastLetter, count, jrePattern);
+                        lastLetter = 0;
+                        count = 0;
+                    }
+                    inQuote = true;
+                } else {
+                    inQuote = false;
+                }
+                jrePattern.append(c);
+                continue;
+            }
+            if (inQuote) {
+                jrePattern.append(c);
+                continue;
+            }
+            if (!(c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')) {
+                if (count != 0) {
+                    convert(calendarType, lastLetter, count, jrePattern);
+                    lastLetter = 0;
+                    count = 0;
+                }
+                jrePattern.append(c);
+                continue;
+            }
+
+            if (lastLetter == 0 || lastLetter == c) {
+                lastLetter = c;
+                count++;
+                continue;
+            }
+            convert(calendarType, lastLetter, count, jrePattern);
+            lastLetter = c;
+            count = 1;
+        }
+
+        if (inQuote) {
+            throw new InternalError("Unterminated quote in date-time pattern: " + cldrFormat);
+        }
+
+        if (count != 0) {
+            convert(calendarType, lastLetter, count, jrePattern);
+        }
+        if (cldrFormat.contentEquals(jrePattern)) {
+            return cldrFormat;
+        }
+        return jrePattern.toString();
+    }
+
+    private void convert(CalendarType calendarType, char cldrLetter, int count, StringBuilder sb) {
+        switch (cldrLetter) {
+        case 'G':
+            if (calendarType != CalendarType.GREGORIAN) {
+                // Adjust the number of 'G's for JRE SimpleDateFormat
+                if (count == 5) {
+                    // CLDR narrow -> JRE short
+                    count = 1;
+                } else if (count == 1) {
+                    // CLDR abbr -> JRE long
+                    count = 4;
+                }
+            }
+            appendN(cldrLetter, count, sb);
+            break;
+
+        // TODO: support 'c' and 'e' in JRE SimpleDateFormat
+        // Use 'u' and 'E' for now.
+        case 'c':
+        case 'e':
+            switch (count) {
+            case 1:
+                sb.append('u');
+                break;
+            case 3:
+            case 4:
+                appendN('E', count, sb);
+                break;
+            case 5:
+                appendN('E', 3, sb);
+                break;
+            }
+            break;
+
+        case 'v':
+        case 'V':
+            appendN('z', count, sb);
+            break;
+
+        case 'Z':
+            if (count == 4 || count == 5) {
+                sb.append("XXX");
+            }
+            break;
+
+        case 'u':
+        case 'U':
+        case 'q':
+        case 'Q':
+        case 'l':
+        case 'g':
+        case 'j':
+        case 'A':
+            throw new InternalError(String.format("Unsupported letter: '%c', count=%d%n",
+                                                  cldrLetter, count));
+        default:
+            appendN(cldrLetter, count, sb);
+            break;
+        }
+    }
+
+    private void appendN(char c, int n, StringBuilder sb) {
+        for (int i = 0; i < n; i++) {
+            sb.append(c);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/src/build/tools/cldrconverter/BundleGenerator.java	Tue Sep 11 14:18:54 2012 -0700
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2012, 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.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+package build.tools.cldrconverter;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.SortedSet;
+
+public interface BundleGenerator {
+    public void generateBundle(String packageName, String baseName, String localeID,
+            boolean useJava, Map<String, ?> map, boolean open) throws IOException;
+
+    public void generateMetaInfo(Map<String, SortedSet<String>> metaInfo) throws IOException;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/src/build/tools/cldrconverter/CLDRConverter.java	Tue Sep 11 14:18:54 2012 -0700
@@ -0,0 +1,615 @@
+/*
+ * Copyright (c) 2012, 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.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+package build.tools.cldrconverter;
+
+import java.io.File;
+import java.nio.file.DirectoryStream;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.*;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+
+/**
+ * Converts locale data from "Locale Data Markup Language" format to
+ * JRE resource bundle format. LDML is the format used by the Common
+ * Locale Data Repository maintained by the Unicode Consortium.
+ */
+public class CLDRConverter {
+
+    static final String LDML_DTD_SYSTEM_ID = "http://www.unicode.org/cldr/dtd/2.0/ldml.dtd";
+    static final String SPPL_LDML_DTD_SYSTEM_ID = "http://www.unicode.org/cldr/dtd/2.0/ldmlSupplemental.dtd";
+
+    private static String CLDR_BASE = "../CLDR/21.0.1/";
+    static String LOCAL_LDML_DTD;
+    static String LOCAL_SPPL_LDML_DTD;
+    private static String SOURCE_FILE_DIR;
+    private static String SPPL_SOURCE_FILE;
+    private static String NUMBERING_SOURCE_FILE;
+    private static String METAZONES_SOURCE_FILE;
+    static String DESTINATION_DIR = "build/gensrc";
+
+    static final String LOCALE_NAME_PREFIX = "locale.displayname.";
+    static final String CURRENCY_SYMBOL_PREFIX = "currency.symbol.";
+    static final String CURRENCY_NAME_PREFIX = "currency.displayname.";
+    static final String TIMEZONE_ID_PREFIX = "timezone.id.";
+    static final String TIMEZONE_NAME_PREFIX = "timezone.displayname.";
+    static final String METAZONE_ID_PREFIX = "metazone.id.";
+    static final String METAZONE_NAME_PREFIX = "metazone.displayname.";
+
+    private static SupplementDataParseHandler handlerSuppl;
+    static NumberingSystemsParseHandler handlerNumbering;
+    static MetaZonesParseHandler handlerMetaZones;
+    private static BundleGenerator bundleGenerator;
+
+    static int draftType;
+    private static final String DRAFT_UNCONFIRMED = "unconfirmed";
+    private static final String DRAFT_PROVISIONAL = "provisional";
+    private static final String DRAFT_CONTRIBUTED = "contributed";
+    private static final String DRAFT_APPROVED = "approved";
+    private static final String DRAFT_TRUE = "true";
+    private static final String DRAFT_FALSE = "false";
+    private static final String DRAFT_DEFAULT = DRAFT_APPROVED;
+    static final Map<String, Integer> DRAFT_MAP = new HashMap<>();
+
+    static {
+        DRAFT_MAP.put(DRAFT_UNCONFIRMED, 0);
+        DRAFT_MAP.put(DRAFT_PROVISIONAL, 1);
+        DRAFT_MAP.put(DRAFT_CONTRIBUTED, 2);
+        DRAFT_MAP.put(DRAFT_APPROVED, 3);
+        DRAFT_MAP.put(DRAFT_TRUE, 0);
+        DRAFT_MAP.put(DRAFT_FALSE, 2);
+        draftType = DRAFT_MAP.get(DRAFT_DEFAULT);
+    };
+
+    static boolean USE_UTF8 = false;
+    private static boolean verbose;
+
+    private CLDRConverter() {
+       // no instantiation
+    }
+
+    @SuppressWarnings("AssignmentToForLoopParameter")
+    public static void main(String[] args) throws Exception {
+        if (args.length != 0) {
+            String currentArg = null;
+            try {
+                for (int i = 0; i < args.length; i++) {
+                    currentArg = args[i];
+                    switch (currentArg) {
+                    case "-draft":
+                        String draftDataType = args[++i];
+                        try {
+                            draftType = DRAFT_MAP.get(draftDataType);
+                        } catch (NullPointerException e) {
+                            severe("Error: incorrect draft value: %s%n", draftDataType);
+                            System.exit(1);
+                        }
+                        info("Using the specified data type: %s%n", draftDataType);
+                        break;
+
+                    case "-base":
+                        // base directory for input files
+                        CLDR_BASE = args[++i];
+                        if (!CLDR_BASE.endsWith("/")) {
+                            CLDR_BASE += "/";
+                        }
+                        break;
+
+                    case "-o":
+                        // output directory
+                        DESTINATION_DIR = args[++i];
+                        break;
+
+                    case "-utf8":
+                        USE_UTF8 = true;
+                        break;
+
+                    case "-verbose":
+                        verbose = true;
+                        break;
+
+                    case "-help":
+                        usage();
+                        System.exit(0);
+                        break;
+
+                    default:
+                        throw new RuntimeException();
+                    }
+                }
+            } catch (RuntimeException e) {
+                severe("unknown or imcomplete arg(s): " + currentArg);
+                usage();
+                System.exit(1);
+            }
+        }
+
+        // Set up path names
+        LOCAL_LDML_DTD = CLDR_BASE + "common/dtd/ldml.dtd";
+        LOCAL_SPPL_LDML_DTD = CLDR_BASE + "common/dtd/ldmlSupplemental.dtd";
+        SOURCE_FILE_DIR = CLDR_BASE + "common/main";
+        SPPL_SOURCE_FILE = CLDR_BASE + "common/supplemental/supplementalData.xml";
+        NUMBERING_SOURCE_FILE = CLDR_BASE + "common/supplemental/numberingSystems.xml";
+        METAZONES_SOURCE_FILE = CLDR_BASE + "common/supplemental/metaZones.xml";
+
+        bundleGenerator = new ResourceBundleGenerator();
+
+        List<Bundle> bundles = readBundleList();
+        convertBundles(bundles);
+    }
+
+    private static void usage() {
+        errout("Usage: java CLDRConverter [options]%n"
+                + "\t-help          output this usage message and exit%n"
+                + "\t-verbose       output information%n"
+                + "\t-draft [approved | provisional | unconfirmed]%n"
+                + "\t\t       draft level for using data (default: approved)%n"
+                + "\t-base dir      base directory for CLDR input files%n"
+                + "\t-o dir         output directory (defaut: ./build/gensrc)%n"
+                + "\t-utf8          use UTF-8 rather than \\uxxxx (for debug)%n");
+    }
+
+    static void info(String fmt, Object... args) {
+        if (verbose) {
+            System.out.printf(fmt, args);
+        }
+    }
+
+    static void info(String msg) {
+        if (verbose) {
+            System.out.println(msg);
+        }
+    }
+
+    static void warning(String fmt, Object... args) {
+        System.err.print("Warning: ");
+        System.err.printf(fmt, args);
+    }
+
+    static void warning(String msg) {
+        System.err.print("Warning: ");
+        errout(msg);
+    }
+
+    static void severe(String fmt, Object... args) {
+        System.err.print("Error: ");
+        System.err.printf(fmt, args);
+    }
+
+    static void severe(String msg) {
+        System.err.print("Error: ");
+        errout(msg);
+    }
+
+    private static void errout(String msg) {
+        if (msg.contains("%n")) {
+            System.err.printf(msg);
+        } else {
+            System.err.println(msg);
+        }
+    }
+
+    private static List<Bundle> readBundleList() throws Exception {
+        ResourceBundle.Control defCon = ResourceBundle.Control.getControl(ResourceBundle.Control.FORMAT_DEFAULT);
+        List<Bundle> retList = new ArrayList<>();
+        Path path = FileSystems.getDefault().getPath(SOURCE_FILE_DIR);
+        try (DirectoryStream<Path> dirStr = Files.newDirectoryStream(path)) {
+            for (Path entry : dirStr) {
+                String fileName = entry.getFileName().toString();
+                if (fileName.endsWith(".xml")) {
+                    String id = fileName.substring(0, fileName.indexOf('.'));
+                    Locale cldrLoc = Locale.forLanguageTag(toLanguageTag(id));
+                    List<Locale> candList = defCon.getCandidateLocales("", cldrLoc);
+                    StringBuilder sb = new StringBuilder();
+                    for (Locale loc : candList) {
+                        if (!loc.equals(Locale.ROOT)) {
+                            sb.append(toLocaleName(loc.toLanguageTag()));
+                            sb.append(",");
+                        }
+                    }
+                    if (sb.indexOf("root") == -1) {
+                        sb.append("root");
+                    }
+                    retList.add(new Bundle(id, sb.toString(), null, null));
+                }
+            }
+        }
+        return retList;
+    }
+
+    private static Map<String, Map<String, Object>> cldrBundles = new HashMap<>();
+
+    static Map<String, Object> getCLDRBundle(String id) throws Exception {
+        Map<String, Object> bundle = cldrBundles.get(id);
+        if (bundle != null) {
+            return bundle;
+        }
+        SAXParserFactory factory = SAXParserFactory.newInstance();
+        factory.setValidating(true);
+        SAXParser parser = factory.newSAXParser();
+        LDMLParseHandler handler = new LDMLParseHandler(id);
+        File file = new File(SOURCE_FILE_DIR + File.separator + id + ".xml");
+        if (!file.exists()) {
+            // Skip if the file doesn't exist.
+            return Collections.emptyMap();
+        }
+
+        info("..... main directory .....");
+        info("Reading file " + file);
+        parser.parse(file, handler);
+
+        bundle = handler.getData();
+        cldrBundles.put(id, bundle);
+        String country = getCountryCode(id);
+        if (country != null) {
+            bundle = handlerSuppl.getData(country);
+            if (bundle != null) {
+                //merge two maps into one map
+                Map<String, Object> temp = cldrBundles.remove(id);
+                bundle.putAll(temp);
+                cldrBundles.put(id, bundle);
+            }
+        }
+        return bundle;
+    }
+
+    private static void convertBundles(List<Bundle> bundles) throws Exception {
+        // Parse SupplementalData file and store the information in the HashMap
+        // Calendar information such as firstDay and minDay are stored in
+        // supplementalData.xml as of CLDR1.4. Individual territory is listed
+        // with its ISO 3166 country code while default is listed using UNM49
+        // region and composition numerical code (001 for World.)
+        SAXParserFactory factorySuppl = SAXParserFactory.newInstance();
+        factorySuppl.setValidating(true);
+        SAXParser parserSuppl = factorySuppl.newSAXParser();
+        handlerSuppl = new SupplementDataParseHandler();
+        File fileSupply = new File(SPPL_SOURCE_FILE);
+        parserSuppl.parse(fileSupply, handlerSuppl);
+
+        // Parse numberingSystems to get digit zero character information.
+        SAXParserFactory numberingParser = SAXParserFactory.newInstance();
+        numberingParser.setValidating(true);
+        SAXParser parserNumbering = numberingParser.newSAXParser();
+        handlerNumbering = new NumberingSystemsParseHandler();
+        File fileNumbering = new File(NUMBERING_SOURCE_FILE);
+        parserNumbering.parse(fileNumbering, handlerNumbering);
+
+        // Parse metaZones to create mappings between Olson tzids and CLDR meta zone names
+        SAXParserFactory metazonesParser = SAXParserFactory.newInstance();
+        metazonesParser.setValidating(true);
+        SAXParser parserMetaZones = metazonesParser.newSAXParser();
+        handlerMetaZones = new MetaZonesParseHandler();
+        File fileMetaZones = new File(METAZONES_SOURCE_FILE);
+        parserNumbering.parse(fileMetaZones, handlerMetaZones);
+
+        // For generating information on supported locales.
+        Map<String, SortedSet<String>> metaInfo = new HashMap<>();
+        metaInfo.put("LocaleNames", new TreeSet<String>());
+        metaInfo.put("CurrencyNames", new TreeSet<String>());
+        metaInfo.put("CalendarData", new TreeSet<String>());
+        metaInfo.put("FormatData", new TreeSet<String>());
+
+        for (Bundle bundle : bundles) {
+            // Get the target map, which contains all the data that should be
+            // visible for the bundle's locale
+
+            Map<String, Object> targetMap = bundle.getTargetMap();
+
+            EnumSet<Bundle.Type> bundleTypes = bundle.getBundleTypes();
+
+            // Fill in any missing resources in the base bundle from en and en-US data.
+            // This is because CLDR root.xml is supposed to be language neutral and doesn't
+            // provide some resource data. Currently, the runtime assumes that there are all
+            // resources though the parent resource bundle chain.
+            if (bundle.isRoot()) {
+                Map<String, Object> enData = new HashMap<>();
+                // Create a superset of en-US and en bundles data in order to
+                // fill in any missing resources in the base bundle.
+                enData.putAll(Bundle.getBundle("en").getTargetMap());
+                enData.putAll(Bundle.getBundle("en_US").getTargetMap());
+                for (String key : enData.keySet()) {
+                    if (!targetMap.containsKey(key)) {
+                        targetMap.put(key, enData.get(key));
+                    }
+                }
+                // Add DateTimePatternChars because CLDR no longer supports localized patterns.
+                targetMap.put("DateTimePatternChars", "GyMdkHmsSEDFwWahKzZ");
+            }
+
+            // Now the map contains just the entries that need to be in the resources bundles.
+            // Go ahead and generate them.
+            if (bundleTypes.contains(Bundle.Type.LOCALENAMES)) {
+                Map<String, Object> localeNamesMap = extractLocaleNames(targetMap, bundle.getID());
+                if (!localeNamesMap.isEmpty() || bundle.isRoot()) {
+                    metaInfo.get("LocaleNames").add(toLanguageTag(bundle.getID()));
+                    bundleGenerator.generateBundle("util", "LocaleNames", bundle.getID(), true, localeNamesMap, true);
+                }
+            }
+            if (bundleTypes.contains(Bundle.Type.CURRENCYNAMES)) {
+                Map<String, Object> currencyNamesMap = extractCurrencyNames(targetMap, bundle.getID(), bundle.getCurrencies());
+                if (!currencyNamesMap.isEmpty() || bundle.isRoot()) {
+                    metaInfo.get("CurrencyNames").add(toLanguageTag(bundle.getID()));
+                    bundleGenerator.generateBundle("util", "CurrencyNames", bundle.getID(), true, currencyNamesMap, true);
+                }
+            }
+            if (bundleTypes.contains(Bundle.Type.TIMEZONENAMES)) {
+                Map<String, Object> zoneNamesMap = extractZoneNames(targetMap, bundle.getID());
+            }
+            if (bundleTypes.contains(Bundle.Type.CALENDARDATA)) {
+                Map<String, Object> calendarDataMap = extractCalendarData(targetMap, bundle.getID());
+                if (!calendarDataMap.isEmpty() || bundle.isRoot()) {
+                    metaInfo.get("CalendarData").add(toLanguageTag(bundle.getID()));
+                    bundleGenerator.generateBundle("util", "CalendarData", bundle.getID(), true, calendarDataMap, false);
+                }
+            }
+            if (bundleTypes.contains(Bundle.Type.FORMATDATA)) {
+                Map<String, Object> formatDataMap = extractFormatData(targetMap, bundle.getID());
+                // LocaleData.getAvailableLocales depends on having FormatData bundles around
+                if (!formatDataMap.isEmpty() || bundle.isRoot()) {
+                    metaInfo.get("FormatData").add(toLanguageTag(bundle.getID()));
+                    bundleGenerator.generateBundle("text", "FormatData", bundle.getID(), true, formatDataMap, false);
+                }
+            }
+            // For testing
+            SortedSet<String> allLocales = new TreeSet<>();
+            allLocales.addAll(metaInfo.get("CurrencyNames"));
+            allLocales.addAll(metaInfo.get("LocaleNames"));
+            allLocales.addAll(metaInfo.get("CalendarData"));
+            allLocales.addAll(metaInfo.get("FormatData"));
+            metaInfo.put("All", allLocales);
+        }
+
+        bundleGenerator.generateMetaInfo(metaInfo);
+    }
+
+    /*
+     * Returns the language portion of the given id.
+     * If id is "root", "" is returned.
+     */
+    static String getLanguageCode(String id) {
+        int index = id.indexOf('_');
+        String lang = null;
+        if (index != -1) {
+            lang = id.substring(0, index);
+        } else {
+            lang = "root".equals(id) ? "" : id;
+        }
+        return lang;
+    }
+
+    /**
+     * Examine if the id includes the country (territory) code. If it does, it returns
+     * the country code.
+     * Otherwise, it returns null. eg. when the id is "zh_Hans_SG", it return "SG".
+     */
+    private static String getCountryCode(String id) {
+        //Truncate a variant code with '@' if there is any
+        //(eg. de_DE@collation=phonebook,currency=DOM)
+        if (id.indexOf('@') != -1) {
+            id = id.substring(0, id.indexOf('@'));
+        }
+        String[] tokens = id.split("_");
+        for (int index = 1; index < tokens.length; ++index) {
+            if (tokens[index].length() == 2
+                    && Character.isLetter(tokens[index].charAt(0))
+                    && Character.isLetter(tokens[index].charAt(1))) {
+                return tokens[index];
+            }
+        }
+        return null;
+    }
+
+    private static class KeyComparator implements Comparator<String> {
+        static KeyComparator INSTANCE = new KeyComparator();
+
+        private KeyComparator() {
+        }
+
+        public int compare(String o1, String o2) {
+            int len1 = o1.length();
+            int len2 = o2.length();
+            if (!isDigit(o1.charAt(0)) && !isDigit(o2.charAt(0))) {
+                // Shorter string comes first unless either starts with a digit.
+                if (len1 < len2) {
+                    return -1;
+                }
+                if (len1 > len2) {
+                    return 1;
+                }
+            }
+            return o1.compareTo(o2);
+        }
+
+        private boolean isDigit(char c) {
+            return c >= '0' && c <= '9';
+        }
+    }
+
+    private static Map<String, Object> extractLocaleNames(Map<String, Object> map, String id) {
+        Map<String, Object> localeNames = new TreeMap<>(KeyComparator.INSTANCE);
+        for (String key : map.keySet()) {
+            if (key.startsWith(LOCALE_NAME_PREFIX)) {
+                localeNames.put(key.substring(LOCALE_NAME_PREFIX.length()), map.get(key));
+            }
+        }
+        return localeNames;
+    }
+
+    @SuppressWarnings("AssignmentToForLoopParameter")
+    private static Map<String, Object> extractCurrencyNames(Map<String, Object> map, String id, String names)
+            throws Exception {
+        Map<String, Object> currencyNames = new TreeMap<>(KeyComparator.INSTANCE);
+        for (String key : map.keySet()) {
+            if (key.startsWith(CURRENCY_NAME_PREFIX)) {
+                currencyNames.put(key.substring(CURRENCY_NAME_PREFIX.length()), map.get(key));
+            } else if (key.startsWith(CURRENCY_SYMBOL_PREFIX)) {
+                currencyNames.put(key.substring(CURRENCY_SYMBOL_PREFIX.length()), map.get(key));
+            }
+        }
+        return currencyNames;
+    }
+
+    private static Map<String, Object> extractZoneNames(Map<String, Object> map, String id) {
+        return null;
+    }
+
+    private static Map<String, Object> extractCalendarData(Map<String, Object> map, String id) {
+        Map<String, Object> calendarData = new LinkedHashMap<>();
+        copyIfPresent(map, "firstDayOfWeek", calendarData);
+        copyIfPresent(map, "minimalDaysInFirstWeek", calendarData);
+        return calendarData;
+    }
+
+    private static Map<String, Object> extractFormatData(Map<String, Object> map, String id) {
+        Map<String, Object> formatData = new LinkedHashMap<>();
+        for (CalendarType calendarType : CalendarType.values()) {
+            String prefix = calendarType.keyElementName();
+            copyIfPresent(map, prefix + "MonthNames", formatData); // default FORMAT since JDK8
+            copyIfPresent(map, prefix + "standalone.MonthNames", formatData);
+            copyIfPresent(map, prefix + "MonthAbbreviations", formatData);
+            copyIfPresent(map, prefix + "standalone.MonthAbbreviations", formatData);
+            copyIfPresent(map, prefix + "DayNames", formatData);
+            copyIfPresent(map, prefix + "DayAbbreviations", formatData);
<