< 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,53 ****
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;
--- 43,52 ----
*** 857,871 ****
return getDefault();
}
private static Locale initDefault() {
String language, region, script, country, variant;
! language = AccessController.doPrivileged(
! new GetPropertyAction("user.language", "en"));
// for compatibility, check for old user.region property
! region = AccessController.doPrivileged(
! new GetPropertyAction("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);
--- 856,869 ----
return getDefault();
}
private static Locale initDefault() {
String language, region, script, country, variant;
! Properties props = GetPropertyAction.getProperties();
! language = props.getProperty("user.language", "en");
// for compatibility, check for old user.region property
! 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,904 ****
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", ""));
}
return getInstance(language, script, country, variant, null);
}
private static Locale initDefault(Locale.Category category) {
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())),
null);
}
/**
* Sets the default locale for this instance of the Java Virtual Machine.
--- 872,900 ----
country = region;
variant = "";
}
script = "";
} else {
! 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(
! 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 >