From d0e738fa889c74b87d81e45de8bd7ff283be08d8 Mon Sep 17 00:00:00 2001 From: Ram Viswanadha Date: Fri, 2 Jul 2004 02:20:54 +0000 Subject: [PATCH] ICU-3879 fix root lookup bug X-SVN-Rev: 15971 --- .../com/ibm/icu/dev/test/util/ICUResourceBundleTest.java | 8 ++++++++ icu4j/src/com/ibm/icu/util/UResourceBundle.java | 2 ++ 2 files changed, 10 insertions(+) diff --git a/icu4j/src/com/ibm/icu/dev/test/util/ICUResourceBundleTest.java b/icu4j/src/com/ibm/icu/dev/test/util/ICUResourceBundleTest.java index 7dd687c80c3..4a88f636f2a 100644 --- a/icu4j/src/com/ibm/icu/dev/test/util/ICUResourceBundleTest.java +++ b/icu4j/src/com/ibm/icu/dev/test/util/ICUResourceBundleTest.java @@ -52,6 +52,14 @@ public final class ICUResourceBundleTest extends TestFmwk { } + } + public void TestJB3879(){ + // this tests tests loading of root bundle when a resource bundle + // for the default locale is requested + ICUResourceBundle bundle = (ICUResourceBundle) UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata", ULocale.getDefault()); + if(bundle==null){ + errln("could not create the resource bundle"); + } } public void TestOpen(){ ICUResourceBundle bundle = (ICUResourceBundle) UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, "en_US_POSIX", ICUData.class.getClassLoader()); diff --git a/icu4j/src/com/ibm/icu/util/UResourceBundle.java b/icu4j/src/com/ibm/icu/util/UResourceBundle.java index 8dc25731e3e..03b116d8246 100644 --- a/icu4j/src/com/ibm/icu/util/UResourceBundle.java +++ b/icu4j/src/com/ibm/icu/util/UResourceBundle.java @@ -415,6 +415,8 @@ public abstract class UResourceBundle extends ResourceBundle{ }else{ if(defaultID.indexOf(localeName)==-1){ b = instantiateICUResource(baseName, defaultID, root); + }else if(rootLocale.length()!=0){ + b = ICUResourceBundle.createBundle(baseName, rootLocale, root); } } }else{