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