src/share/classes/sun/util/locale/provider/BreakIteratorProviderImpl.java

Print this page
rev 6352 : imported patch 7162007

*** 23,38 **** * questions. */ package sun.util.locale.provider; import java.text.BreakIterator; import java.text.spi.BreakIteratorProvider; import java.util.Locale; ! import java.util.ResourceBundle; import java.util.Set; - import sun.util.resources.LocaleData; /** * Concrete implementation of the {@link java.text.spi.BreakIteratorProvider * BreakIteratorProvider} class for the JRE LocaleProviderAdapter. * --- 23,38 ---- * questions. */ package sun.util.locale.provider; + import java.io.IOException; import java.text.BreakIterator; import java.text.spi.BreakIteratorProvider; import java.util.Locale; ! import java.util.MissingResourceException; import java.util.Set; /** * Concrete implementation of the {@link java.text.spi.BreakIteratorProvider * BreakIteratorProvider} class for the JRE LocaleProviderAdapter. *
*** 157,184 **** String dictionaryName) { if (locale == null) { throw new NullPointerException(); } ! ResourceBundle bundle = LocaleData.getBundle( ! LocaleProviderAdapter.Type.JRE.getTextResourcesPackage() + ".BreakIteratorInfo", locale); ! String[] classNames = bundle.getStringArray("BreakIteratorClasses"); - String dataFile = bundle.getString(dataName); - try { switch (classNames[type]) { case "RuleBasedBreakIterator": return new RuleBasedBreakIterator(dataFile); case "DictionaryBasedBreakIterator": ! String dictionaryFile = bundle.getString(dictionaryName); return new DictionaryBasedBreakIterator(dataFile, dictionaryFile); default: throw new IllegalArgumentException("Invalid break iterator class \"" + classNames[type] + "\""); } ! } catch (Exception e) { throw new InternalError(e.toString(), e); } } @Override --- 157,182 ---- String dictionaryName) { if (locale == null) { throw new NullPointerException(); } ! LocaleResources lr = LocaleProviderAdapter.forJRE().getLocaleResources(locale); ! String[] classNames = (String[]) lr.getBreakIteratorInfo("BreakIteratorClasses"); ! String dataFile = (String) lr.getBreakIteratorInfo(dataName); try { switch (classNames[type]) { case "RuleBasedBreakIterator": return new RuleBasedBreakIterator(dataFile); case "DictionaryBasedBreakIterator": ! String dictionaryFile = (String) lr.getBreakIteratorInfo(dictionaryName); return new DictionaryBasedBreakIterator(dataFile, dictionaryFile); default: throw new IllegalArgumentException("Invalid break iterator class \"" + classNames[type] + "\""); } ! } catch (IOException | MissingResourceException | IllegalArgumentException e) { throw new InternalError(e.toString(), e); } } @Override