< prev index next >
src/java.base/share/classes/java/util/Locale.java
Print this page
rev 14210 : 8154231: Simplify access to System properties from JDK code
Reviewed-by: rriggs
@@ -43,11 +43,10 @@
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectStreamField;
import java.io.Serializable;
-import java.security.AccessController;
import java.text.MessageFormat;
import java.util.spi.LocaleNameProvider;
import sun.security.action.GetPropertyAction;
import sun.util.locale.BaseLocale;
@@ -857,15 +856,14 @@
return getDefault();
}
private static Locale initDefault() {
String language, region, script, country, variant;
- language = AccessController.doPrivileged(
- new GetPropertyAction("user.language", "en"));
+ Properties props = GetPropertyAction.getProperties();
+ language = props.getProperty("user.language", "en");
// for compatibility, check for old user.region property
- region = AccessController.doPrivileged(
- new GetPropertyAction("user.region"));
+ region = props.getProperty("user.region");
if (region != null) {
// region can be of form country, country_variant, or _variant
int i = region.indexOf('_');
if (i >= 0) {
country = region.substring(0, i);
@@ -874,31 +872,29 @@
country = region;
variant = "";
}
script = "";
} else {
- script = AccessController.doPrivileged(
- new GetPropertyAction("user.script", ""));
- country = AccessController.doPrivileged(
- new GetPropertyAction("user.country", ""));
- variant = AccessController.doPrivileged(
- new GetPropertyAction("user.variant", ""));
+ script = props.getProperty("user.script", "");
+ country = props.getProperty("user.country", "");
+ variant = props.getProperty("user.variant", "");
}
return getInstance(language, script, country, variant, null);
}
private static Locale initDefault(Locale.Category category) {
+ Properties props = GetPropertyAction.getProperties();
return getInstance(
- AccessController.doPrivileged(
- new GetPropertyAction(category.languageKey, defaultLocale.getLanguage())),
- AccessController.doPrivileged(
- new GetPropertyAction(category.scriptKey, defaultLocale.getScript())),
- AccessController.doPrivileged(
- new GetPropertyAction(category.countryKey, defaultLocale.getCountry())),
- AccessController.doPrivileged(
- new GetPropertyAction(category.variantKey, defaultLocale.getVariant())),
+ props.getProperty(category.languageKey,
+ defaultLocale.getLanguage()),
+ props.getProperty(category.scriptKey,
+ defaultLocale.getScript()),
+ props.getProperty(category.countryKey,
+ defaultLocale.getCountry()),
+ props.getProperty(category.variantKey,
+ defaultLocale.getVariant()),
null);
}
/**
* Sets the default locale for this instance of the Java Virtual Machine.
< prev index next >