Respects parent package flag when Strict DMI is disabled

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

Branch: refs/heads/master
Commit: b8381057190c3abebbc3a65c404fd5de5f2c6c52
Parents: e374311
Author: Lukasz Lenart <lukasz.len...@gmail.com>
Authored: Wed Sep 23 11:30:54 2015 +0200
Committer: Lukasz Lenart <lukasz.len...@gmail.com>
Committed: Wed Sep 23 11:30:54 2015 +0200

----------------------------------------------------------------------
 .../convention/PackageBasedActionConfigBuilder.java       | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/b8381057/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
----------------------------------------------------------------------
diff --git 
a/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
 
b/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
index 0fc238c..c388ee9 100644
--- 
a/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
+++ 
b/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
@@ -921,9 +921,13 @@ public class PackageBasedActionConfigBuilder implements 
ActionConfigBuilder {
         ActionConfig.Builder actionConfig = new 
ActionConfig.Builder(pkgCfg.getName(), actionName, className);
         actionConfig.methodName(actionMethod);
 
-        actionConfig.addAllowedMethod(actionMethod);
-        actionConfig.addAllowedMethod(allowedMethods);
-        actionConfig.addAllowedMethod(pkgCfg.getGlobalAllowedMethods());
+        if (pkgCfg.isStrictMethodInvocation()) {
+            actionConfig.addAllowedMethod(actionMethod);
+            actionConfig.addAllowedMethod(allowedMethods);
+            actionConfig.addAllowedMethod(pkgCfg.getGlobalAllowedMethods());
+        } else {
+            actionConfig.addAllowedMethod(ActionConfig.REGEX_WILDCARD);
+        }
 
         if (LOG.isDebugEnabled()) {
             LOG.debug("Creating action config for class [{}], name [{}] and 
package name [{}] in namespace [{}]",

Reply via email to