You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by pa...@apache.org on 2017/02/21 20:13:52 UTC
[lang] LANG-1312: LocaleUtils#toLocale does not support language
followed by UN M.49 numeric-3 area code (closes #239)
Repository: commons-lang
Updated Branches:
refs/heads/master a6443e146 -> 4bd982d1a
LANG-1312: LocaleUtils#toLocale does not support language followed by UN M.49 numeric-3 area code (closes #239)
Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/4bd982d1
Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/4bd982d1
Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/4bd982d1
Branch: refs/heads/master
Commit: 4bd982d1a1df87724682c17c39bf27b5cbe389be
Parents: a6443e1
Author: pascalschumacher <pa...@gmx.net>
Authored: Sun Feb 19 20:39:05 2017 +0100
Committer: pascalschumacher <pa...@gmx.net>
Committed: Tue Feb 21 21:13:45 2017 +0100
----------------------------------------------------------------------
src/changes/changes.xml | 1 +
src/main/java/org/apache/commons/lang3/LocaleUtils.java | 4 +++-
src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java | 7 +++++++
3 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-lang/blob/4bd982d1/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index b023f95..13e83b4 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -76,6 +76,7 @@ The <action> type attribute can be add,update,fix,remove.
<action issue="LANG-1297" type="update" dev="ggregory">Add SystemUtils.getHostName() API.</action>
<action issue="LANG-1301" type="update" dev="pschumacher" due-to="Karl Heinz Marbaise">Moving apache-rat-plugin configuration into pluginManagement</action>
<action issue="LANG-1311" type="fix" dev="pschumacher" due-to="Aaron Digulla">TypeUtils.toString() doesn't handle primitive and Object arrays correctly</action>
+ <action issue="LANG-1312" type="fix" dev="pschumacher">LocaleUtils#toLocale does not support language followed by UN M.49 numeric-3 area code</action>
</release>
<release version="3.5" date="2016-10-13" description="New features including Java 9 detection">
http://git-wip-us.apache.org/repos/asf/commons-lang/blob/4bd982d1/src/main/java/org/apache/commons/lang3/LocaleUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/lang3/LocaleUtils.java b/src/main/java/org/apache/commons/lang3/LocaleUtils.java
index a3126eb..f13b52f 100644
--- a/src/main/java/org/apache/commons/lang3/LocaleUtils.java
+++ b/src/main/java/org/apache/commons/lang3/LocaleUtils.java
@@ -67,6 +67,7 @@ public class LocaleUtils {
* LocaleUtils.toLocale("") = new Locale("", "")
* LocaleUtils.toLocale("en") = new Locale("en", "")
* LocaleUtils.toLocale("en_GB") = new Locale("en", "GB")
+ * LocaleUtils.toLocale("en_001") = new Locale("en", "001")
* LocaleUtils.toLocale("en_GB_xxx") = new Locale("en", "GB", "xxx") (#)
* </pre>
*
@@ -134,7 +135,8 @@ public class LocaleUtils {
case 1:
if (StringUtils.isAllLowerCase(split[0]) &&
(split[0].length() == 2 || split[0].length() == 3) &&
- split[1].length() == 2 && StringUtils.isAllUpperCase(split[1])) {
+ (split[1].length() == 2 && StringUtils.isAllUpperCase(split[1])) ||
+ (split[1].length() == 3 && StringUtils.isNumeric(split[1]))) {
return new Locale(split[0], split[1]);
}
throw new IllegalArgumentException("Invalid locale format: " + str);
http://git-wip-us.apache.org/repos/asf/commons-lang/blob/4bd982d1/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java b/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java
index 4a867ba..79198af 100644
--- a/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java
@@ -505,6 +505,13 @@ public class LocaleUtilsTest {
assertValidToLocale("fr__POSIX", "fr", "", "POSIX");
}
+ @Test
+ public void testLanguageAndUNM49Numeric3AreaCodeLang1312() {
+ assertValidToLocale("en_001", "en", "001");
+ assertValidToLocale("en_150", "en", "150");
+ assertValidToLocale("ar_001", "ar", "001");
+ }
+
/**
* Tests #LANG-865, strings starting with an underscore.
*/