Repository: struts
Updated Branches:
refs/heads/master c570a2b2b -> ea92e9546
WW-4677 Exyends LocaleProvider to be used to validate Locale
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/ea92e954
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/ea92e954
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/ea92e954
Branch: refs/heads/master
Commit: ea92e95461386f1ddfda37bb09ec170b8e306ae7
Parents: c570a2b
Author: Lukasz Lenart
Authored: Mon Sep 19 09:45:16 2016 +0200
Committer: Lukasz Lenart
Committed: Mon Sep 19 09:45:16 2016 +0200
--
.../com/opensymphony/xwork2/ActionSupport.java | 19 -
.../xwork2/DefaultLocaleProvider.java | 11
.../com/opensymphony/xwork2/LocaleProvider.java | 16 +++
.../validator/DelegatingValidatorContext.java | 22 ++-
.../struts2/interceptor/I18nInterceptor.java| 27 +++
.../opensymphony/xwork2/ActionSupportTest.java | 28 ++--
.../xwork2/CompositeTextProviderTest.java | 20 ++
.../xwork2/TextProviderSupportTest.java | 10 +++
.../impl/AnnotationXWorkConverterTest.java | 2 ++
.../conversion/impl/XWorkConverterTest.java | 2 ++
.../xwork2/util/LocalizedTextUtilTest.java | 4 +++
.../validator/SimpleActionValidationTest.java | 5 +++-
.../StringLengthFieldValidatorTest.java | 2 ++
.../validator/VisitorFieldValidatorTest.java| 1 +
.../interceptor/FileUploadInterceptorTest.java | 3 +++
.../interceptor/I18nInterceptorTest.java| 5 ++--
.../struts2/views/jsp/AbstractTagTest.java | 2 ++
.../apache/struts2/views/jsp/TextTagTest.java | 2 ++
.../struts2/views/jsp/ui/OptGroupTest.java | 1 +
19 files changed, 146 insertions(+), 36 deletions(-)
--
http://git-wip-us.apache.org/repos/asf/struts/blob/ea92e954/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
--
diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
b/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
index 62f24df..012b1f7 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
@@ -63,14 +63,19 @@ public class ActionSupport implements Action, Validateable,
ValidationAware, Tex
return validationAware.getFieldErrors();
}
+@Override
public Locale getLocale() {
-ActionContext ctx = ActionContext.getContext();
-if (ctx != null) {
-return ctx.getLocale();
-} else {
- LOG.debug("Action context not initialized");
-return null;
-}
+return container.getInstance(LocaleProvider.class).getLocale();
+}
+
+@Override
+public boolean isValidLocaleString(String localeStr) {
+return
container.getInstance(LocaleProvider.class).isValidLocaleString(localeStr);
+}
+
+@Override
+public boolean isValidLocale(Locale locale) {
+return
container.getInstance(LocaleProvider.class).isValidLocale(locale);
}
public boolean hasKey(String key) {
http://git-wip-us.apache.org/repos/asf/struts/blob/ea92e954/core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProvider.java
--
diff --git
a/core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProvider.java
b/core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProvider.java
index 09a4daa..1d687bc 100644
--- a/core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProvider.java
+++ b/core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProvider.java
@@ -1,8 +1,10 @@
package com.opensymphony.xwork2;
+import com.opensymphony.xwork2.util.LocalizedTextUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import java.util.Arrays;
import java.util.Locale;
/**
@@ -22,4 +24,13 @@ public class DefaultLocaleProvider implements LocaleProvider
{
}
}
+@Override
+public boolean isValidLocaleString(String localeStr) {
+return isValidLocale(LocalizedTextUtil.localeFromString(localeStr,
getLocale()));
+}
+
+@Override
+public boolean isValidLocale(Locale locale) {
+return locale != null &&
Arrays.asList(Locale.getAvailableLocales()).contains(locale);
+}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/ea92e954/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java
--
diff --git a/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java
b/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java