From e22cfd6ac181fb207ae08f2c32c75c4332ccbc30 Mon Sep 17 00:00:00 2001 From: "Steven R. Loomis" Date: Tue, 15 Apr 2014 13:01:23 +0000 Subject: [PATCH] ICU-10125 merge from branch X-SVN-Rev: 35642 --- .gitattributes | 1 + icu4j/samples/.classpath | 8 +-- icu4j/samples/build.properties | 4 +- icu4j/samples/build.xml | 7 +- .../ibm/icu/samples/iuc/PopulationData.java | 15 +++-- .../ibm/icu/samples/iuc/Sample13_Hello.java | 8 ++- .../ibm/icu/samples/iuc/Sample20_Message.java | 36 ---------- .../icu/samples/iuc/Sample30_ResHello.java | 7 +- .../ibm/icu/samples/iuc/Sample40_PopMsg.java | 27 +++++--- .../ibm/icu/samples/iuc/Sample50_PopSort.java | 35 +++++++--- .../icu/samples/iuc/Sample55_PopTranslit.java | 62 ------------------ .../ibm/icu/samples/iuc/data/popmsg/en.res | Bin 0 -> 64 bytes .../ibm/icu/samples/iuc/data/popmsg/es.res | Bin 544 -> 624 bytes .../icu/samples/iuc/data/popmsg/res_index.res | Bin 112 -> 128 bytes .../ibm/icu/samples/iuc/data/popmsg/root.res | Bin 528 -> 624 bytes .../samples/iuc/data/reshello/res_index.res | Bin 128 -> 128 bytes 16 files changed, 72 insertions(+), 138 deletions(-) delete mode 100644 icu4j/samples/src/com/ibm/icu/samples/iuc/Sample20_Message.java delete mode 100644 icu4j/samples/src/com/ibm/icu/samples/iuc/Sample55_PopTranslit.java create mode 100644 icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/en.res diff --git a/.gitattributes b/.gitattributes index 3ab2b2eb673..3362e3da259 100644 --- a/.gitattributes +++ b/.gitattributes @@ -601,6 +601,7 @@ icu4j/perf-tests/.settings/org.eclipse.jdt.ui.prefs -text icu4j/perf-tests/data/icuperf2report.xsl -text icu4j/samples/build.properties -text icu4j/samples/manifest.stub -text +icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/en.res -text icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/es.res -text icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/res_index.res -text icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/root.res -text diff --git a/icu4j/samples/.classpath b/icu4j/samples/.classpath index 71e0a10fb5f..1fbff5a5874 100644 --- a/icu4j/samples/.classpath +++ b/icu4j/samples/.classpath @@ -1,13 +1,7 @@ - - - - - - - + diff --git a/icu4j/samples/build.properties b/icu4j/samples/build.properties index ae2dfea3910..9657b5c4e68 100644 --- a/icu4j/samples/build.properties +++ b/icu4j/samples/build.properties @@ -1,5 +1,5 @@ #******************************************************************************* -#* Copyright (C) 2011, International Business Machines Corporation and * +#* Copyright (C) 2011-2014, International Business Machines Corporation and * #* others. All Rights Reserved. * #******************************************************************************* -shared.dir = ../main/shared +#shared.dir = ../main/shared diff --git a/icu4j/samples/build.xml b/icu4j/samples/build.xml index 44c24391832..83d383f4192 100644 --- a/icu4j/samples/build.xml +++ b/icu4j/samples/build.xml @@ -1,6 +1,6 @@ @@ -36,6 +36,7 @@ + @@ -44,7 +45,7 @@ - + @@ -82,4 +83,4 @@ - \ No newline at end of file + diff --git a/icu4j/samples/src/com/ibm/icu/samples/iuc/PopulationData.java b/icu4j/samples/src/com/ibm/icu/samples/iuc/PopulationData.java index c37be4119c3..c48f65d14ba 100644 --- a/icu4j/samples/src/com/ibm/icu/samples/iuc/PopulationData.java +++ b/icu4j/samples/src/com/ibm/icu/samples/iuc/PopulationData.java @@ -1,14 +1,16 @@ /* ******************************************************************************* - * Copyright (C) 2013, International Business Machines Corporation and * + * Copyright (C) 2013-2014, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.samples.iuc; import java.util.HashSet; +import java.util.Locale; import java.util.Set; +import com.ibm.icu.text.NumberFormat; import com.ibm.icu.util.ULocale; import com.ibm.icu.util.UResourceBundle; import com.ibm.icu.util.UResourceBundleIterator; @@ -44,7 +46,7 @@ public class PopulationData { return rc; } }; - public static Set getTerritoryEntries(ULocale loc, Set entries) { + public static Set getTerritoryEntries(Locale loc, Set entries) { // Note: format of supplementalData is NOT STATIC and may change. It is internal to ICU! UResourceBundle suppData = SupplementalUtilities.getICUSupplementalData(); UResourceBundle territoryInfo = suppData.get("territoryInfo"); @@ -58,17 +60,18 @@ public class PopulationData { // territoryF = { gdp, literacy, population } String terrID = rawEntry.getKey(); ULocale territory = new ULocale("und", terrID); - entries.add(new TerritoryEntry(territory.getDisplayCountry(loc), SupplementalUtilities.ldml2d(vec[2]))); + entries.add(new TerritoryEntry(territory.getDisplayCountry(ULocale.forLocale(loc)), SupplementalUtilities.ldml2d(vec[2]))); } return entries; } public static void main(String... args) { + NumberFormat nf = NumberFormat.getInstance(); System.out.println("Loading population/territory data from CLDR"); - Set territoryEntries = getTerritoryEntries(ULocale.getDefault(), new HashSet()); - System.out.println(".. count="+ territoryEntries.size()); + Set territoryEntries = getTerritoryEntries(Locale.getDefault(), new HashSet()); + System.out.println(".. count="+ nf.format(territoryEntries.size())); for(TerritoryEntry te : territoryEntries) { - System.out.println(" "+ te.territoryName() + " = " + te.population()); + System.out.println(" "+ te.territoryName() + " = " + nf.format(te.population())); } } } diff --git a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample13_Hello.java b/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample13_Hello.java index 99fd8ec92ac..d9960925662 100644 --- a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample13_Hello.java +++ b/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample13_Hello.java @@ -1,18 +1,22 @@ /* ******************************************************************************* - * Copyright (C) 2013, International Business Machines Corporation and * + * Copyright (C) 2013-2014, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.samples.iuc; +import java.util.Locale; + import com.ibm.icu.text.LocaleDisplayNames; import com.ibm.icu.util.ULocale; public class Sample13_Hello { public static void main(String... args) { + Locale locale = Locale.getDefault(); String world = LocaleDisplayNames - .getInstance(ULocale.getDefault()).regionDisplayName("001"); + .getInstance(ULocale.forLocale(locale)) + .regionDisplayName("001"); System.out.println("Hello, " + world + "\u2603"); } } diff --git a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample20_Message.java b/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample20_Message.java deleted file mode 100644 index df2da1e7a7d..00000000000 --- a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample20_Message.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - ******************************************************************************* - * Copyright (C) 2013, International Business Machines Corporation and * - * others. All Rights Reserved. * - ******************************************************************************* - */ -package com.ibm.icu.samples.iuc; - -import java.util.HashMap; -import java.util.Map; - -import com.ibm.icu.text.LocaleDisplayNames; -import com.ibm.icu.text.LocaleDisplayNames.DialectHandling; -import com.ibm.icu.text.MessageFormat; -import com.ibm.icu.util.ULocale; - -/** - * @author srl - * - */ -public class Sample20_Message { - public static void main(String... args) { - ULocale defaultLocaleID = ULocale.getDefault(); - LocaleDisplayNames ldn = LocaleDisplayNames.getInstance(defaultLocaleID, DialectHandling.DIALECT_NAMES); - String defaultLocaleName = ldn.localeDisplayName(defaultLocaleID); - String world = ldn.regionDisplayName("001"); - MessageFormat fmt = new MessageFormat("A hello to {part, number, percent} of the {world}, in {mylocale}, on {today, date}!", - defaultLocaleID); - Map msgargs = new HashMap(); - msgargs.put("part", 1.00); - msgargs.put("world", world); - msgargs.put("mylocale", defaultLocaleName); - msgargs.put("today", System.currentTimeMillis()); - System.out.println(fmt.format(msgargs, new StringBuffer(), null)); - } -} diff --git a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample30_ResHello.java b/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample30_ResHello.java index 90ebf1dd673..a3c089c04fb 100644 --- a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample30_ResHello.java +++ b/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample30_ResHello.java @@ -1,12 +1,13 @@ /* ******************************************************************************* - * Copyright (C) 2013, International Business Machines Corporation and * + * Copyright (C) 2013-2014, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.samples.iuc; -import com.ibm.icu.util.ULocale; +import java.util.Locale; + import com.ibm.icu.util.UResourceBundle; /** @@ -15,7 +16,7 @@ import com.ibm.icu.util.UResourceBundle; */ public class Sample30_ResHello { public static void main(String... args) { - ULocale locale = ULocale.getDefault(); + Locale locale = Locale.getDefault(); UResourceBundle bundle = UResourceBundle.getBundleInstance( Sample30_ResHello.class.getPackage().getName().replace('.', '/')+"/data/reshello", diff --git a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample40_PopMsg.java b/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample40_PopMsg.java index 6d947ee0fc2..8475dfad844 100644 --- a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample40_PopMsg.java +++ b/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample40_PopMsg.java @@ -1,6 +1,6 @@ /* ******************************************************************************* - * Copyright (C) 2013, International Business Machines Corporation and * + * Copyright (C) 2013-2014, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ @@ -8,11 +8,14 @@ package com.ibm.icu.samples.iuc; import java.util.HashMap; import java.util.HashSet; +import java.util.Locale; import java.util.Map; import java.util.Set; import com.ibm.icu.samples.iuc.PopulationData.TerritoryEntry; +import com.ibm.icu.text.LocaleDisplayNames; import com.ibm.icu.text.MessageFormat; +import com.ibm.icu.text.LocaleDisplayNames.DialectHandling; import com.ibm.icu.util.ULocale; import com.ibm.icu.util.UResourceBundle; @@ -23,21 +26,29 @@ import com.ibm.icu.util.UResourceBundle; public class Sample40_PopMsg { public static void main(String... args) { // setup - ULocale locale = ULocale.getDefault(); + Locale defaultLocaleID = Locale.getDefault(); + LocaleDisplayNames ldn = LocaleDisplayNames.getInstance(ULocale.forLocale(defaultLocaleID), + DialectHandling.DIALECT_NAMES); + String defaultLocaleName = ldn.localeDisplayName(defaultLocaleID); + Set territoryList; - territoryList = PopulationData.getTerritoryEntries(locale, + territoryList = PopulationData.getTerritoryEntries(defaultLocaleID, new HashSet()); + int territoryCount = territoryList.size(); UResourceBundle resourceBundle = UResourceBundle.getBundleInstance( Sample40_PopMsg.class.getPackage().getName().replace('.', '/')+"/data/popmsg", - locale, + defaultLocaleID, Sample40_PopMsg.class.getClassLoader()); // say hello - String welcome = resourceBundle.getString("welcome"); - Map welcomeArgs = new HashMap(); - welcomeArgs.put("territoryCount", territoryList.size()); - System.out.println( MessageFormat.format(welcome, welcomeArgs) ); + String pattern = resourceBundle.getString("welcome"); + MessageFormat fmt = new MessageFormat(pattern,defaultLocaleID); + Map msgargs = new HashMap(); + msgargs.put("territoryCount", territoryCount); + msgargs.put("myLanguage", defaultLocaleName); + msgargs.put("today", System.currentTimeMillis()); + System.out.println(fmt.format(msgargs, new StringBuffer(), null)); // Population roll call String info = resourceBundle.getString("info"); diff --git a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample50_PopSort.java b/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample50_PopSort.java index c2ccb550adb..58e22d3c1ae 100644 --- a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample50_PopSort.java +++ b/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample50_PopSort.java @@ -1,6 +1,6 @@ /* ******************************************************************************* - * Copyright (C) 2013, International Business Machines Corporation and * + * Copyright (C) 2013-2014, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ @@ -8,13 +8,17 @@ package com.ibm.icu.samples.iuc; import java.util.Comparator; import java.util.HashMap; +import java.util.HashSet; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.TreeSet; import com.ibm.icu.samples.iuc.PopulationData.TerritoryEntry; import com.ibm.icu.text.Collator; +import com.ibm.icu.text.LocaleDisplayNames; import com.ibm.icu.text.MessageFormat; +import com.ibm.icu.text.LocaleDisplayNames.DialectHandling; import com.ibm.icu.util.ULocale; import com.ibm.icu.util.UResourceBundle; @@ -25,10 +29,20 @@ import com.ibm.icu.util.UResourceBundle; public class Sample50_PopSort { public static void main(String... args) { // setup - final ULocale locale = ULocale.getDefault(); + // setup + Locale defaultLocaleID = Locale.getDefault(); + LocaleDisplayNames ldn = LocaleDisplayNames.getInstance(ULocale.forLocale(defaultLocaleID), + DialectHandling.DIALECT_NAMES); + String defaultLocaleName = ldn.localeDisplayName(defaultLocaleID); + Set territoryList; - final Collator collator = Collator.getInstance(locale); - territoryList = PopulationData.getTerritoryEntries(locale, + territoryList = PopulationData.getTerritoryEntries(defaultLocaleID, + new HashSet()); + int territoryCount = territoryList.size(); + + // sort it + final Collator collator = Collator.getInstance(defaultLocaleID); + territoryList = PopulationData.getTerritoryEntries(defaultLocaleID, new TreeSet(new Comparator(){ public int compare(TerritoryEntry o1, TerritoryEntry o2) { return collator.compare(o1.territoryName(), o2.territoryName()); @@ -36,14 +50,17 @@ public class Sample50_PopSort { UResourceBundle resourceBundle = UResourceBundle.getBundleInstance( Sample40_PopMsg.class.getPackage().getName().replace('.', '/')+"/data/popmsg", - locale, + defaultLocaleID, Sample40_PopMsg.class.getClassLoader()); // say hello - String welcome = resourceBundle.getString("welcome"); - Map welcomeArgs = new HashMap(); - welcomeArgs.put("territoryCount", territoryList.size()); - System.out.println( MessageFormat.format(welcome, welcomeArgs) ); + String pattern = resourceBundle.getString("welcome"); + MessageFormat fmt = new MessageFormat(pattern,defaultLocaleID); + Map msgargs = new HashMap(); + msgargs.put("territoryCount", territoryCount); + msgargs.put("myLanguage", defaultLocaleName); + msgargs.put("today", System.currentTimeMillis()); + System.out.println(fmt.format(msgargs, new StringBuffer(), null)); // Population roll call String info = resourceBundle.getString("info"); diff --git a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample55_PopTranslit.java b/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample55_PopTranslit.java deleted file mode 100644 index 251ac20966b..00000000000 --- a/icu4j/samples/src/com/ibm/icu/samples/iuc/Sample55_PopTranslit.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - ******************************************************************************* - * Copyright (C) 2013, International Business Machines Corporation and * - * others. All Rights Reserved. * - ******************************************************************************* - */ -package com.ibm.icu.samples.iuc; - -import java.util.Comparator; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import java.util.TreeSet; - -import com.ibm.icu.samples.iuc.PopulationData.TerritoryEntry; -import com.ibm.icu.text.Collator; -import com.ibm.icu.text.MessageFormat; -import com.ibm.icu.text.Transliterator; -import com.ibm.icu.util.ULocale; -import com.ibm.icu.util.UResourceBundle; - -/** - * @author srl - * - */ -public class Sample55_PopTranslit { - public static void main(String... args) { - // setup - final ULocale fromLocale = new ULocale(args[0]); - final ULocale locale = ULocale.getDefault(); - Set territoryList; - final Collator collator = Collator.getInstance(locale); - territoryList = PopulationData.getTerritoryEntries(fromLocale, - new TreeSet(new Comparator(){ - public int compare(TerritoryEntry o1, TerritoryEntry o2) { - return collator.compare(o1.territoryName(), o2.territoryName()); - }})); - UResourceBundle resourceBundle = - UResourceBundle.getBundleInstance( - Sample40_PopMsg.class.getPackage().getName().replace('.', '/')+"/data/popmsg", - locale, - Sample40_PopMsg.class.getClassLoader()); - - // say hello - String welcome = resourceBundle.getString("welcome"); - Map welcomeArgs = new HashMap(); - welcomeArgs.put("territoryCount", territoryList.size()); - System.out.println( MessageFormat.format(welcome, welcomeArgs) ); - - // Population roll call - String info = resourceBundle.getString("info"); - Map infoArgs = new HashMap(); - - Transliterator translit = Transliterator.getInstance("Any-Latin"); - - for(PopulationData.TerritoryEntry entry : territoryList) { - infoArgs.put("territory", translit.transform(entry.territoryName())); - infoArgs.put("population", entry.population()); - System.out.println(MessageFormat.format(info, infoArgs)); - } - } -} diff --git a/icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/en.res b/icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/en.res new file mode 100644 index 0000000000000000000000000000000000000000..94606bc3376b5146f1d6058d981c621249bde8ea GIT binary patch literal 64 qcmZQjxTVe@!oa}Dz{C)gTI|Hc0A#ZO2`Es2(Ck2p0|`S!fnorf-2(Ff literal 0 HcmV?d00001 diff --git a/icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/es.res b/icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/es.res index 9357d9adcdc97566425e153d15b18ccb7c5442d3..1c6d65b4f1b1582e4c3aba4b12751a7c04074802 100644 GIT binary patch delta 182 zcmZ3$@_}W7QavLV0|Ns)5c2@>6ewl_(jYLUJT)gdKR1;jGcPTlVb!Wt3=DT-8GIQs z859_D7*ZMX7}6O^84`iKREA<8S)3Ts~Qdv7XtM!Eo|4#;g1$42(c^Z~y?4;vDt> diff --git a/icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/res_index.res b/icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/res_index.res index 39248c94bb72a9d08ea4767d02a424dafab3bb29..a98f90dfdd6171bf1f733b68b009060db5ed9456 100644 GIT binary patch delta 81 zcmXSDV4R>VE6l*azz)RxKr9Ny%s`qEh=nIQh-szfF|1m(3dmz-Fk{eTFa)wdfRRBV K07wF*-~a%RN)HeK delta 65 zcmZo*ESR7yE6BjWzz)QGKr9T!OhB3uhy^D)h)Jzl1!OTX=rI@qX^^-=0FYb-1OU)u B2l4;_ diff --git a/icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/root.res b/icu4j/samples/src/com/ibm/icu/samples/iuc/data/popmsg/root.res index 62117c60d88d632791b4fd088c5c65db6e2e0036..ba743320cf6a3834b26c33bf052a84b9c68d0350 100644 GIT binary patch delta 212 zcmbQh@_}W7QavL(0|NsH^8oQAC}slEATX&sH77YgHJYk z6c}A4n&HO;LntLI~;r ym4Kv6fQHsG=uJ$BXPi6nKs{?dP