From 3dbdbcdbfdfcc06aa274f2f29b0541d9e6caabcb Mon Sep 17 00:00:00 2001 From: Naoto Sato Date: Fri, 18 Oct 2024 15:22:31 -0700 Subject: [PATCH] initial commit --- .../share/classes/java/util/Locale.java | 27 ++++--------------- .../jdk/internal/util/StaticProperty.java | 22 ++++++++++++--- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/src/java.base/share/classes/java/util/Locale.java b/src/java.base/share/classes/java/util/Locale.java index 5550d399a7fbd..4d59fe73efe96 100644 --- a/src/java.base/share/classes/java/util/Locale.java +++ b/src/java.base/share/classes/java/util/Locale.java @@ -1126,28 +1126,11 @@ private static synchronized Locale getFormatLocale() { } private static Locale initDefault() { - String language, region, script, country, variant; - language = StaticProperty.USER_LANGUAGE; - // for compatibility, check for old user.region property - region = StaticProperty.USER_REGION; - if (!region.isEmpty()) { - // region can be of form country, country_variant, or _variant - int i = region.indexOf('_'); - if (i >= 0) { - country = region.substring(0, i); - variant = region.substring(i + 1); - } else { - country = region; - variant = ""; - } - script = ""; - } else { - script = StaticProperty.USER_SCRIPT; - country = StaticProperty.USER_COUNTRY; - variant = StaticProperty.USER_VARIANT; - } - - return getInstance(language, script, country, variant, + return getInstance( + StaticProperty.USER_LANGUAGE, + StaticProperty.USER_SCRIPT, + StaticProperty.USER_COUNTRY, + StaticProperty.USER_VARIANT, getDefaultExtensions(StaticProperty.USER_EXTENSIONS) .orElse(null)); } diff --git a/src/java.base/share/classes/jdk/internal/util/StaticProperty.java b/src/java.base/share/classes/jdk/internal/util/StaticProperty.java index da06bf07a65a4..7499fdb098986 100644 --- a/src/java.base/share/classes/jdk/internal/util/StaticProperty.java +++ b/src/java.base/share/classes/jdk/internal/util/StaticProperty.java @@ -98,19 +98,33 @@ private StaticProperty() {} USER_LANGUAGE = getProperty(props, "user.language", "en"); USER_LANGUAGE_DISPLAY = getProperty(props, "user.language.display", USER_LANGUAGE); USER_LANGUAGE_FORMAT = getProperty(props, "user.language.format", USER_LANGUAGE); - USER_SCRIPT = getProperty(props, "user.script", ""); + // for compatibility, check for old user.region property + USER_REGION = getProperty(props, "user.region", ""); + if (!USER_REGION.isEmpty()) { + // region can be of form country, country_variant, or _variant + int i = USER_REGION.indexOf('_'); + if (i >= 0) { + USER_COUNTRY = USER_REGION.substring(0, i); + USER_VARIANT = USER_REGION.substring(i + 1); + } else { + USER_COUNTRY = USER_REGION; + USER_VARIANT = ""; + } + USER_SCRIPT = ""; + } else { + USER_SCRIPT = getProperty(props, "user.script", ""); + USER_COUNTRY = getProperty(props, "user.country", ""); + USER_VARIANT = getProperty(props, "user.variant", ""); + } USER_SCRIPT_DISPLAY = getProperty(props, "user.script.display", USER_SCRIPT); USER_SCRIPT_FORMAT = getProperty(props, "user.script.format", USER_SCRIPT); - USER_COUNTRY = getProperty(props, "user.country", ""); USER_COUNTRY_DISPLAY = getProperty(props, "user.country.display", USER_COUNTRY); USER_COUNTRY_FORMAT = getProperty(props, "user.country.format", USER_COUNTRY); - USER_VARIANT = getProperty(props, "user.variant", ""); USER_VARIANT_DISPLAY = getProperty(props, "user.variant.display", USER_VARIANT); USER_VARIANT_FORMAT = getProperty(props, "user.variant.format", USER_VARIANT); USER_EXTENSIONS = getProperty(props, "user.extensions", ""); USER_EXTENSIONS_DISPLAY = getProperty(props, "user.extensions.display", USER_EXTENSIONS); USER_EXTENSIONS_FORMAT = getProperty(props, "user.extensions.format", USER_EXTENSIONS); - USER_REGION = getProperty(props, "user.region", ""); } private static String getProperty(Properties props, String key) {