Defines new extension point

Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/4577e5ee
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/4577e5ee
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/4577e5ee

Branch: refs/heads/develop
Commit: 4577e5eefb057e80bbdd740b0c56120c15469827
Parents: 65c023b
Author: Lukasz Lenart <lukaszlen...@apache.org>
Authored: Mon May 12 08:26:33 2014 +0200
Committer: Lukasz Lenart <lukaszlen...@apache.org>
Committed: Mon May 12 08:26:33 2014 +0200

----------------------------------------------------------------------
 core/src/main/java/org/apache/struts2/StrutsConstants.java    | 6 ++++++
 .../apache/struts2/config/DefaultBeanSelectionProvider.java   | 7 ++++++-
 .../src/main/java/com/opensymphony/xwork2/XWorkConstants.java | 1 +
 3 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/4577e5ee/core/src/main/java/org/apache/struts2/StrutsConstants.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/StrutsConstants.java 
b/core/src/main/java/org/apache/struts2/StrutsConstants.java
index d508373..d173add 100644
--- a/core/src/main/java/org/apache/struts2/StrutsConstants.java
+++ b/core/src/main/java/org/apache/struts2/StrutsConstants.java
@@ -285,4 +285,10 @@ public final class StrutsConstants {
     /** Comma delimited set of excluded classes which cannot be accessed via 
expressions **/
     public static final String STRUTS_EXCLUDED_CLASSES = 
"struts.excludedClasses";
 
+    /** Dedicated service to check if passed string is excluded or not **/
+    public static final String STRUTS_EXCLUDED_PATTERNS_CHECKER = 
"struts.excludedPatterns.checker";
+
+    /** Constant is used to override framework's default excluded patterns **/
+    public static final String STRUTS_OVERRIDE_EXCLUDED_PATTERNS = 
"struts.override.excludedPatterns";
+
 }

http://git-wip-us.apache.org/repos/asf/struts/blob/4577e5ee/core/src/main/java/org/apache/struts2/config/DefaultBeanSelectionProvider.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/struts2/config/DefaultBeanSelectionProvider.java
 
b/core/src/main/java/org/apache/struts2/config/DefaultBeanSelectionProvider.java
index dedbce5..5304910 100644
--- 
a/core/src/main/java/org/apache/struts2/config/DefaultBeanSelectionProvider.java
+++ 
b/core/src/main/java/org/apache/struts2/config/DefaultBeanSelectionProvider.java
@@ -22,6 +22,7 @@
 package org.apache.struts2.config;
 
 import com.opensymphony.xwork2.ActionProxyFactory;
+import com.opensymphony.xwork2.ExcludedPatternsChecker;
 import com.opensymphony.xwork2.FileManager;
 import com.opensymphony.xwork2.FileManagerFactory;
 import com.opensymphony.xwork2.LocaleProvider;
@@ -343,7 +344,7 @@ public class DefaultBeanSelectionProvider extends 
AbstractBeanSelectionProvider
         alias(ResultFactory.class, 
StrutsConstants.STRUTS_OBJECTFACTORY_RESULTFACTORY, builder, props);
         alias(ConverterFactory.class, 
StrutsConstants.STRUTS_OBJECTFACTORY_CONVERTERFACTORY, builder, props);
         alias(InterceptorFactory.class, 
StrutsConstants.STRUTS_OBJECTFACTORY_INTERCEPTORFACTORY, builder, props);
-        alias(ValidatorFactory.class, 
StrutsConstants.STRUTS_OBJECTFACTORY_INTERCEPTORFACTORY, builder, props);
+        alias(ValidatorFactory.class, 
StrutsConstants.STRUTS_OBJECTFACTORY_VALIDATORFACTORY, builder, props);
 
         alias(FileManagerFactory.class, 
StrutsConstants.STRUTS_FILE_MANAGER_FACTORY, builder, props, Scope.SINGLETON);
 
@@ -383,6 +384,9 @@ public class DefaultBeanSelectionProvider extends 
AbstractBeanSelectionProvider
 
         alias(DispatcherErrorHandler.class, 
StrutsConstants.STRUTS_DISPATCHER_ERROR_HANDLER, builder, props);
 
+        /** Checker is used mostly in interceptors, so there be one instance 
of checker per interceptor with Scope.REQUEST **/
+        alias(ExcludedPatternsChecker.class, 
StrutsConstants.STRUTS_EXCLUDED_PATTERNS_CHECKER, builder, props, 
Scope.REQUEST);
+
         switchDevMode(props);
 
         // Convert Struts properties into XWork properties
@@ -392,6 +396,7 @@ public class DefaultBeanSelectionProvider extends 
AbstractBeanSelectionProvider
         convertIfExist(props, 
StrutsConstants.STRUTS_ALLOW_STATIC_METHOD_ACCESS, 
XWorkConstants.ALLOW_STATIC_METHOD_ACCESS);
         convertIfExist(props, StrutsConstants.STRUTS_CONFIGURATION_XML_RELOAD, 
XWorkConstants.RELOAD_XML_CONFIGURATION);
         convertIfExist(props, StrutsConstants.STRUTS_EXCLUDED_CLASSES, 
XWorkConstants.OGNL_EXCLUDED_CLASSES);
+        convertIfExist(props, 
StrutsConstants.STRUTS_OVERRIDE_EXCLUDED_PATTERNS, 
XWorkConstants.OVERRIDE_EXCLUDED_PATTERNS);
 
         
LocalizedTextUtil.addDefaultResourceBundle("org/apache/struts2/struts-messages");
         loadCustomResourceBundles(props);

http://git-wip-us.apache.org/repos/asf/struts/blob/4577e5ee/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java
index dfbf6d5..f2f03e7 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java
@@ -18,5 +18,6 @@ public final class XWorkConstants {
     public static final String ALLOW_STATIC_METHOD_ACCESS = 
"allowStaticMethodAccess";
     public static final String XWORK_LOGGER_FACTORY = "xwork.loggerFactory";
     public static final String OGNL_EXCLUDED_CLASSES = "ognlExcludedClasses";
+    public static final String OVERRIDE_EXCLUDED_PATTERNS = 
"overrideExcludedPatterns";
 
 }

Reply via email to