Simplifies implementation
Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/18553046 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/18553046 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/18553046 Branch: refs/heads/master Commit: 185530464b838b3aac9681b5ff5b16401ccef56d Parents: 3b31c42 Author: Lukasz Lenart <lukaszlen...@apache.org> Authored: Mon Aug 31 18:36:41 2015 +0200 Committer: Lukasz Lenart <lukaszlen...@apache.org> Committed: Mon Aug 31 18:36:41 2015 +0200 ---------------------------------------------------------------------- .../config/providers/XmlConfigurationProvider.java | 16 +++++++++++----- core/src/main/resources/struts-2.5.dtd | 3 --- core/src/main/resources/struts-default.xml | 2 +- core/src/main/resources/xwork-2.5.dtd | 3 --- core/src/test/resources/xwork-sample.xml | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts/blob/18553046/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 fd9f92a..0d64ad7 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 @@ -893,12 +893,18 @@ public class XmlConfigurationProvider implements ConfigurationProvider { } protected void loadGlobalAllowedMethods(PackageConfig.Builder packageContext, Element packageElement) { - NodeList globalAllowedMethods = packageElement.getElementsByTagName("global-allowed-methods"); + NodeList globalAllowedMethodsElms = packageElement.getElementsByTagName("global-allowed-methods"); - if (globalAllowedMethods.getLength() > 0) { - Element globalAllowedMethodsElement = (Element) globalAllowedMethods.item(0); - Set<String> results = TextParseUtil.commaDelimitedStringToSet(globalAllowedMethodsElement.getAttribute("methods")); - packageContext.addGlobalAllowedMethods(results); + if (globalAllowedMethodsElms.getLength() > 0) { + Set<String> globalAllowedMethods = new HashSet<>(); + Node n = globalAllowedMethodsElms.item(0).getFirstChild(); + if (n != null) { + String s = n.getNodeValue().trim(); + if (s.length() > 0) { + globalAllowedMethods = TextParseUtil.commaDelimitedStringToSet(s); + } + } + packageContext.addGlobalAllowedMethods(globalAllowedMethods); } } http://git-wip-us.apache.org/repos/asf/struts/blob/18553046/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 25ca800..6591ddb 100644 --- a/core/src/main/resources/struts-2.5.dtd +++ b/core/src/main/resources/struts-2.5.dtd @@ -90,9 +90,6 @@ <!ELEMENT global-results (result+)> <!ELEMENT global-allowed-methods (#PCDATA)> -<!ATTLIST global-allowed-methods - methods CDATA #REQUIRED -> <!ELEMENT global-exception-mappings (exception-mapping+)> http://git-wip-us.apache.org/repos/asf/struts/blob/18553046/core/src/main/resources/struts-default.xml ---------------------------------------------------------------------- diff --git a/core/src/main/resources/struts-default.xml b/core/src/main/resources/struts-default.xml index 9fc1c21..d7a0ee0 100644 --- a/core/src/main/resources/struts-default.xml +++ b/core/src/main/resources/struts-default.xml @@ -358,7 +358,7 @@ </interceptors> - <global-allowed-methods methods="execute,input,back,cancel,browse"/> + <global-allowed-methods>execute,input,back,cancel,browse</global-allowed-methods> <default-interceptor-ref name="defaultStack"/> http://git-wip-us.apache.org/repos/asf/struts/blob/18553046/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 4d3e1ca..197d0c1 100644 --- a/core/src/main/resources/xwork-2.5.dtd +++ b/core/src/main/resources/xwork-2.5.dtd @@ -69,9 +69,6 @@ <!ELEMENT global-results (result+)> <!ELEMENT global-allowed-methods (#PCDATA)> -<!ATTLIST global-allowed-methods - methods CDATA #REQUIRED -> <!ELEMENT global-exception-mappings (exception-mapping+)> http://git-wip-us.apache.org/repos/asf/struts/blob/18553046/core/src/test/resources/xwork-sample.xml ---------------------------------------------------------------------- diff --git a/core/src/test/resources/xwork-sample.xml b/core/src/test/resources/xwork-sample.xml index cd2ddcb..7f5e547 100644 --- a/core/src/test/resources/xwork-sample.xml +++ b/core/src/test/resources/xwork-sample.xml @@ -14,7 +14,7 @@ </result> </global-results> - <global-allowed-methods methods="execute,input,back,cancel,browse"/> + <global-allowed-methods>execute,input,back,cancel,browse</global-allowed-methods> <action name="Foo" class="com.opensymphony.xwork2.SimpleAction"> <param name="foo">17</param>