Puts back option to disable strict DMI
Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/e4fc8528 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/e4fc8528 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/e4fc8528 Branch: refs/heads/master Commit: e4fc8528b874d5d4d454ec8d8976b696a8375f82 Parents: ab5fb27 Author: Lukasz Lenart <lukasz.len...@gmail.com> Authored: Fri Sep 4 08:55:14 2015 +0200 Committer: Lukasz Lenart <lukasz.len...@gmail.com> Committed: Fri Sep 4 08:55:14 2015 +0200 ---------------------------------------------------------------------- .../xwork2/config/entities/PackageConfig.java | 10 ++++++++++ .../xwork2/config/providers/XmlConfigurationProvider.java | 3 +++ core/src/main/resources/struts-2.5.dtd | 1 + core/src/main/resources/xwork-2.5.dtd | 1 + 4 files changed, 15 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts/blob/e4fc8528/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java index 093985c..aa53a12 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java @@ -448,6 +448,7 @@ public class PackageConfig extends Located implements Comparable, Serializable, public static class Builder implements InterceptorLocator { protected PackageConfig target; + private boolean strictDMI; public Builder(String name) { target = new PackageConfig(name); @@ -613,6 +614,15 @@ public class PackageConfig extends Located implements Comparable, Serializable, return target.getAllInterceptorConfigs().get(name); } + public Builder strictMethodInvocation(boolean strict) { + strictDMI = strict; + return this; + } + + public boolean isStrictMethodInvocation() { + return strictDMI; + } + public PackageConfig build() { embalmTarget(); PackageConfig result = target; http://git-wip-us.apache.org/repos/asf/struts/blob/e4fc8528/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java b/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java index 0302a68..3009dcb 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java @@ -649,9 +649,12 @@ public class XmlConfigurationProvider implements ConfigurationProvider { String name = StringUtils.defaultString(packageElement.getAttribute("name")); String namespace = StringUtils.defaultString(packageElement.getAttribute("namespace")); + boolean strictDMI = Boolean.parseBoolean(packageElement.getAttribute("strict-method-invocation")); + PackageConfig.Builder cfg = new PackageConfig.Builder(name) .namespace(namespace) .isAbstract(isAbstract) + .strictMethodInvocation(strictDMI) .location(DomHelper.getLocationObject(packageElement)); if (StringUtils.isNotEmpty(StringUtils.defaultString(parent))) { // has parents, let's look it up http://git-wip-us.apache.org/repos/asf/struts/blob/e4fc8528/core/src/main/resources/struts-2.5.dtd ---------------------------------------------------------------------- diff --git a/core/src/main/resources/struts-2.5.dtd b/core/src/main/resources/struts-2.5.dtd index 0845eee..b426d29 100644 --- a/core/src/main/resources/struts-2.5.dtd +++ b/core/src/main/resources/struts-2.5.dtd @@ -43,6 +43,7 @@ extends CDATA #IMPLIED namespace CDATA #IMPLIED abstract CDATA #IMPLIED + strict-method-invocation (true|false) "true" > <!ELEMENT result-types (result-type+)> http://git-wip-us.apache.org/repos/asf/struts/blob/e4fc8528/core/src/main/resources/xwork-2.5.dtd ---------------------------------------------------------------------- diff --git a/core/src/main/resources/xwork-2.5.dtd b/core/src/main/resources/xwork-2.5.dtd index 197d0c1..31c1167 100644 --- a/core/src/main/resources/xwork-2.5.dtd +++ b/core/src/main/resources/xwork-2.5.dtd @@ -22,6 +22,7 @@ extends CDATA #IMPLIED namespace CDATA #IMPLIED abstract CDATA #IMPLIED + strict-method-invocation (true|false) "true" > <!ELEMENT result-types (result-type+)>