You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2016/03/11 11:03:50 UTC
struts git commit: Narrows possible locale to those from available
locales
Repository: struts
Updated Branches:
refs/heads/support-2-3 609cb0bb9 -> 37842193a
Narrows possible locale to those from available locales
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/37842193
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/37842193
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/37842193
Branch: refs/heads/support-2-3
Commit: 37842193ab33b7655c78a2d2c305f2e0a0e50355
Parents: 609cb0b
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Mar 11 11:03:36 2016 +0100
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Mar 11 11:03:36 2016 +0100
----------------------------------------------------------------------
.../struts2/interceptor/I18nInterceptorTest.java | 16 ++++++++--------
.../xwork2/interceptor/I18nInterceptor.java | 5 +++++
.../xwork2/interceptor/I18nInterceptorTest.java | 16 ++++++++--------
3 files changed, 21 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/37842193/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java
index 04d853e..07abec2 100644
--- a/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java
+++ b/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java
@@ -173,12 +173,12 @@ public class I18nInterceptorTest {
@Test
public void testCountryOnlyLocale() throws Exception {
- params.put(I18nInterceptor.DEFAULT_PARAMETER, "DK");
+ params.put(I18nInterceptor.DEFAULT_PARAMETER, "NL");
interceptor.intercept(mai);
assertNull(params.get(I18nInterceptor.DEFAULT_PARAMETER)); // should have been removed
- Locale denmark = new Locale("DK");
+ Locale denmark = new Locale("NL");
assertNotNull(session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE)); // should be stored here
assertEquals(denmark, session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE)); // should create a locale object
}
@@ -197,31 +197,31 @@ public class I18nInterceptorTest {
@Test
public void testWithVariant() throws Exception {
- params.put(I18nInterceptor.DEFAULT_PARAMETER, "fr_CA_xx");
+ params.put(I18nInterceptor.DEFAULT_PARAMETER, "ja_JP_JP");
interceptor.intercept(mai);
assertNull(params.get(I18nInterceptor.DEFAULT_PARAMETER)); // should have been removed
- Locale variant = new Locale("fr", "CA", "xx");
+ Locale variant = new Locale("ja", "JP", "JP");
Locale locale = (Locale) session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE);
assertNotNull(locale); // should be stored here
assertEquals(variant, locale);
- assertEquals("xx", locale.getVariant());
+ assertEquals("JP", locale.getVariant());
}
@Test
public void testWithVariantRequestOnly() throws Exception {
- params.put(I18nInterceptor.DEFAULT_REQUESTONLY_PARAMETER, "fr_CA_xx");
+ params.put(I18nInterceptor.DEFAULT_REQUESTONLY_PARAMETER, "ja_JP_JP");
interceptor.intercept(mai);
assertNull(params.get(I18nInterceptor.DEFAULT_PARAMETER)); // should have been removed
assertNull(session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE));
- Locale variant = new Locale("fr", "CA", "xx");
+ Locale variant = new Locale("ja", "JP", "JP");
Locale locale = mai.getInvocationContext().getLocale();
assertNotNull(locale); // should be stored here
assertEquals(variant, locale);
- assertEquals("xx", locale.getVariant());
+ assertEquals("JP", locale.getVariant());
}
@Test
http://git-wip-us.apache.org/repos/asf/struts/blob/37842193/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
index 3deb268..a0d4fc5 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
@@ -21,6 +21,7 @@ import com.opensymphony.xwork2.util.LocalizedTextUtil;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import java.util.Arrays;
import java.util.Locale;
import java.util.Map;
@@ -226,6 +227,10 @@ public class I18nInterceptor extends AbstractInterceptor {
LOG.debug("applied request locale=#0", locale);
}
}
+
+ if (locale != null && !Arrays.asList(Locale.getAvailableLocales()).contains(locale)) {
+ locale = Locale.getDefault();
+ }
return locale;
}
http://git-wip-us.apache.org/repos/asf/struts/blob/37842193/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/I18nInterceptorTest.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/I18nInterceptorTest.java b/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/I18nInterceptorTest.java
index 1b585ec..495a2df 100644
--- a/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/I18nInterceptorTest.java
+++ b/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/I18nInterceptorTest.java
@@ -82,12 +82,12 @@ public class I18nInterceptorTest extends TestCase {
}
public void testCountryOnlyLocale() throws Exception {
- params.put(I18nInterceptor.DEFAULT_PARAMETER, "DK");
+ params.put(I18nInterceptor.DEFAULT_PARAMETER, "NL");
interceptor.intercept(mai);
assertNull(params.get(I18nInterceptor.DEFAULT_PARAMETER)); // should have been removed
- Locale denmark = new Locale("DK");
+ Locale denmark = new Locale("NL");
assertNotNull(session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE)); // should be stored here
assertEquals(denmark, session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE)); // should create a locale object
}
@@ -104,30 +104,30 @@ public class I18nInterceptorTest extends TestCase {
}
public void testWithVariant() throws Exception {
- params.put(I18nInterceptor.DEFAULT_PARAMETER, "fr_CA_xx");
+ params.put(I18nInterceptor.DEFAULT_PARAMETER, "ja_JP_JP");
interceptor.intercept(mai);
assertNull(params.get(I18nInterceptor.DEFAULT_PARAMETER)); // should have been removed
- Locale variant = new Locale("fr", "CA", "xx");
+ Locale variant = new Locale("ja", "JP", "JP");
Locale locale = (Locale) session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE);
assertNotNull(locale); // should be stored here
assertEquals(variant, locale);
- assertEquals("xx", locale.getVariant());
+ assertEquals("JP", locale.getVariant());
}
public void testWithVariantRequestOnly() throws Exception {
- params.put(I18nInterceptor.DEFAULT_REQUESTONLY_PARAMETER, "fr_CA_xx");
+ params.put(I18nInterceptor.DEFAULT_REQUESTONLY_PARAMETER, "ja_JP_JP");
interceptor.intercept(mai);
assertNull(params.get(I18nInterceptor.DEFAULT_PARAMETER)); // should have been removed
assertNull(session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE));
- Locale variant = new Locale("fr", "CA", "xx");
+ Locale variant = new Locale("ja", "JP", "JP");
Locale locale = mai.getInvocationContext().getLocale();
assertNotNull(locale); // should be stored here
assertEquals(variant, locale);
- assertEquals("xx", locale.getVariant());
+ assertEquals("JP", locale.getVariant());
}
public void testRealLocaleObjectInParams() throws Exception {