Merge pull request #452 from apache/WW-5078-removes-xwork-dtds
[WW-5078] Removes support for <xwork> DTDs
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java b/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
index 067a1f9..41e24b1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
@@ -19,8 +19,7 @@
package com.opensymphony.xwork2.config;
import com.opensymphony.xwork2.config.impl.DefaultConfiguration;
-import com.opensymphony.xwork2.config.providers.XWorkConfigurationProvider;
-import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import com.opensymphony.xwork2.config.providers.StrutsDefaultConfigurationProvider;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.struts2.StrutsConstants;
@@ -86,8 +85,8 @@
/**
* <p>
* Get the current list of ConfigurationProviders. If no custom ConfigurationProviders have been added, this method
- * will return a list containing only the default ConfigurationProvider, XMLConfigurationProvider. If a custom
- * ConfigurationProvider has been added, then the XmlConfigurationProvider must be added by hand.
+ * will return a list containing only a default ConfigurationProvider, {@link StrutsDefaultConfigurationProvider}.
+ * If a custom ConfigurationProvider has been added, then the StrutsDefaultConfigurationProvider must be added by hand.
* </p>
*
* <p>
@@ -101,8 +100,7 @@
providerLock.lock();
try {
if (containerProviders.size() == 0) {
- containerProviders.add(new XWorkConfigurationProvider());
- containerProviders.add(new XmlConfigurationProvider("xwork.xml", false));
+ containerProviders.add(new StrutsDefaultConfigurationProvider());
}
return containerProviders;
@@ -160,7 +158,7 @@
*/
public synchronized void destroyConfiguration() {
clearContainerProviders(); // let's destroy the ConfigurationProvider first
- containerProviders = new CopyOnWriteArrayList<ContainerProvider>();
+ containerProviders = new CopyOnWriteArrayList<>();
if (configuration != null)
configuration.destroy(); // let's destroy it first, before nulling it.
configuration = null;
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/impl/MockConfiguration.java b/core/src/main/java/com/opensymphony/xwork2/config/impl/MockConfiguration.java
index b21dc45..997c5f1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/impl/MockConfiguration.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/impl/MockConfiguration.java
@@ -21,7 +21,7 @@
import com.opensymphony.xwork2.config.*;
import com.opensymphony.xwork2.config.entities.PackageConfig;
import com.opensymphony.xwork2.config.entities.UnknownHandlerConfig;
-import com.opensymphony.xwork2.config.providers.XWorkConfigurationProvider;
+import com.opensymphony.xwork2.config.providers.StrutsDefaultConfigurationProvider;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.inject.Scope;
@@ -50,7 +50,7 @@
//this cannot be done in the constructor, as it causes an infinite loop
builder.factory(Configuration.class, MockConfiguration.class, Scope.SINGLETON);
LocatableProperties props = new LocatableProperties();
- new XWorkConfigurationProvider().register(builder, props);
+ new StrutsDefaultConfigurationProvider().register(builder, props);
builder.constant(StrutsConstants.STRUTS_DEVMODE, "false");
builder.constant(StrutsConstants.STRUTS_CONFIGURATION_XML_RELOAD, "true");
builder.constant(StrutsConstants.STRUTS_ENABLE_OGNL_EXPRESSION_CACHE, "true");
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/providers/XWorkConfigurationProvider.java b/core/src/main/java/com/opensymphony/xwork2/config/providers/StrutsDefaultConfigurationProvider.java
similarity index 99%
rename from core/src/main/java/com/opensymphony/xwork2/config/providers/XWorkConfigurationProvider.java
rename to core/src/main/java/com/opensymphony/xwork2/config/providers/StrutsDefaultConfigurationProvider.java
index 63d8fab..ccdb782 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/providers/XWorkConfigurationProvider.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/providers/StrutsDefaultConfigurationProvider.java
@@ -123,7 +123,7 @@
import java.util.Map;
import java.util.Set;
-public class XWorkConfigurationProvider implements ConfigurationProvider {
+public class StrutsDefaultConfigurationProvider implements ConfigurationProvider {
public void destroy() {
}
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 ce1587d..e02338f 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
@@ -72,6 +72,7 @@
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import java.util.Vector;
@@ -85,48 +86,36 @@
* @author Neo
* @version $Revision$
*/
-public class XmlConfigurationProvider implements ConfigurationProvider {
+public abstract class XmlConfigurationProvider implements ConfigurationProvider {
private static final Logger LOG = LogManager.getLogger(XmlConfigurationProvider.class);
+ private final String configFileName;
+ private final Set<String> loadedFileUrls = new HashSet<>();
+ private final Map<String, Element> declaredPackages = new HashMap<>();
+
private List<Document> documents;
private Set<String> includedFileNames;
- private String configFileName;
private ObjectFactory objectFactory;
- private final Set<String> loadedFileUrls = new HashSet<>();
- private boolean errorIfMissing;
- private Map<String, String> dtdMappings;
+ private Map<String, String> dtdMappings = new HashMap<>();
private Configuration configuration;
+
private boolean throwExceptionOnDuplicateBeans = true;
- private final Map<String, Element> declaredPackages = new HashMap<>();
private FileManager fileManager;
private ValueSubstitutor valueSubstitutor;
public XmlConfigurationProvider() {
- this("xwork.xml", true);
+ this("struts.xml", true);
}
public XmlConfigurationProvider(String filename) {
this(filename, true);
}
- public XmlConfigurationProvider(String filename, boolean errorIfMissing) {
+ public XmlConfigurationProvider(String filename, @Deprecated boolean notUsed) {
this.configFileName = filename;
- this.errorIfMissing = errorIfMissing;
-
- Map<String, String> mappings = new HashMap<>();
- mappings.put("-//Apache Struts//XWork 2.6//EN", "xwork-2.6.dtd");
- mappings.put("-//Apache Struts//XWork 2.5//EN", "xwork-2.5.dtd");
- mappings.put("-//Apache Struts//XWork 2.3//EN", "xwork-2.3.dtd");
- mappings.put("-//Apache Struts//XWork 2.1.3//EN", "xwork-2.1.3.dtd");
- mappings.put("-//Apache Struts//XWork 2.1//EN", "xwork-2.1.dtd");
- mappings.put("-//Apache Struts//XWork 2.0//EN", "xwork-2.0.dtd");
- mappings.put("-//Apache Struts//XWork 1.1.1//EN", "xwork-1.1.1.dtd");
- mappings.put("-//Apache Struts//XWork 1.1//EN", "xwork-1.1.dtd");
- mappings.put("-//Apache Struts//XWork 1.0//EN", "xwork-1.0.dtd");
- setDtdMappings(mappings);
}
public void setThrowExceptionOnDuplicateBeans(boolean val) {
@@ -182,11 +171,7 @@
final XmlConfigurationProvider xmlConfigurationProvider = (XmlConfigurationProvider) o;
- if ((configFileName != null) ? (!configFileName.equals(xmlConfigurationProvider.configFileName)) : (xmlConfigurationProvider.configFileName != null)) {
- return false;
- }
-
- return true;
+ return Objects.equals(configFileName, xmlConfigurationProvider.configFileName);
}
@Override
@@ -1078,12 +1063,8 @@
}
if (urls == null || !urls.hasNext()) {
- if (errorIfMissing) {
- throw new ConfigurationException("Could not open files of the name " + fileName, ioException);
- } else {
- LOG.trace("Unable to locate configuration files of the name {}, skipping", fileName);
- return docs;
- }
+ LOG.debug("Ignoring file that does not exist: " + fileName, ioException);
+ return docs;
}
URL url = null;
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/XWorkTestCaseHelper.java b/core/src/main/java/com/opensymphony/xwork2/util/XWorkTestCaseHelper.java
index bde73ca..e139f05 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/XWorkTestCaseHelper.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/XWorkTestCaseHelper.java
@@ -20,7 +20,7 @@
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.config.*;
-import com.opensymphony.xwork2.config.providers.XWorkConfigurationProvider;
+import com.opensymphony.xwork2.config.providers.StrutsDefaultConfigurationProvider;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.ContainerBuilder;
@@ -33,7 +33,7 @@
public static ConfigurationManager setUp() throws Exception {
ConfigurationManager configurationManager = new ConfigurationManager(Container.DEFAULT_NAME);
- configurationManager.addContainerProvider(new XWorkConfigurationProvider());
+ configurationManager.addContainerProvider(new StrutsDefaultConfigurationProvider());
Configuration config = configurationManager.getConfiguration();
Container container = config.getContainer();
@@ -62,7 +62,7 @@
}
});
- configurationManager.addContainerProvider(new XWorkConfigurationProvider());
+ configurationManager.addContainerProvider(new StrutsDefaultConfigurationProvider());
for (ConfigurationProvider prov : providers) {
if (prov instanceof XmlConfigurationProvider) {
((XmlConfigurationProvider)prov).setThrowExceptionOnDuplicateBeans(false);
diff --git a/core/src/main/java/org/apache/struts2/config/StrutsXmlConfigurationProvider.java b/core/src/main/java/org/apache/struts2/config/StrutsXmlConfigurationProvider.java
index 5f4bf9e..f876d06 100644
--- a/core/src/main/java/org/apache/struts2/config/StrutsXmlConfigurationProvider.java
+++ b/core/src/main/java/org/apache/struts2/config/StrutsXmlConfigurationProvider.java
@@ -51,11 +51,21 @@
*
* @param errorIfMissing If we should throw an exception if the file can't be found
*/
+ @Deprecated
public StrutsXmlConfigurationProvider(boolean errorIfMissing) {
this("struts.xml", errorIfMissing, null);
}
/**
+ * Constructs the configuration provider based on the provided config file
+ *
+ * @param filename file with Struts configuration
+ */
+ public StrutsXmlConfigurationProvider(String filename) {
+ this(filename, false, null);
+ }
+
+ /**
* Constructs the configuration provider
*
* @param filename The filename to look for
@@ -66,7 +76,7 @@
super(filename, errorIfMissing);
this.servletContext = ctx;
this.filename = filename;
- reloadKey = "configurationReload-"+filename;
+ reloadKey = "configurationReload-" + filename;
Map<String,String> dtdMappings = new HashMap<String,String>(getDtdMappings());
dtdMappings.put("-//Apache Software Foundation//DTD Struts Configuration 2.0//EN", "struts-2.0.dtd");
dtdMappings.put("-//Apache Software Foundation//DTD Struts Configuration 2.1//EN", "struts-2.1.dtd");
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
index eeb813f..8d7b5fb 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
@@ -446,7 +446,7 @@
String[] classes = configClasses.split("\\s*[,]\\s*");
for (String cname : classes) {
try {
- Class cls = ClassLoaderUtil.loadClass(cname, this.getClass());
+ Class<?> cls = ClassLoaderUtil.loadClass(cname, this.getClass());
StrutsJavaConfiguration config = (StrutsJavaConfiguration) cls.newInstance();
configurationManager.addContainerProvider(createJavaConfigurationProvider(config));
} catch (InstantiationException e) {
diff --git a/core/src/main/resources/struts-default.xml b/core/src/main/resources/struts-default.xml
index 8d30cf4..045d453 100644
--- a/core/src/main/resources/struts-default.xml
+++ b/core/src/main/resources/struts-default.xml
@@ -31,8 +31,8 @@
and {@link com.opensymphony.xwork2.inject.Inject}
-->
<!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
- "http://struts.apache.org/dtds/struts-2.5.dtd">
+ "-//Apache Software Foundation//DTD Struts Configuration 2.6//EN"
+ "http://struts.apache.org/dtds/struts-2.6.dtd">
<struts>
@@ -401,10 +401,10 @@
<interceptor-ref name="coepInterceptor">
<param name="enforcingMode">false</param>
<param name="disabled">false</param>
- <param name="exemptedPaths"></param>
+ <param name="exemptedPaths"/>
</interceptor-ref>
<interceptor-ref name="coopInterceptor">
- <param name="exemptedPaths"></param>
+ <param name="exemptedPaths"/>
<param name="mode">same-origin</param>
</interceptor-ref>
<interceptor-ref name="fetchMetadata"/>
diff --git a/core/src/main/resources/xwork-1.0.dtd b/core/src/main/resources/xwork-1.0.dtd
deleted file mode 100644
index 23661a1..0000000
--- a/core/src/main/resources/xwork-1.0.dtd
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<!--
- XWork Configuraion DTD.
- Use the following DOCTYPE.
-
- <!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.0//EN"
- "http://struts.apache.org/dtds/xwork-1.0.dtd">
--->
-
-<!ELEMENT xwork (package|include)*>
-
-<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, global-results?, action*)>
-<!ATTLIST package
- name CDATA #REQUIRED
- extends CDATA #IMPLIED
- namespace CDATA #IMPLIED
- abstract CDATA #IMPLIED
- externalReferenceResolver NMTOKEN #IMPLIED
->
-
-<!ELEMENT result-types (result-type+)>
-
-<!ELEMENT result-type (param*)>
-<!ATTLIST result-type
- name CDATA #REQUIRED
- class CDATA #REQUIRED
- default (true|false) "false"
->
-
-<!ELEMENT interceptors (interceptor|interceptor-stack)+>
-
-<!ELEMENT interceptor (param*)>
-<!ATTLIST interceptor
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-stack (interceptor-ref+)>
-<!ATTLIST interceptor-stack
- name CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-ref (param*)>
-<!ATTLIST interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-interceptor-ref (param*)>
-<!ATTLIST default-interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT external-ref (#PCDATA)>
-<!ATTLIST external-ref
- name NMTOKEN #REQUIRED
- required (true|false) "true"
->
-
-<!ELEMENT global-results (result+)>
-
-<!ELEMENT action (param|result|interceptor-ref|external-ref)*>
-<!ATTLIST action
-name CDATA #REQUIRED
- class CDATA #REQUIRED
- method CDATA #IMPLIED
- converter CDATA #IMPLIED
->
-
-<!ELEMENT param (#PCDATA)>
-<!ATTLIST param
- name CDATA #REQUIRED
->
-
-<!ELEMENT result (#PCDATA|param)*>
-<!ATTLIST result
- name CDATA #REQUIRED
- type CDATA #IMPLIED
->
-
-<!ELEMENT include (#PCDATA)>
-<!ATTLIST include
- file CDATA #REQUIRED
->
-
-
diff --git a/core/src/main/resources/xwork-1.1.1.dtd b/core/src/main/resources/xwork-1.1.1.dtd
deleted file mode 100644
index c8b01b4..0000000
--- a/core/src/main/resources/xwork-1.1.1.dtd
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<!-- START SNIPPET: xworkDtd -->
-
-<!--
- XWork configuration DTD.
- Use the following DOCTYPE
-
- <!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.0//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd">
--->
-
-<!ELEMENT xwork (package|include)*>
-
-<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, global-results?, global-exception-mappings?, action*)>
-<!ATTLIST package
- name CDATA #REQUIRED
- extends CDATA #IMPLIED
- namespace CDATA #IMPLIED
- abstract CDATA #IMPLIED
- externalReferenceResolver NMTOKEN #IMPLIED
->
-
-<!ELEMENT result-types (result-type+)>
-
-<!ELEMENT result-type (param*)>
-<!ATTLIST result-type
- name CDATA #REQUIRED
- class CDATA #REQUIRED
- default (true|false) "false"
->
-
-<!ELEMENT interceptors (interceptor|interceptor-stack)+>
-
-<!ELEMENT interceptor (param*)>
-<!ATTLIST interceptor
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-stack (interceptor-ref+)>
-<!ATTLIST interceptor-stack
- name CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-ref (param*)>
-<!ATTLIST interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-interceptor-ref (param*)>
-<!ATTLIST default-interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-action-ref (param*)>
-<!ATTLIST default-action-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT external-ref (#PCDATA)>
-<!ATTLIST external-ref
- name NMTOKEN #REQUIRED
- required (true|false) "true"
->
-
-<!ELEMENT global-results (result+)>
-
-<!ELEMENT global-exception-mappings (exception-mapping+)>
-
-<!ELEMENT action (param|result|interceptor-ref|exception-mapping|external-ref)*>
-<!ATTLIST action
- name CDATA #REQUIRED
- class CDATA #IMPLIED
- method CDATA #IMPLIED
- converter CDATA #IMPLIED
->
-
-<!ELEMENT param (#PCDATA)>
-<!ATTLIST param
- name CDATA #REQUIRED
->
-
-<!ELEMENT result (#PCDATA|param)*>
-<!ATTLIST result
- name CDATA #IMPLIED
- type CDATA #IMPLIED
->
-
-<!ELEMENT exception-mapping (#PCDATA|param)*>
-<!ATTLIST exception-mapping
- name CDATA #IMPLIED
- exception CDATA #REQUIRED
- result CDATA #REQUIRED
->
-
-<!ELEMENT include (#PCDATA)>
-<!ATTLIST include
- file CDATA #REQUIRED
->
-
-<!-- END SNIPPET: xworkDtd -->
-
diff --git a/core/src/main/resources/xwork-1.1.2.dtd b/core/src/main/resources/xwork-1.1.2.dtd
deleted file mode 100644
index 296c8a5..0000000
--- a/core/src/main/resources/xwork-1.1.2.dtd
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<!-- START SNIPPET: xworkDtd -->
-
-<!--
- XWork configuration DTD.
- Use the following DOCTYPE
-
- <!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.0//EN"
- "http://struts.apache.org/dtds/xwork-1.1.2.dtd">
--->
-
-<!ELEMENT xwork (parameters?, (package|include)*)>
-
-<!ELEMENT parameters (parameter*)>
-
-<!ELEMENT parameter (#PCDATA)>
-<!ATTLIST parameter
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, global-results?, global-exception-mappings?, action*)>
-<!ATTLIST package
- name CDATA #REQUIRED
- extends CDATA #IMPLIED
- namespace CDATA #IMPLIED
- abstract CDATA #IMPLIED
- externalReferenceResolver NMTOKEN #IMPLIED
->
-
-<!ELEMENT result-types (result-type+)>
-
-<!ELEMENT result-type (param*)>
-<!ATTLIST result-type
- name CDATA #REQUIRED
- class CDATA #REQUIRED
- default (true|false) "false"
->
-
-<!ELEMENT interceptors (interceptor|interceptor-stack)+>
-
-<!ELEMENT interceptor (param*)>
-<!ATTLIST interceptor
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-stack (interceptor-ref+)>
-<!ATTLIST interceptor-stack
- name CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-ref (param*)>
-<!ATTLIST interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-interceptor-ref (param*)>
-<!ATTLIST default-interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-action-ref (param*)>
-<!ATTLIST default-action-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT external-ref (#PCDATA)>
-<!ATTLIST external-ref
- name NMTOKEN #REQUIRED
- required (true|false) "true"
->
-
-<!ELEMENT global-results (result+)>
-
-<!ELEMENT global-exception-mappings (exception-mapping+)>
-
-<!ELEMENT action (param|result|interceptor-ref|exception-mapping|external-ref)*>
-<!ATTLIST action
- name CDATA #REQUIRED
- class CDATA #IMPLIED
- method CDATA #IMPLIED
- converter CDATA #IMPLIED
->
-
-<!ELEMENT param (#PCDATA)>
-<!ATTLIST param
- name CDATA #REQUIRED
->
-
-<!ELEMENT result (#PCDATA|param)*>
-<!ATTLIST result
- name CDATA #IMPLIED
- type CDATA #IMPLIED
->
-
-<!ELEMENT exception-mapping (#PCDATA|param)*>
-<!ATTLIST exception-mapping
- name CDATA #IMPLIED
- exception CDATA #REQUIRED
- result CDATA #REQUIRED
->
-
-<!ELEMENT include (#PCDATA)>
-<!ATTLIST include
- file CDATA #REQUIRED
->
-
-<!-- END SNIPPET: xworkDtd -->
-
diff --git a/core/src/main/resources/xwork-1.1.dtd b/core/src/main/resources/xwork-1.1.dtd
deleted file mode 100644
index f1fbfd7..0000000
--- a/core/src/main/resources/xwork-1.1.dtd
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<!--
- XWork configuration DTD.
- Use the following DOCTYPE
-
- <!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.0//EN"
- "http://struts.apache.org/dtds/xwork-1.1.dtd">
--->
-
-<!ELEMENT xwork (package|include)*>
-
-<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, global-results?, global-exception-mappings?, action*)>
-<!ATTLIST package
- name CDATA #REQUIRED
- extends CDATA #IMPLIED
- namespace CDATA #IMPLIED
- abstract CDATA #IMPLIED
- externalReferenceResolver NMTOKEN #IMPLIED
->
-
-<!ELEMENT result-types (result-type+)>
-
-<!ELEMENT result-type (param*)>
-<!ATTLIST result-type
- name CDATA #REQUIRED
- class CDATA #REQUIRED
- default (true|false) "false"
->
-
-<!ELEMENT interceptors (interceptor|interceptor-stack)+>
-
-<!ELEMENT interceptor (param*)>
-<!ATTLIST interceptor
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-stack (interceptor-ref+)>
-<!ATTLIST interceptor-stack
- name CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-ref (param*)>
-<!ATTLIST interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-interceptor-ref (param*)>
-<!ATTLIST default-interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT external-ref (#PCDATA)>
-<!ATTLIST external-ref
- name NMTOKEN #REQUIRED
- required (true|false) "true"
->
-
-<!ELEMENT global-results (result+)>
-
-<!ELEMENT global-exception-mappings (exception-mapping+)>
-
-<!ELEMENT action (param|result|interceptor-ref|exception-mapping|external-ref)*>
-<!ATTLIST action
- name CDATA #REQUIRED
- class CDATA #IMPLIED
- method CDATA #IMPLIED
- converter CDATA #IMPLIED
->
-
-<!ELEMENT param (#PCDATA)>
-<!ATTLIST param
- name CDATA #REQUIRED
->
-
-<!ELEMENT result (#PCDATA|param)*>
-<!ATTLIST result
- name CDATA #IMPLIED
- type CDATA #IMPLIED
->
-
-<!ELEMENT exception-mapping (#PCDATA|param)*>
-<!ATTLIST exception-mapping
- name CDATA #IMPLIED
- exception CDATA #REQUIRED
- result CDATA #REQUIRED
->
-
-<!ELEMENT include (#PCDATA)>
-<!ATTLIST include
- file CDATA #REQUIRED
->
-
-
diff --git a/core/src/main/resources/xwork-2.0.dtd b/core/src/main/resources/xwork-2.0.dtd
deleted file mode 100644
index c9c3b3b..0000000
--- a/core/src/main/resources/xwork-2.0.dtd
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<!-- START SNIPPET: xworkDtd -->
-
-<!--
- XWork configuration DTD.
- Use the following DOCTYPE
-
- <!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd">
--->
-
-<!ELEMENT xwork (package|include|bean|constant)*>
-
-<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)>
-<!ATTLIST package
- name CDATA #REQUIRED
- extends CDATA #IMPLIED
- namespace CDATA #IMPLIED
- abstract CDATA #IMPLIED
->
-
-<!ELEMENT result-types (result-type+)>
-
-<!ELEMENT result-type (param*)>
-<!ATTLIST result-type
- name CDATA #REQUIRED
- class CDATA #REQUIRED
- default (true|false) "false"
->
-
-<!ELEMENT interceptors (interceptor|interceptor-stack)+>
-
-<!ELEMENT interceptor (param*)>
-<!ATTLIST interceptor
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-stack (interceptor-ref*)>
-<!ATTLIST interceptor-stack
- name CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-ref (param*)>
-<!ATTLIST interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-interceptor-ref (#PCDATA)>
-<!ATTLIST default-interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-action-ref (#PCDATA)>
-<!ATTLIST default-action-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-class-ref (#PCDATA)>
-<!ATTLIST default-class-ref
- class CDATA #REQUIRED
->
-
-<!ELEMENT global-results (result+)>
-
-<!ELEMENT global-exception-mappings (exception-mapping+)>
-
-<!ELEMENT action (param|result|interceptor-ref|exception-mapping)*>
-<!ATTLIST action
- name CDATA #REQUIRED
- class CDATA #IMPLIED
- method CDATA #IMPLIED
- converter CDATA #IMPLIED
->
-
-<!ELEMENT param (#PCDATA)>
-<!ATTLIST param
- name CDATA #REQUIRED
->
-
-<!ELEMENT result (#PCDATA|param)*>
-<!ATTLIST result
- name CDATA #IMPLIED
- type CDATA #IMPLIED
->
-
-<!ELEMENT exception-mapping (#PCDATA|param)*>
-<!ATTLIST exception-mapping
- name CDATA #IMPLIED
- exception CDATA #REQUIRED
- result CDATA #REQUIRED
->
-
-<!ELEMENT include (#PCDATA)>
-<!ATTLIST include
- file CDATA #REQUIRED
->
-
-<!ELEMENT bean (#PCDATA)>
-<!ATTLIST bean
- type CDATA #IMPLIED
- name CDATA #IMPLIED
- class CDATA #REQUIRED
- scope CDATA #IMPLIED
- static CDATA #IMPLIED
- optional CDATA #IMPLIED
->
-
-<!ELEMENT constant (#PCDATA)>
-<!ATTLIST constant
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-<!-- END SNIPPET: xworkDtd -->
-
diff --git a/core/src/main/resources/xwork-2.1.3.dtd b/core/src/main/resources/xwork-2.1.3.dtd
deleted file mode 100644
index bce8e23..0000000
--- a/core/src/main/resources/xwork-2.1.3.dtd
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<!-- START SNIPPET: xworkDtd -->
-
-<!--
- XWork configuration DTD.
- Use the following DOCTYPE
-
- <!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.1.3//EN"
- "http://struts.apache.org/dtds/xwork-2.1.3.dtd">
--->
-
-<!ELEMENT xwork ((package|include|bean|constant)*, unknown-handler-stack?)>
-<!ATTLIST xwork
- order CDATA #IMPLIED
->
-
-<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)>
-<!ATTLIST package
- name CDATA #REQUIRED
- extends CDATA #IMPLIED
- namespace CDATA #IMPLIED
- abstract CDATA #IMPLIED
->
-
-<!ELEMENT result-types (result-type+)>
-
-<!ELEMENT result-type (param*)>
-<!ATTLIST result-type
- name CDATA #REQUIRED
- class CDATA #REQUIRED
- default (true|false) "false"
->
-
-<!ELEMENT interceptors (interceptor|interceptor-stack)+>
-
-<!ELEMENT interceptor (param*)>
-<!ATTLIST interceptor
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-stack (interceptor-ref*)>
-<!ATTLIST interceptor-stack
- name CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-ref (param*)>
-<!ATTLIST interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-interceptor-ref (#PCDATA)>
-<!ATTLIST default-interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-action-ref (#PCDATA)>
-<!ATTLIST default-action-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-class-ref (#PCDATA)>
-<!ATTLIST default-class-ref
- class CDATA #REQUIRED
->
-
-<!ELEMENT global-results (result+)>
-
-<!ELEMENT global-exception-mappings (exception-mapping+)>
-
-<!ELEMENT action (param|result|interceptor-ref|exception-mapping)*>
-<!ATTLIST action
- name CDATA #REQUIRED
- class CDATA #IMPLIED
- method CDATA #IMPLIED
- converter CDATA #IMPLIED
->
-
-<!ELEMENT param (#PCDATA)>
-<!ATTLIST param
- name CDATA #REQUIRED
->
-
-<!ELEMENT result (#PCDATA|param)*>
-<!ATTLIST result
- name CDATA #IMPLIED
- type CDATA #IMPLIED
->
-
-<!ELEMENT exception-mapping (#PCDATA|param)*>
-<!ATTLIST exception-mapping
- name CDATA #IMPLIED
- exception CDATA #REQUIRED
- result CDATA #REQUIRED
->
-
-<!ELEMENT include (#PCDATA)>
-<!ATTLIST include
- file CDATA #REQUIRED
->
-
-<!ELEMENT bean (#PCDATA)>
-<!ATTLIST bean
- type CDATA #IMPLIED
- name CDATA #IMPLIED
- class CDATA #REQUIRED
- scope CDATA #IMPLIED
- static CDATA #IMPLIED
- optional CDATA #IMPLIED
->
-
-<!ELEMENT constant (#PCDATA)>
-<!ATTLIST constant
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-<!ELEMENT unknown-handler-stack (unknown-handler-ref*)>
-<!ELEMENT unknown-handler-ref (#PCDATA)>
-<!ATTLIST unknown-handler-ref
- name CDATA #REQUIRED
->
-
-<!-- END SNIPPET: xworkDtd -->
-
diff --git a/core/src/main/resources/xwork-2.1.dtd b/core/src/main/resources/xwork-2.1.dtd
deleted file mode 100644
index 40db431..0000000
--- a/core/src/main/resources/xwork-2.1.dtd
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<!-- START SNIPPET: xworkDtd -->
-
-<!--
- XWork configuration DTD.
- Use the following DOCTYPE
-
- <!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.1//EN"
- "http://struts.apache.org/dtds/xwork-2.1.dtd">
--->
-
-<!ELEMENT xwork ((package|include|bean|constant)*, unknown-handler-stack?)>
-
-<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)>
-<!ATTLIST package
- name CDATA #REQUIRED
- extends CDATA #IMPLIED
- namespace CDATA #IMPLIED
- abstract CDATA #IMPLIED
->
-
-<!ELEMENT result-types (result-type+)>
-
-<!ELEMENT result-type (param*)>
-<!ATTLIST result-type
- name CDATA #REQUIRED
- class CDATA #REQUIRED
- default (true|false) "false"
->
-
-<!ELEMENT interceptors (interceptor|interceptor-stack)+>
-
-<!ELEMENT interceptor (param*)>
-<!ATTLIST interceptor
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-stack (interceptor-ref*)>
-<!ATTLIST interceptor-stack
- name CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-ref (param*)>
-<!ATTLIST interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-interceptor-ref (#PCDATA)>
-<!ATTLIST default-interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-action-ref (#PCDATA)>
-<!ATTLIST default-action-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-class-ref (#PCDATA)>
-<!ATTLIST default-class-ref
- class CDATA #REQUIRED
->
-
-<!ELEMENT global-results (result+)>
-
-<!ELEMENT global-exception-mappings (exception-mapping+)>
-
-<!ELEMENT action (param|result|interceptor-ref|exception-mapping)*>
-<!ATTLIST action
- name CDATA #REQUIRED
- class CDATA #IMPLIED
- method CDATA #IMPLIED
- converter CDATA #IMPLIED
->
-
-<!ELEMENT param (#PCDATA)>
-<!ATTLIST param
- name CDATA #REQUIRED
->
-
-<!ELEMENT result (#PCDATA|param)*>
-<!ATTLIST result
- name CDATA #IMPLIED
- type CDATA #IMPLIED
->
-
-<!ELEMENT exception-mapping (#PCDATA|param)*>
-<!ATTLIST exception-mapping
- name CDATA #IMPLIED
- exception CDATA #REQUIRED
- result CDATA #REQUIRED
->
-
-<!ELEMENT include (#PCDATA)>
-<!ATTLIST include
- file CDATA #REQUIRED
->
-
-<!ELEMENT bean (#PCDATA)>
-<!ATTLIST bean
- type CDATA #IMPLIED
- name CDATA #IMPLIED
- class CDATA #REQUIRED
- scope CDATA #IMPLIED
- static CDATA #IMPLIED
- optional CDATA #IMPLIED
->
-
-<!ELEMENT constant (#PCDATA)>
-<!ATTLIST constant
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-<!ELEMENT unknown-handler-stack (unknown-handler-ref*)>
-<!ELEMENT unknown-handler-ref (#PCDATA)>
-<!ATTLIST unknown-handler-ref
- name CDATA #REQUIRED
->
-
-<!-- END SNIPPET: xworkDtd -->
-
diff --git a/core/src/main/resources/xwork-2.3.dtd b/core/src/main/resources/xwork-2.3.dtd
deleted file mode 100644
index 2a81073..0000000
--- a/core/src/main/resources/xwork-2.3.dtd
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<!-- START SNIPPET: xworkDtd -->
-
-<!--
- XWork configuration DTD.
- Use the following DOCTYPE
-
- <!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.3//EN"
- "http://struts.apache.org/dtds/xwork-2.3.dtd">
--->
-
-<!ELEMENT xwork ((package|include|bean|constant)*, unknown-handler-stack?)>
-<!ATTLIST xwork
- order CDATA #IMPLIED
->
-
-<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)>
-<!ATTLIST package
- name CDATA #REQUIRED
- extends CDATA #IMPLIED
- namespace CDATA #IMPLIED
- abstract CDATA #IMPLIED
- strict-method-invocation CDATA #IMPLIED
->
-
-<!ELEMENT result-types (result-type+)>
-
-<!ELEMENT result-type (param*)>
-<!ATTLIST result-type
- name CDATA #REQUIRED
- class CDATA #REQUIRED
- default (true|false) "false"
->
-
-<!ELEMENT interceptors (interceptor|interceptor-stack)+>
-
-<!ELEMENT interceptor (param*)>
-<!ATTLIST interceptor
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-stack (interceptor-ref*)>
-<!ATTLIST interceptor-stack
- name CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-ref (param*)>
-<!ATTLIST interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-interceptor-ref (#PCDATA)>
-<!ATTLIST default-interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-action-ref (#PCDATA)>
-<!ATTLIST default-action-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-class-ref (#PCDATA)>
-<!ATTLIST default-class-ref
- class CDATA #REQUIRED
->
-
-<!ELEMENT global-results (result+)>
-
-<!ELEMENT global-exception-mappings (exception-mapping+)>
-
-<!ELEMENT action ((param|result|interceptor-ref|exception-mapping)*,allowed-methods?)>
-<!ATTLIST action
- name CDATA #REQUIRED
- class CDATA #IMPLIED
- method CDATA #IMPLIED
- converter CDATA #IMPLIED
->
-
-<!ELEMENT param (#PCDATA)>
-<!ATTLIST param
- name CDATA #REQUIRED
->
-
-<!ELEMENT result (#PCDATA|param)*>
-<!ATTLIST result
- name CDATA #IMPLIED
- type CDATA #IMPLIED
->
-
-<!ELEMENT exception-mapping (#PCDATA|param)*>
-<!ATTLIST exception-mapping
- name CDATA #IMPLIED
- exception CDATA #REQUIRED
- result CDATA #REQUIRED
->
-
-<!ELEMENT allowed-methods (#PCDATA)>
-
-<!ELEMENT include (#PCDATA)>
-<!ATTLIST include
- file CDATA #REQUIRED
->
-
-<!ELEMENT bean (#PCDATA)>
-<!ATTLIST bean
- type CDATA #IMPLIED
- name CDATA #IMPLIED
- class CDATA #REQUIRED
- scope CDATA #IMPLIED
- static CDATA #IMPLIED
- optional CDATA #IMPLIED
->
-
-<!ELEMENT constant (#PCDATA)>
-<!ATTLIST constant
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-<!ELEMENT unknown-handler-stack (unknown-handler-ref*)>
-<!ELEMENT unknown-handler-ref (#PCDATA)>
-<!ATTLIST unknown-handler-ref
- name CDATA #REQUIRED
->
-
-<!-- END SNIPPET: xworkDtd -->
-
diff --git a/core/src/main/resources/xwork-2.5.dtd b/core/src/main/resources/xwork-2.5.dtd
deleted file mode 100644
index 4d61e8a..0000000
--- a/core/src/main/resources/xwork-2.5.dtd
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<!-- START SNIPPET: xworkDtd -->
-
-<!--
- XWork configuration DTD.
- Use the following DOCTYPE
-
- <!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.5//EN"
- "http://struts.apache.org/dtds/xwork-2.5.dtd">
--->
-
-<!ELEMENT xwork ((package|include|bean|constant)*, unknown-handler-stack?)>
-<!ATTLIST xwork
- order CDATA #IMPLIED
->
-
-<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-allowed-methods?, global-exception-mappings?, action*)>
-<!ATTLIST package
- name CDATA #REQUIRED
- extends CDATA #IMPLIED
- namespace CDATA #IMPLIED
- abstract CDATA #IMPLIED
- strict-method-invocation (true|false) "true"
->
-
-<!ELEMENT result-types (result-type+)>
-
-<!ELEMENT result-type (param*)>
-<!ATTLIST result-type
- name CDATA #REQUIRED
- class CDATA #REQUIRED
- default (true|false) "false"
->
-
-<!ELEMENT interceptors (interceptor|interceptor-stack)+>
-
-<!ELEMENT interceptor (param*)>
-<!ATTLIST interceptor
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-stack (interceptor-ref*)>
-<!ATTLIST interceptor-stack
- name CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-ref (param*)>
-<!ATTLIST interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-interceptor-ref (#PCDATA)>
-<!ATTLIST default-interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-action-ref (#PCDATA)>
-<!ATTLIST default-action-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-class-ref (#PCDATA)>
-<!ATTLIST default-class-ref
- class CDATA #REQUIRED
->
-
-<!ELEMENT global-results (result+)>
-
-<!ELEMENT global-allowed-methods (#PCDATA)>
-
-<!ELEMENT global-exception-mappings (exception-mapping+)>
-
-<!ELEMENT action ((param|result|interceptor-ref|exception-mapping)*,allowed-methods?)>
-<!ATTLIST action
- name CDATA #REQUIRED
- class CDATA #IMPLIED
- method CDATA #IMPLIED
- converter CDATA #IMPLIED
->
-
-<!ELEMENT param (#PCDATA)>
-<!ATTLIST param
- name CDATA #REQUIRED
->
-
-<!ELEMENT result (#PCDATA|param)*>
-<!ATTLIST result
- name CDATA #IMPLIED
- type CDATA #IMPLIED
->
-
-<!ELEMENT exception-mapping (#PCDATA|param)*>
-<!ATTLIST exception-mapping
- name CDATA #IMPLIED
- exception CDATA #REQUIRED
- result CDATA #REQUIRED
->
-
-<!ELEMENT allowed-methods (#PCDATA)>
-
-<!ELEMENT include (#PCDATA)>
-<!ATTLIST include
- file CDATA #REQUIRED
->
-
-<!ELEMENT bean (#PCDATA)>
-<!ATTLIST bean
- type CDATA #IMPLIED
- name CDATA #IMPLIED
- class CDATA #REQUIRED
- scope CDATA #IMPLIED
- static CDATA #IMPLIED
- optional CDATA #IMPLIED
->
-
-<!ELEMENT constant (#PCDATA)>
-<!ATTLIST constant
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-<!ELEMENT unknown-handler-stack (unknown-handler-ref*)>
-<!ELEMENT unknown-handler-ref (#PCDATA)>
-<!ATTLIST unknown-handler-ref
- name CDATA #REQUIRED
->
-
-<!-- END SNIPPET: xworkDtd -->
-
diff --git a/core/src/main/resources/xwork-2.6.dtd b/core/src/main/resources/xwork-2.6.dtd
deleted file mode 100644
index ba6dddf..0000000
--- a/core/src/main/resources/xwork-2.6.dtd
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<!-- START SNIPPET: xworkDtd -->
-
-<!--
- XWork configuration DTD.
- Use the following DOCTYPE
-
- <!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.6//EN"
- "http://struts.apache.org/dtds/xwork-2.6.dtd">
--->
-
-<!ELEMENT xwork ((package|include|bean|constant)*, bean-selection?, unknown-handler-stack?)>
-<!ATTLIST xwork
- order CDATA #IMPLIED
->
-
-<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-allowed-methods?, global-exception-mappings?, action*)>
-<!ATTLIST package
- name CDATA #REQUIRED
- extends CDATA #IMPLIED
- namespace CDATA #IMPLIED
- abstract CDATA #IMPLIED
- strict-method-invocation (true|false) "true"
->
-
-<!ELEMENT result-types (result-type+)>
-
-<!ELEMENT result-type (param*)>
-<!ATTLIST result-type
- name CDATA #REQUIRED
- class CDATA #REQUIRED
- default (true|false) "false"
->
-
-<!ELEMENT interceptors (interceptor|interceptor-stack)+>
-
-<!ELEMENT interceptor (param*)>
-<!ATTLIST interceptor
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-stack (interceptor-ref*)>
-<!ATTLIST interceptor-stack
- name CDATA #REQUIRED
->
-
-<!ELEMENT interceptor-ref (param*)>
-<!ATTLIST interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-interceptor-ref (#PCDATA)>
-<!ATTLIST default-interceptor-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-action-ref (#PCDATA)>
-<!ATTLIST default-action-ref
- name CDATA #REQUIRED
->
-
-<!ELEMENT default-class-ref (#PCDATA)>
-<!ATTLIST default-class-ref
- class CDATA #REQUIRED
->
-
-<!ELEMENT global-results (result+)>
-
-<!ELEMENT global-allowed-methods (#PCDATA)>
-
-<!ELEMENT global-exception-mappings (exception-mapping+)>
-
-<!ELEMENT action ((param|result|interceptor-ref|exception-mapping)*,allowed-methods?)>
-<!ATTLIST action
- name CDATA #REQUIRED
- class CDATA #IMPLIED
- method CDATA #IMPLIED
- converter CDATA #IMPLIED
->
-
-<!ELEMENT param (#PCDATA)>
-<!ATTLIST param
- name CDATA #REQUIRED
->
-
-<!ELEMENT result (#PCDATA|param)*>
-<!ATTLIST result
- name CDATA #IMPLIED
- type CDATA #IMPLIED
->
-
-<!ELEMENT exception-mapping (#PCDATA|param)*>
-<!ATTLIST exception-mapping
- name CDATA #IMPLIED
- exception CDATA #REQUIRED
- result CDATA #REQUIRED
->
-
-<!ELEMENT allowed-methods (#PCDATA)>
-
-<!ELEMENT include (#PCDATA)>
-<!ATTLIST include
- file CDATA #REQUIRED
->
-
-<!ELEMENT bean (#PCDATA)>
-<!ATTLIST bean
- type CDATA #IMPLIED
- name CDATA #IMPLIED
- class CDATA #REQUIRED
- scope CDATA #IMPLIED
- static CDATA #IMPLIED
- optional CDATA #IMPLIED
->
-
-<!ELEMENT bean-selection (#PCDATA)>
-<!ATTLIST bean-selection
- name CDATA #IMPLIED
- class CDATA #IMPLIED
->
-
-<!ELEMENT constant (#PCDATA)>
-<!ATTLIST constant
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-<!ELEMENT unknown-handler-stack (unknown-handler-ref*)>
-<!ELEMENT unknown-handler-ref (#PCDATA)>
-<!ATTLIST unknown-handler-ref
- name CDATA #REQUIRED
->
-
-<!-- END SNIPPET: xworkDtd -->
-
diff --git a/core/src/main/resources/xwork-default.xml b/core/src/main/resources/xwork-default.xml
index 9e7f68d..fcdcb5f 100644
--- a/core/src/main/resources/xwork-default.xml
+++ b/core/src/main/resources/xwork-default.xml
@@ -19,11 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd">
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<package name="xwork-default" abstract="true">
<!-- START SNIPPET: xwork2-default-result-types -->
@@ -84,4 +83,4 @@
<default-class-ref class="com.opensymphony.xwork2.ActionSupport"/>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/java/com/opensymphony/xwork2/ActionInvocationTest.java b/core/src/test/java/com/opensymphony/xwork2/ActionInvocationTest.java
index ce93c3f..e0f13c4 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ActionInvocationTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ActionInvocationTest.java
@@ -20,9 +20,10 @@
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
-import org.apache.struts2.StrutsException;
-import org.apache.struts2.dispatcher.HttpParameters;
import com.opensymphony.xwork2.mock.MockResult;
+import org.apache.struts2.StrutsException;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
+import org.apache.struts2.dispatcher.HttpParameters;
import java.util.HashMap;
@@ -34,38 +35,40 @@
public void testCommandInvocation() throws Exception {
ActionProxy baseActionProxy = actionProxyFactory.createActionProxy(
- "baz", "commandTest", null, null);
+ "baz", "commandTest", null, null);
assertEquals("success", baseActionProxy.execute());
ActionProxy commandActionProxy = actionProxyFactory.createActionProxy(
- "baz", "myCommand", null, null);
+ "baz", "myCommand", null, null);
assertEquals(SimpleAction.COMMAND_RETURN_CODE, commandActionProxy.execute());
}
public void testCommandInvocationDoMethod() throws Exception {
ActionProxy baseActionProxy = actionProxyFactory.createActionProxy(
- "baz", "doMethodTest", null, null);
+ "baz", "doMethodTest", null, null);
assertEquals("input", baseActionProxy.execute());
}
public void testCommandInvocationUnknownHandler() throws Exception {
UnknownHandler unknownHandler = new UnknownHandler() {
- public ActionConfig handleUnknownAction(String namespace, String actionName) throws StrutsException {
+ public ActionConfig handleUnknownAction(String namespace, String actionName) throws StrutsException {
return new ActionConfig.Builder("test", actionName, ActionSupport.class.getName())
- .addAllowedMethod("unknownmethod")
- .build();
+ .addAllowedMethod("unknownmethod")
+ .build();
}
- public Result handleUnknownResult(ActionContext actionContext, String actionName, ActionConfig actionConfig, String resultCode) throws StrutsException {
- return new MockResult();
- }
- public Object handleUnknownActionMethod(Object action, String methodName) {
- if (methodName.equals("unknownmethod")) {
- return "found";
- } else {
- return null;
- }
- }
+
+ public Result handleUnknownResult(ActionContext actionContext, String actionName, ActionConfig actionConfig, String resultCode) throws StrutsException {
+ return new MockResult();
+ }
+
+ public Object handleUnknownActionMethod(Object action, String methodName) {
+ if (methodName.equals("unknownmethod")) {
+ return "found";
+ } else {
+ return null;
+ }
+ }
};
UnknownHandlerManagerMock uhm = new UnknownHandlerManagerMock();
@@ -74,16 +77,16 @@
loadButAdd(UnknownHandlerManager.class, uhm);
DefaultActionProxy baseActionProxy = (DefaultActionProxy) actionProxyFactory.createActionProxy(
- "baz", "unknownMethodTest", "unknownmethod", null);
+ "baz", "unknownMethodTest", "unknownmethod", null);
- ((DefaultActionInvocation)baseActionProxy.getInvocation()).setUnknownHandlerManager(uhm);
+ ((DefaultActionInvocation) baseActionProxy.getInvocation()).setUnknownHandlerManager(uhm);
assertEquals("found", baseActionProxy.execute());
}
public void testResultReturnInvocationAndWired() throws Exception {
ActionProxy baseActionProxy = actionProxyFactory.createActionProxy(
- "baz", "resultAction", null, null);
+ "baz", "resultAction", null, null);
assertNull(baseActionProxy.execute());
assertTrue(SimpleAction.resultCalled);
}
@@ -96,7 +99,7 @@
extraContext.put(ActionContext.PARAMETERS, HttpParameters.create(params).build());
try {
- ActionProxy proxy = actionProxyFactory.createActionProxy( "", "Foo", null, extraContext);
+ ActionProxy proxy = actionProxyFactory.createActionProxy("", "Foo", null, extraContext);
proxy.execute();
assertEquals("this is blah", proxy.getInvocation().getStack().findValue("[1].blah"));
} catch (Exception e) {
@@ -105,11 +108,12 @@
}
}
- @Override protected void setUp() throws Exception {
+ @Override
+ protected void setUp() throws Exception {
super.setUp();
// ensure we're using the default configuration, not simple config
- XmlConfigurationProvider configurationProvider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider configurationProvider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(configurationProvider);
loadConfigurationProviders(configurationProvider);
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/ChainResultTest.java b/core/src/test/java/com/opensymphony/xwork2/ChainResultTest.java
index f806caf..84fa0af 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ChainResultTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ChainResultTest.java
@@ -23,6 +23,7 @@
import com.opensymphony.xwork2.util.ValueStack;
import junit.framework.TestCase;
import org.apache.struts2.StrutsException;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import java.util.HashMap;
import java.util.Map;
@@ -38,7 +39,7 @@
super.setUp();
// ensure we're using the default configuration, not simple config
- XmlConfigurationProvider configurationProvider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider configurationProvider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(configurationProvider);
loadConfigurationProviders(configurationProvider);
}
@@ -124,9 +125,9 @@
}
private class NamespaceActionNameTestActionProxyFactory implements ActionProxyFactory {
- private ActionProxy returnVal;
- private String expectedActionName;
- private String expectedNamespace;
+ private final ActionProxy returnVal;
+ private final String expectedActionName;
+ private final String expectedNamespace;
NamespaceActionNameTestActionProxyFactory(String expectedNamespace, String expectedActionName, ActionProxy returnVal) {
this.expectedNamespace = expectedNamespace;
@@ -156,14 +157,14 @@
}
public ActionProxy createActionProxy(String namespace, String actionName, String methodName, Map<String, Object> extraContext, boolean executeResult, boolean cleanupContext) {
- TestCase.assertEquals(expectedNamespace, namespace);
+ TestCase.assertEquals(expectedNamespace, namespace);
TestCase.assertEquals(expectedActionName, actionName);
return returnVal;
}
public ActionProxy createActionProxy(ActionInvocation actionInvocation, String namespace, String actionName, String methodName, boolean executeResult, boolean cleanupContext) {
- TestCase.assertEquals(expectedNamespace, namespace);
+ TestCase.assertEquals(expectedNamespace, namespace);
TestCase.assertEquals(expectedActionName, actionName);
return returnVal;
@@ -177,7 +178,7 @@
}
public ActionProxy createActionProxy(ActionInvocation inv, String namespace, String actionName,
- Map<String, Object> extraContext, boolean executeResult, boolean cleanupContext) throws Exception {
+ Map<String, Object> extraContext, boolean executeResult, boolean cleanupContext) throws Exception {
return null;
}
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/DefaultActionInvocationTest.java b/core/src/test/java/com/opensymphony/xwork2/DefaultActionInvocationTest.java
index fc5e2c2..a0d53c9 100644
--- a/core/src/test/java/com/opensymphony/xwork2/DefaultActionInvocationTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/DefaultActionInvocationTest.java
@@ -29,6 +29,7 @@
import com.opensymphony.xwork2.ognl.OgnlUtil;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
import java.util.ArrayList;
@@ -304,7 +305,7 @@
DefaultActionInvocation defaultActionInvocation = new DefaultActionInvocation(extraContext, true);
container.inject(defaultActionInvocation);
- ActionProxy actionProxy = actionProxyFactory.createActionProxy( "", "LazyFoo", null, extraContext);
+ ActionProxy actionProxy = actionProxyFactory.createActionProxy("", "LazyFoo", null, extraContext);
defaultActionInvocation.init(actionProxy);
defaultActionInvocation.invoke();
@@ -322,6 +323,7 @@
lock.acquire();
dai.setAsyncManager(new AsyncManager() {
Object asyncActionResult;
+
@Override
public boolean hasAsyncActionResult() {
return asyncActionResult != null;
@@ -384,7 +386,7 @@
assertFalse("invocation should not be executed", dai.executed);
assertNull("a null result should be passed to upper and wait for the async result", dai.resultCode);
- if(lock.tryAcquire(1500L, TimeUnit.MILLISECONDS)) {
+ if (lock.tryAcquire(1500L, TimeUnit.MILLISECONDS)) {
try {
dai.invoke();
assertTrue("preResultListener should be executed", preResultExecuted[0]);
@@ -402,7 +404,7 @@
public void testActionEventListener() throws Exception {
ActionProxy actionProxy = actionProxyFactory.createActionProxy("",
- "ExceptionFoo", "exceptionMethod", new HashMap<String, Object>());
+ "ExceptionFoo", "exceptionMethod", new HashMap<String, Object>());
DefaultActionInvocation defaultActionInvocation = (DefaultActionInvocation) actionProxy.getInvocation();
SimpleActionEventListener actionEventListener = new SimpleActionEventListener("prepared", "exceptionHandled");
@@ -428,7 +430,7 @@
public void testActionChainResult() throws Exception {
ActionProxy actionProxy = actionProxyFactory.createActionProxy("", "Foo", null,
- new HashMap<String, Object>());
+ new HashMap<String, Object>());
DefaultActionInvocation defaultActionInvocation = (DefaultActionInvocation) actionProxy.getInvocation();
defaultActionInvocation.init(actionProxy);
@@ -446,7 +448,7 @@
public void testNoResultDefined() throws Exception {
ActionProxy actionProxy = actionProxyFactory.createActionProxy("", "Foo", null,
- new HashMap<String, Object>());
+ new HashMap<String, Object>());
DefaultActionInvocation defaultActionInvocation = (DefaultActionInvocation) actionProxy.getInvocation();
defaultActionInvocation.init(actionProxy);
@@ -459,7 +461,7 @@
public void testNullResultPossible() throws Exception {
ActionProxy actionProxy = actionProxyFactory.createActionProxy("",
- "NullFoo", "nullMethod", new HashMap<String, Object>());
+ "NullFoo", "nullMethod", new HashMap<String, Object>());
DefaultActionInvocation defaultActionInvocation = (DefaultActionInvocation) actionProxy.getInvocation();
defaultActionInvocation.init(actionProxy);
@@ -473,7 +475,7 @@
super.setUp();
// ensure we're using the default configuration, not simple config
- XmlConfigurationProvider configurationProvider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider configurationProvider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(configurationProvider);
loadConfigurationProviders(configurationProvider);
}
@@ -481,8 +483,8 @@
private class SimpleActionEventListener implements ActionEventListener {
- private String name;
- private String result;
+ private final String name;
+ private final String result;
SimpleActionEventListener(String name, String result) {
@@ -492,7 +494,7 @@
@Override
public Object prepare(Object action, ValueStack stack) {
- ((SimpleAction)action).setName(name);
+ ((SimpleAction) action).setName(name);
return action;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/DefaultActionProxyTest.java b/core/src/test/java/com/opensymphony/xwork2/DefaultActionProxyTest.java
index c305997..125c5b4 100644
--- a/core/src/test/java/com/opensymphony/xwork2/DefaultActionProxyTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/DefaultActionProxyTest.java
@@ -18,9 +18,9 @@
*/
package com.opensymphony.xwork2;
-import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.mock.MockActionInvocation;
import org.apache.struts2.StrutsInternalTestCase;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.junit.Test;
public class DefaultActionProxyTest extends StrutsInternalTestCase {
@@ -28,7 +28,7 @@
@Test
public void testThorwExceptionOnNotAllowedMethod() throws Exception {
final String filename = "com/opensymphony/xwork2/config/providers/xwork-test-allowed-methods.xml";
- loadConfigurationProviders(new XmlConfigurationProvider(filename));
+ loadConfigurationProviders(new StrutsXmlConfigurationProvider(filename));
DefaultActionProxy dap = new DefaultActionProxy(new MockActionInvocation(), "strict", "Default", "notAllowed", true, true);
container.inject(dap);
diff --git a/core/src/test/java/com/opensymphony/xwork2/DefaultClasstTest.java b/core/src/test/java/com/opensymphony/xwork2/DefaultClasstTest.java
index 1472fff..a8d6e73 100644
--- a/core/src/test/java/com/opensymphony/xwork2/DefaultClasstTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/DefaultClasstTest.java
@@ -19,6 +19,7 @@
package com.opensymphony.xwork2;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
/**
* <code>WildCardResultTest</code>
@@ -33,7 +34,7 @@
super.setUp();
// ensure we're using the default configuration, not simple config
- XmlConfigurationProvider configurationProvider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider configurationProvider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(configurationProvider);
loadConfigurationProviders(configurationProvider);
}
@@ -41,20 +42,20 @@
public void testWildCardEvaluation() throws Exception {
ActionProxy proxy = actionProxyFactory.createActionProxy("Abstract-crud", "edit", null, null);
assertEquals("com.opensymphony.xwork2.SimpleAction", proxy.getConfig().getClassName());
-
+
proxy = actionProxyFactory.createActionProxy("/example", "edit", null, null);
assertEquals("com.opensymphony.xwork2.ModelDrivenAction", proxy.getConfig().getClassName());
-
+
proxy = actionProxyFactory.createActionProxy("/example2", "override", null, null);
assertEquals("com.opensymphony.xwork2.ModelDrivenAction", proxy.getConfig().getClassName());
-
+
proxy = actionProxyFactory.createActionProxy("/example2/subItem", "save", null, null);
assertEquals("com.opensymphony.xwork2.ModelDrivenAction", proxy.getConfig().getClassName());
-
+
proxy = actionProxyFactory.createActionProxy("/example2", "list", null, null);
assertEquals("com.opensymphony.xwork2.ModelDrivenAction", proxy.getConfig().getClassName());
-
+
proxy = actionProxyFactory.createActionProxy("/example3", "list", null, null);
assertEquals("com.opensymphony.xwork2.SimpleAction", proxy.getConfig().getClassName());
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/LocaleAwareTest.java b/core/src/test/java/com/opensymphony/xwork2/LocaleAwareTest.java
index f7c9506..bb77cab 100644
--- a/core/src/test/java/com/opensymphony/xwork2/LocaleAwareTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/LocaleAwareTest.java
@@ -22,6 +22,7 @@
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import java.util.Locale;
@@ -30,7 +31,7 @@
* LocaleAwareTest
*
* @author Jason Carreira
- * Created Feb 10, 2003 6:13:13 PM
+ * Created Feb 10, 2003 6:13:13 PM
*/
public class LocaleAwareTest extends XWorkTestCase {
@@ -63,7 +64,7 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- XmlConfigurationProvider configurationProvider = new XmlConfigurationProvider("xwork-test-beans.xml");
+ XmlConfigurationProvider configurationProvider = new StrutsXmlConfigurationProvider("xwork-test-beans.xml");
container.inject(configurationProvider);
loadConfigurationProviders(configurationProvider, new MockConfigurationProvider());
diff --git a/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationTest.java b/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationTest.java
index 794e1cd..3c962a4 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationTest.java
@@ -19,6 +19,7 @@
package com.opensymphony.xwork2;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import java.util.HashMap;
import java.util.Map;
@@ -31,22 +32,22 @@
/**
* Sets a ProxyObjectFactory as ObjectFactory (so the FooAction will always be retrieved
* as a FooProxy), and it tries to call invokeAction on the TestActionInvocation.
- *
- * It should fail, because the Method got from the action (actually a FooProxy)
- * will be executed on the InvocationHandler of the action (so, in the action itself).
+ * <p>
+ * It should fail, because the Method got from the action (actually a FooProxy)
+ * will be executed on the InvocationHandler of the action (so, in the action itself).
*/
public void testProxyInvocation() throws Exception {
ActionProxy proxy = actionProxyFactory
.createActionProxy("", "ProxyInvocation", null, createDummyContext());
ActionInvocation invocation = proxy.getInvocation();
-
+
String result = invocation.invokeActionOnly();
assertEquals("proxyResult", result);
}
- /**
+ /**
* Needed for the creation of the action proxy
*/
private Map<String, Object> createDummyContext() {
@@ -62,7 +63,7 @@
super.setUp();
// ensure we're using the default configuration, not simple config
- XmlConfigurationProvider configurationProvider = new XmlConfigurationProvider("xwork-proxyinvoke.xml");
+ XmlConfigurationProvider configurationProvider = new StrutsXmlConfigurationProvider("xwork-proxyinvoke.xml");
container.inject(configurationProvider);
loadConfigurationProviders(configurationProvider);
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/WildCardResultTest.java b/core/src/test/java/com/opensymphony/xwork2/WildCardResultTest.java
index 08b4c39..008b5cc 100644
--- a/core/src/test/java/com/opensymphony/xwork2/WildCardResultTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/WildCardResultTest.java
@@ -20,6 +20,7 @@
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.mock.MockResult;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
/**
* <code>WildCardResultTest</code>
@@ -34,7 +35,7 @@
super.setUp();
// ensure we're using the default configuration, not simple config
- XmlConfigurationProvider configurationProvider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider configurationProvider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(configurationProvider);
loadConfigurationProviders(configurationProvider);
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationManagerTest.java b/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationManagerTest.java
index 864f790..307cd3b 100644
--- a/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationManagerTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationManagerTest.java
@@ -22,7 +22,7 @@
import com.mockobjects.dynamic.Mock;
import com.opensymphony.xwork2.FileManagerFactory;
import com.opensymphony.xwork2.XWorkTestCase;
-import com.opensymphony.xwork2.config.providers.XWorkConfigurationProvider;
+import com.opensymphony.xwork2.config.providers.StrutsDefaultConfigurationProvider;
import com.opensymphony.xwork2.conversion.TypeConverterHolder;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.ContainerBuilder;
@@ -168,7 +168,7 @@
configProviderMock.matchAndReturn("equals", C.ANY_ARGS, false);
ConfigurationProvider mockProvider = (ConfigurationProvider) configProviderMock.proxy();
- configurationManager.addContainerProvider(new XWorkConfigurationProvider());
+ configurationManager.addContainerProvider(new StrutsDefaultConfigurationProvider());
configurationManager.addContainerProvider(mockProvider);
//the first time it always inits
diff --git a/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationTest.java b/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationTest.java
index ee2e394..7d46932 100644
--- a/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationTest.java
@@ -31,6 +31,7 @@
import com.opensymphony.xwork2.mock.MockInterceptor;
import com.opensymphony.xwork2.test.StubConfigurationProvider;
import com.opensymphony.xwork2.util.location.LocatableProperties;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
import java.util.HashMap;
@@ -86,20 +87,20 @@
// check inheritance from Default
assertNotNull(configuration.getActionConfig("includeTest", "Foo"));
}
-
+
public void testWildcardName() {
RuntimeConfiguration configuration = configurationManager.getConfiguration().getRuntimeConfiguration();
ActionConfig config = configuration.getActionConfig("", "WildCard/Simple/input");
-
+
assertNotNull(config);
- assertTrue("Wrong class name, "+config.getClassName(),
- "com.opensymphony.xwork2.SimpleAction".equals(config.getClassName()));
+ assertTrue("Wrong class name, " + config.getClassName(),
+ "com.opensymphony.xwork2.SimpleAction".equals(config.getClassName()));
assertTrue("Wrong method name", "input".equals(config.getMethodName()));
-
+
Map<String, String> p = config.getParams();
- assertTrue("Wrong parameter, "+p.get("foo"), "Simple".equals(p.get("foo")));
- assertTrue("Wrong parameter, "+p.get("bar"), "input".equals(p.get("bar")));
+ assertTrue("Wrong parameter, " + p.get("foo"), "Simple".equals(p.get("foo")));
+ assertTrue("Wrong parameter, " + p.get("bar"), "input".equals(p.get("bar")));
}
public void testWildcardNamespace() {
@@ -108,12 +109,12 @@
ActionConfig config = configuration.getActionConfig("/animals/dog", "commandTest");
assertNotNull(config);
- assertTrue("Wrong class name, "+config.getClassName(),
- "com.opensymphony.xwork2.SimpleAction".equals(config.getClassName()));
+ assertTrue("Wrong class name, " + config.getClassName(),
+ "com.opensymphony.xwork2.SimpleAction".equals(config.getClassName()));
Map<String, String> p = config.getParams();
- assertTrue("Wrong parameter, "+p.get("0"), "/animals/dog".equals(p.get("0")));
- assertTrue("Wrong parameter, "+p.get("1"), "dog".equals(p.get("1")));
+ assertTrue("Wrong parameter, " + p.get("0"), "/animals/dog".equals(p.get("0")));
+ assertTrue("Wrong parameter, " + p.get("1"), "dog".equals(p.get("1")));
}
public void testGlobalResults() {
@@ -204,11 +205,11 @@
// check that it has configuration from MockConfigurationProvider
assertNotNull(configuration.getActionConfig("", MockConfigurationProvider.FOO_ACTION_NAME));
}
-
+
public void testMultipleContainerProviders() throws Exception {
// to start from scratch
configurationManager.destroyConfiguration();
- // to build basic configuration
+ // to build basic configuration
configurationManager.getConfiguration();
Mock mockContainerProvider = new Mock(ContainerProvider.class);
@@ -220,7 +221,7 @@
mockContainerProvider.expectAndReturn("needsReload", true);
// the order of providers must be changed as just first is checked if reload is needed
configurationManager.addContainerProvider((ContainerProvider) mockContainerProvider.proxy());
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(provider);
configurationManager.addContainerProvider(provider);
@@ -231,7 +232,7 @@
e.printStackTrace();
fail();
}
-
+
RuntimeConfiguration configuration = config.getRuntimeConfiguration();
// check that it has configuration from xml
@@ -239,24 +240,25 @@
mockContainerProvider.verify();
}
-
+
public void testInitForPackageProviders() {
-
+
loadConfigurationProviders(new StubConfigurationProvider() {
@Override
public void register(ContainerBuilder builder,
- LocatableProperties props) throws ConfigurationException {
+ LocatableProperties props) throws ConfigurationException {
builder.factory(PackageProvider.class, "foo", MyPackageProvider.class);
}
});
-
+
assertEquals(configuration, MyPackageProvider.getConfiguration());
}
-
+
public void testInitOnceForConfigurationProviders() {
-
+
loadConfigurationProviders(new StubConfigurationProvider() {
boolean called = false;
+
@Override
public void init(Configuration config) {
if (called) {
@@ -264,7 +266,7 @@
}
called = true;
}
-
+
@Override
public void loadPackages() {
if (!called) {
@@ -300,30 +302,36 @@
fail();
}
}
-
+
@Override
protected void setUp() throws Exception {
super.setUp();
// ensure we're using the default configuration, not simple config
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(provider);
loadConfigurationProviders(provider);
}
public static class MyPackageProvider implements PackageProvider {
static Configuration config;
- public void loadPackages() throws ConfigurationException {}
- public boolean needsReload() { return config != null; }
-
+
+ public void loadPackages() throws ConfigurationException {
+ }
+
+ public boolean needsReload() {
+ return config != null;
+ }
+
public static Configuration getConfiguration() {
return config;
}
+
public void init(Configuration configuration)
- throws ConfigurationException {
+ throws ConfigurationException {
config = configuration;
}
-
+
}
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/config/providers/ConfigurationTestBase.java b/core/src/test/java/com/opensymphony/xwork2/config/providers/ConfigurationTestBase.java
index a344a42..c073071 100644
--- a/core/src/test/java/com/opensymphony/xwork2/config/providers/ConfigurationTestBase.java
+++ b/core/src/test/java/com/opensymphony/xwork2/config/providers/ConfigurationTestBase.java
@@ -21,21 +21,22 @@
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.config.impl.MockConfiguration;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
/**
* ConfigurationTestBase
*
* @author Jason Carreira
- * Created Jun 9, 2003 7:42:12 AM
+ * Created Jun 9, 2003 7:42:12 AM
*/
public abstract class ConfigurationTestBase extends XWorkTestCase {
protected ConfigurationProvider buildConfigurationProvider(final String filename) {
configuration = new MockConfiguration();
- ((MockConfiguration)configuration).selfRegister();
+ ((MockConfiguration) configuration).selfRegister();
container = configuration.getContainer();
- XmlConfigurationProvider prov = new XmlConfigurationProvider(filename, true);
+ XmlConfigurationProvider prov = new StrutsXmlConfigurationProvider(filename);
container.inject(prov);
prov.init(configuration);
prov.loadPackages();
diff --git a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderGlobalResultInheritenceTest.java b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderGlobalResultInheritenceTest.java
index a40c714..a5c12f3 100644
--- a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderGlobalResultInheritenceTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderGlobalResultInheritenceTest.java
@@ -39,7 +39,7 @@
ConfigurationProvider provider = buildConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork-test-global-result-inheritence.xml");
ConfigurationManager configurationManager = new ConfigurationManager(Container.DEFAULT_NAME);
- configurationManager.addContainerProvider(new XWorkConfigurationProvider());
+ configurationManager.addContainerProvider(new StrutsDefaultConfigurationProvider());
configurationManager.addContainerProvider(provider);
Configuration configuration = configurationManager.getConfiguration();
diff --git a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorParamOverridingTest.java b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorParamOverridingTest.java
index 9ba307d..aab4a50 100644
--- a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorParamOverridingTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorParamOverridingTest.java
@@ -19,7 +19,6 @@
package com.opensymphony.xwork2.config.providers;
import com.opensymphony.xwork2.XWorkTestCase;
-import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.config.ContainerProvider;
import com.opensymphony.xwork2.config.RuntimeConfiguration;
import com.opensymphony.xwork2.config.entities.ActionConfig;
@@ -27,6 +26,7 @@
import com.opensymphony.xwork2.config.impl.DefaultConfiguration;
import com.opensymphony.xwork2.util.fs.DefaultFileManager;
import com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import java.util.ArrayList;
import java.util.List;
@@ -39,14 +39,14 @@
public void testInterceptorParamOveriding() throws Exception {
DefaultConfiguration conf = new DefaultConfiguration();
- final XmlConfigurationProvider p = new XmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork-test-interceptor-param-overriding.xml");
+ final XmlConfigurationProvider p = new StrutsXmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork-test-interceptor-param-overriding.xml");
DefaultFileManagerFactory factory = new DefaultFileManagerFactory();
factory.setContainer(container);
factory.setFileManager(new DefaultFileManager());
p.setFileManagerFactory(factory);
conf.reloadContainer(new ArrayList<ContainerProvider>() {
{
- add(new XWorkConfigurationProvider());
+ add(new StrutsDefaultConfigurationProvider());
add(p);
}
});
diff --git a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java
index d75d190..e629d44 100644
--- a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java
@@ -19,7 +19,6 @@
package com.opensymphony.xwork2.config.providers;
import com.opensymphony.xwork2.XWorkTestCase;
-import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.config.ContainerProvider;
import com.opensymphony.xwork2.config.RuntimeConfiguration;
import com.opensymphony.xwork2.config.entities.ActionConfig;
@@ -27,6 +26,7 @@
import com.opensymphony.xwork2.config.impl.DefaultConfiguration;
import com.opensymphony.xwork2.util.fs.DefaultFileManager;
import com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import java.util.ArrayList;
import java.util.List;
@@ -38,71 +38,71 @@
* @version $Id$
*/
public class XmlConfigurationProviderInterceptorStackParamOverridingTest extends XWorkTestCase {
-
+
public void testInterceptorStackParamOveriding() throws Exception {
- DefaultConfiguration conf = new DefaultConfiguration();
- final XmlConfigurationProvider p = new XmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork-test-interceptor-stack-param-overriding.xml");
+ DefaultConfiguration conf = new DefaultConfiguration();
+ final XmlConfigurationProvider p = new StrutsXmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork-test-interceptor-stack-param-overriding.xml");
DefaultFileManagerFactory factory = new DefaultFileManagerFactory();
factory.setContainer(container);
factory.setFileManager(new DefaultFileManager());
p.setFileManagerFactory(factory);
- configurationManager.addContainerProvider(p);
+ configurationManager.addContainerProvider(p);
conf.reloadContainer(new ArrayList<ContainerProvider>() {
- {
- add(new XWorkConfigurationProvider());
- add(p);
- }
- });
+ {
+ add(new StrutsDefaultConfigurationProvider());
+ add(p);
+ }
+ });
- RuntimeConfiguration rtConf = conf.getRuntimeConfiguration();
+ RuntimeConfiguration rtConf = conf.getRuntimeConfiguration();
- ActionConfig actionOne = rtConf.getActionConfig("", "actionOne");
- ActionConfig actionTwo = rtConf.getActionConfig("", "actionTwo");
+ ActionConfig actionOne = rtConf.getActionConfig("", "actionOne");
+ ActionConfig actionTwo = rtConf.getActionConfig("", "actionTwo");
- List actionOneInterceptors = actionOne.getInterceptors();
- List actionTwoInterceptors = actionTwo.getInterceptors();
+ List actionOneInterceptors = actionOne.getInterceptors();
+ List actionTwoInterceptors = actionTwo.getInterceptors();
- assertNotNull(actionOne);
- assertNotNull(actionTwo);
- assertNotNull(actionOneInterceptors);
- assertNotNull(actionTwoInterceptors);
- assertEquals(actionOneInterceptors.size(), 3);
- assertEquals(actionTwoInterceptors.size(), 3);
+ assertNotNull(actionOne);
+ assertNotNull(actionTwo);
+ assertNotNull(actionOneInterceptors);
+ assertNotNull(actionTwoInterceptors);
+ assertEquals(actionOneInterceptors.size(), 3);
+ assertEquals(actionTwoInterceptors.size(), 3);
- InterceptorMapping actionOneInterceptorMapping1 = (InterceptorMapping) actionOneInterceptors.get(0);
- InterceptorMapping actionOneInterceptorMapping2 = (InterceptorMapping) actionOneInterceptors.get(1);
- InterceptorMapping actionOneInterceptorMapping3 = (InterceptorMapping) actionOneInterceptors.get(2);
- InterceptorMapping actionTwoInterceptorMapping1 = (InterceptorMapping) actionTwoInterceptors.get(0);
- InterceptorMapping actionTwoInterceptorMapping2 = (InterceptorMapping) actionTwoInterceptors.get(1);
- InterceptorMapping actionTwoInterceptorMapping3 = (InterceptorMapping) actionTwoInterceptors.get(2);
+ InterceptorMapping actionOneInterceptorMapping1 = (InterceptorMapping) actionOneInterceptors.get(0);
+ InterceptorMapping actionOneInterceptorMapping2 = (InterceptorMapping) actionOneInterceptors.get(1);
+ InterceptorMapping actionOneInterceptorMapping3 = (InterceptorMapping) actionOneInterceptors.get(2);
+ InterceptorMapping actionTwoInterceptorMapping1 = (InterceptorMapping) actionTwoInterceptors.get(0);
+ InterceptorMapping actionTwoInterceptorMapping2 = (InterceptorMapping) actionTwoInterceptors.get(1);
+ InterceptorMapping actionTwoInterceptorMapping3 = (InterceptorMapping) actionTwoInterceptors.get(2);
- assertNotNull(actionOneInterceptorMapping1);
- assertNotNull(actionOneInterceptorMapping2);
- assertNotNull(actionOneInterceptorMapping3);
- assertNotNull(actionTwoInterceptorMapping1);
- assertNotNull(actionTwoInterceptorMapping2);
- assertNotNull(actionTwoInterceptorMapping3);
+ assertNotNull(actionOneInterceptorMapping1);
+ assertNotNull(actionOneInterceptorMapping2);
+ assertNotNull(actionOneInterceptorMapping3);
+ assertNotNull(actionTwoInterceptorMapping1);
+ assertNotNull(actionTwoInterceptorMapping2);
+ assertNotNull(actionTwoInterceptorMapping3);
- assertEquals(((InterceptorForTestPurpose)actionOneInterceptorMapping1.getInterceptor()).getParamOne(), "i1p1");
- assertEquals(((InterceptorForTestPurpose)actionOneInterceptorMapping1.getInterceptor()).getParamTwo(), "i1p2");
- assertEquals(((InterceptorForTestPurpose)actionOneInterceptorMapping2.getInterceptor()).getParamOne(), "i2p1");
- assertEquals(((InterceptorForTestPurpose)actionOneInterceptorMapping2.getInterceptor()).getParamTwo(), null);
- assertEquals(((InterceptorForTestPurpose)actionOneInterceptorMapping3.getInterceptor()).getParamOne(), null);
- assertEquals(((InterceptorForTestPurpose)actionOneInterceptorMapping3.getInterceptor()).getParamTwo(), null);
+ assertEquals(((InterceptorForTestPurpose) actionOneInterceptorMapping1.getInterceptor()).getParamOne(), "i1p1");
+ assertEquals(((InterceptorForTestPurpose) actionOneInterceptorMapping1.getInterceptor()).getParamTwo(), "i1p2");
+ assertEquals(((InterceptorForTestPurpose) actionOneInterceptorMapping2.getInterceptor()).getParamOne(), "i2p1");
+ assertEquals(((InterceptorForTestPurpose) actionOneInterceptorMapping2.getInterceptor()).getParamTwo(), null);
+ assertEquals(((InterceptorForTestPurpose) actionOneInterceptorMapping3.getInterceptor()).getParamOne(), null);
+ assertEquals(((InterceptorForTestPurpose) actionOneInterceptorMapping3.getInterceptor()).getParamTwo(), null);
- assertEquals(((InterceptorForTestPurpose)actionTwoInterceptorMapping1.getInterceptor()).getParamOne(), null);
- assertEquals(((InterceptorForTestPurpose)actionTwoInterceptorMapping1.getInterceptor()).getParamTwo(), null);
- assertEquals(((InterceptorForTestPurpose)actionTwoInterceptorMapping2.getInterceptor()).getParamOne(), null);
- assertEquals(((InterceptorForTestPurpose)actionTwoInterceptorMapping2.getInterceptor()).getParamTwo(), "i2p2");
- assertEquals(((InterceptorForTestPurpose)actionTwoInterceptorMapping3.getInterceptor()).getParamOne(), "i3p1");
- assertEquals(((InterceptorForTestPurpose)actionTwoInterceptorMapping3.getInterceptor()).getParamTwo(), "i3p2");
+ assertEquals(((InterceptorForTestPurpose) actionTwoInterceptorMapping1.getInterceptor()).getParamOne(), null);
+ assertEquals(((InterceptorForTestPurpose) actionTwoInterceptorMapping1.getInterceptor()).getParamTwo(), null);
+ assertEquals(((InterceptorForTestPurpose) actionTwoInterceptorMapping2.getInterceptor()).getParamOne(), null);
+ assertEquals(((InterceptorForTestPurpose) actionTwoInterceptorMapping2.getInterceptor()).getParamTwo(), "i2p2");
+ assertEquals(((InterceptorForTestPurpose) actionTwoInterceptorMapping3.getInterceptor()).getParamOne(), "i3p1");
+ assertEquals(((InterceptorForTestPurpose) actionTwoInterceptorMapping3.getInterceptor()).getParamTwo(), "i3p2");
}
@Override
protected void tearDown() throws Exception {
- configurationManager.clearContainerProviders();
+ configurationManager.clearContainerProviders();
}
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorsTest.java b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorsTest.java
index 70bfe23..fd52d2f 100644
--- a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorsTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorsTest.java
@@ -23,9 +23,14 @@
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.config.RuntimeConfiguration;
-import com.opensymphony.xwork2.config.entities.*;
+import com.opensymphony.xwork2.config.entities.ActionConfig;
+import com.opensymphony.xwork2.config.entities.InterceptorConfig;
+import com.opensymphony.xwork2.config.entities.InterceptorMapping;
+import com.opensymphony.xwork2.config.entities.InterceptorStackConfig;
+import com.opensymphony.xwork2.config.entities.PackageConfig;
import com.opensymphony.xwork2.interceptor.LoggingInterceptor;
import com.opensymphony.xwork2.mock.MockInterceptor;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.interceptor.NoOpInterceptor;
import java.util.ArrayList;
@@ -46,7 +51,7 @@
InterceptorConfig mockInterceptor = new InterceptorConfig.Builder("mock", MockInterceptor.class.getName()).build();
InterceptorConfig noopInterceptor = new InterceptorConfig.Builder("noop", NoOpInterceptor.class.getName()).build();
ObjectFactory objectFactory;
-
+
@Override
public void setUp() throws Exception {
super.setUp();
@@ -68,16 +73,16 @@
// the default interceptor stack
InterceptorStackConfig defaultStack = new InterceptorStackConfig.Builder("defaultStack")
- .addInterceptor(new InterceptorMapping("noop", objectFactory.buildInterceptor(noopInterceptor, new HashMap<String, String>())))
- .addInterceptor(new InterceptorMapping("test", objectFactory.buildInterceptor(mockInterceptor, params)))
- .build();
+ .addInterceptor(new InterceptorMapping("noop", objectFactory.buildInterceptor(noopInterceptor, new HashMap<String, String>())))
+ .addInterceptor(new InterceptorMapping("test", objectFactory.buildInterceptor(mockInterceptor, params)))
+ .build();
// the derivative interceptor stack
InterceptorStackConfig derivativeStack = new InterceptorStackConfig.Builder("derivativeStack")
- .addInterceptor(new InterceptorMapping("noop", objectFactory.buildInterceptor(noopInterceptor, new HashMap<String, String>())))
- .addInterceptor(new InterceptorMapping("test", objectFactory.buildInterceptor(mockInterceptor, params)))
- .addInterceptor(new InterceptorMapping("logging", objectFactory.buildInterceptor(loggingInterceptor, new HashMap<String, String>())))
- .build();
+ .addInterceptor(new InterceptorMapping("noop", objectFactory.buildInterceptor(noopInterceptor, new HashMap<String, String>())))
+ .addInterceptor(new InterceptorMapping("test", objectFactory.buildInterceptor(mockInterceptor, params)))
+ .addInterceptor(new InterceptorMapping("logging", objectFactory.buildInterceptor(loggingInterceptor, new HashMap<String, String>())))
+ .build();
// execute the configuration
provider.init(configuration);
@@ -100,7 +105,7 @@
}
public void testInterceptorDefaultRefs() throws ConfigurationException {
- XmlConfigurationProvider provider = new XmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork-test-interceptor-defaultref.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork-test-interceptor-defaultref.xml");
container.inject(provider);
loadConfigurationProviders(provider);
@@ -141,7 +146,7 @@
}
public void testInterceptorInheritance() throws ConfigurationException {
-
+
// expectations - the inherited interceptor stack
InterceptorStackConfig inheritedStack = new InterceptorStackConfig.Builder("subDefaultStack")
.addInterceptor(new InterceptorMapping("noop", objectFactory.buildInterceptor(noopInterceptor, new HashMap<String, String>())))
@@ -160,9 +165,9 @@
// expectations - the inherited interceptor stack
inheritedStack = new InterceptorStackConfig.Builder("subSubDefaultStack")
- .addInterceptor(new InterceptorMapping("noop", objectFactory.buildInterceptor(noopInterceptor, new HashMap<String, String>())))
- .addInterceptor(new InterceptorMapping("noop", objectFactory.buildInterceptor(noopInterceptor, new HashMap<String, String>())))
- .build();
+ .addInterceptor(new InterceptorMapping("noop", objectFactory.buildInterceptor(noopInterceptor, new HashMap<String, String>())))
+ .addInterceptor(new InterceptorMapping("noop", objectFactory.buildInterceptor(noopInterceptor, new HashMap<String, String>())))
+ .build();
PackageConfig subSubPkg = configuration.getPackageConfig("subSubPackage");
assertEquals(1, subSubPkg.getInterceptorConfigs().size());
diff --git a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderTest.java b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderTest.java
index 5c56e3a..3a8fbb3 100644
--- a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderTest.java
@@ -18,6 +18,7 @@
*/
package com.opensymphony.xwork2.config.providers;
+import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.FileManagerFactory;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.config.ConfigurationProvider;
@@ -27,7 +28,17 @@
import com.opensymphony.xwork2.config.entities.ResultTypeConfig;
import com.opensymphony.xwork2.config.impl.MockConfiguration;
import com.opensymphony.xwork2.util.ClassLoaderUtil;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
+import org.apache.struts2.result.ServletDispatcherResult;
+import org.w3c.dom.Attr;
+import org.w3c.dom.DOMException;
import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.TypeInfo;
+import org.w3c.dom.UserDataHandler;
import java.io.File;
import java.io.IOException;
@@ -42,15 +53,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.struts2.result.ServletDispatcherResult;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.TypeInfo;
-import org.w3c.dom.UserDataHandler;
public class XmlConfigurationProviderTest extends ConfigurationTestBase {
@@ -60,7 +62,7 @@
((MockConfiguration) configuration).selfRegister();
container = configuration.getContainer();
- XmlConfigurationProvider prov = new XmlConfigurationProvider("xwork-test-load-order.xml", true) {
+ XmlConfigurationProvider prov = new StrutsXmlConfigurationProvider("xwork-test-load-order.xml") {
@Override
protected Iterator<URL> getConfigurationUrls(String fileName) throws IOException {
List<URL> urls = new ArrayList<>();
@@ -83,7 +85,7 @@
public static final long FILE_TS_WAIT_IN_MS = 3600000;
- private static void changeFileTime(File f) throws Exception {
+ private static void changeFileTime(String filename, File f) throws Exception {
final long orig = f.lastModified();
final long maxwait = orig + FILE_TS_WAIT_IN_MS;
long curr;
@@ -91,11 +93,12 @@
Thread.sleep(500);
assertTrue("Waited more than " + FILE_TS_WAIT_IN_MS + " ms to update timestamp on file: " + f, maxwait > curr);
}
+ ActionContext.getContext().with("configurationReload-" + filename, null);
}
public void testNeedsReload() throws Exception {
final String filename = "com/opensymphony/xwork2/config/providers/xwork-test-actions.xml";
- ConfigurationProvider provider = new XmlConfigurationProvider(filename, true);
+ ConfigurationProvider provider = new StrutsXmlConfigurationProvider(filename);
container.inject(provider);
provider.init(configuration);
provider.loadPackages();
@@ -105,14 +108,14 @@
File file = new File(getClass().getResource("/" + filename).toURI());
assertTrue("not exists: " + file.toString(), file.exists());
- changeFileTime(file);
+ changeFileTime(filename, file);
assertTrue(provider.needsReload());
}
public void testReload() throws Exception {
final String filename = "com/opensymphony/xwork2/config/providers/xwork-test-reload.xml";
- ConfigurationProvider provider = new XmlConfigurationProvider(filename, true);
+ ConfigurationProvider provider = new StrutsXmlConfigurationProvider(filename);
loadConfigurationProviders(provider);
assertFalse(provider.needsReload()); // Revision exists and timestamp didn't change
@@ -123,7 +126,7 @@
Path configPath = Paths.get(file.getAbsolutePath());
String content = new String(Files.readAllBytes(configPath));
content = content.replaceAll("<constant name=\"struts.configuration.xml.reload\" value=\"true\" />",
- "<constant name=\"struts.configuration.xml.reload\" value=\"false\" />");
+ "<constant name=\"struts.configuration.xml.reload\" value=\"false\" />");
Files.write(configPath, content.getBytes()); // user demand: stop reloading configs
try {
@@ -131,11 +134,11 @@
configurationManager.reload();
- changeFileTime(file);
+ changeFileTime(filename, file);
assertFalse(provider.needsReload()); // user already has stopped reloading configs
} finally {
content = content.replaceAll("<constant name=\"struts.configuration.xml.reload\" value=\"false\" />",
- "<constant name=\"struts.configuration.xml.reload\" value=\"true\" />");
+ "<constant name=\"struts.configuration.xml.reload\" value=\"true\" />");
Files.write(configPath, content.getBytes());
}
}
@@ -143,7 +146,7 @@
public void testNeedsReloadNotReloadingConfigs() throws Exception {
final String filename = "com/opensymphony/xwork2/config/providers/xwork-test-actions.xml";
buildConfigurationProvider(filename);
- ConfigurationProvider provider = new XmlConfigurationProvider(filename, true);
+ ConfigurationProvider provider = new StrutsXmlConfigurationProvider(filename);
container.getInstance(FileManagerFactory.class).getFileManager().setReloadingConfigs(false);
container.inject(provider);
provider.init(configuration);
@@ -153,7 +156,7 @@
File file = new File(getClass().getResource("/" + filename).toURI());
assertTrue("not exists: " + file.toString(), file.exists());
- changeFileTime(file);
+ changeFileTime(filename, file);
assertFalse(provider.needsReload());
}
@@ -210,7 +213,7 @@
}
public void testGuessResultType() {
- XmlConfigurationProvider prov = new XmlConfigurationProvider();
+ XmlConfigurationProvider prov = new StrutsXmlConfigurationProvider("xwork.xml");
assertEquals(null, prov.guessResultType(null));
assertEquals("foo", prov.guessResultType("foo"));
@@ -221,7 +224,7 @@
public void testEmptySpaces() throws Exception {
final String filename = "com/opensymphony/xwork2/config/providers/xwork- test.xml";
- ConfigurationProvider provider = new XmlConfigurationProvider(filename, true);
+ ConfigurationProvider provider = new StrutsXmlConfigurationProvider(filename);
container.inject(provider);
provider.init(configuration);
provider.loadPackages();
@@ -234,7 +237,7 @@
File file = new File(uri);
assertTrue(file.exists());
- changeFileTime(file);
+ changeFileTime(filename, file);
assertTrue(provider.needsReload());
}
@@ -242,7 +245,7 @@
public void testEmptySpacesNotReloadingConfigs() throws Exception {
final String filename = "com/opensymphony/xwork2/config/providers/xwork- test.xml";
buildConfigurationProvider(filename);
- ConfigurationProvider provider = new XmlConfigurationProvider(filename, true);
+ ConfigurationProvider provider = new StrutsXmlConfigurationProvider(filename);
container.getInstance(FileManagerFactory.class).getFileManager().setReloadingConfigs(false);
container.inject(provider);
provider.init(configuration);
@@ -255,7 +258,7 @@
File file = new File(uri);
assertTrue(file.exists());
- changeFileTime(file);
+ changeFileTime(filename, file);
assertFalse(provider.needsReload());
}
@@ -287,7 +290,7 @@
File file = new File(jar);
assertTrue("File [" + file + "] doesn't exist!", file.exists());
- changeFileTime(file);
+ changeFileTime(jar, file);
assertFalse(provider.needsReload());
}
@@ -311,8 +314,8 @@
/**
* Test buildAllowedMethods() to ensure consistent results for processing
* <allowed-methods/> in <action/> XML configuration elements.
- *
- * @throws Exception
+ *
+ * @throws Exception
*/
public void testBuildAllowedMethods() throws Exception {
// Test introduced with WW-5029 fix.
@@ -335,20 +338,20 @@
NodeList mockNodeListSingleChild = new MockNodeList(singleStringList);
NodeList mockNodeListMultipleChild = new MockNodeList(multipleStringList);
Element mockSingleChildAllowedMethodsElement = new MockElement("allowed-methods", fakeBodyString,
- "allowed-methods", fakeBodyString, Node.TEXT_NODE, mockNodeListSingleChild, null);
+ "allowed-methods", fakeBodyString, Node.TEXT_NODE, mockNodeListSingleChild, null);
Element mockMultipleChildAllowedMethodsElement = new MockElement("allowed-methods", fakeBodyString,
- "allowed-methods", fakeBodyString, Node.TEXT_NODE, mockNodeListMultipleChild, null);
+ "allowed-methods", fakeBodyString, Node.TEXT_NODE, mockNodeListMultipleChild, null);
MockNodeList mockActionElementChildrenSingle = new MockNodeList();
mockActionElementChildrenSingle.addToNodeList(mockSingleChildAllowedMethodsElement);
MockNodeList mockActionElementChildrenMultiple = new MockNodeList();
mockActionElementChildrenMultiple.addToNodeList(mockMultipleChildAllowedMethodsElement);
Element mockActionElementSingle = new MockElement("action", "fakeBody", "action", "fakeValue",
- Node.TEXT_NODE, mockActionElementChildrenSingle, null);
+ Node.TEXT_NODE, mockActionElementChildrenSingle, null);
Element mockActionElementMultiple = new MockElement("action", "fakeBody", "action", "fakeValue",
- Node.TEXT_NODE, mockActionElementChildrenMultiple, null);
+ Node.TEXT_NODE, mockActionElementChildrenMultiple, null);
// Attempt the method using both types of Elements (single child and multiple child) and confirm
// the result is the same for both. Also confirm the results are as expected.
- XmlConfigurationProvider prov = new XmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork- test.xml", false);
+ XmlConfigurationProvider prov = new StrutsXmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork- test.xml");
Set<String> singleChildResult = prov.buildAllowedMethods(mockActionElementSingle, testPackageConfigBuilder);
Set<String> multipleChildResult = prov.buildAllowedMethods(mockActionElementMultiple, testPackageConfigBuilder);
assertNotNull("singleChildResult is null ?", singleChildResult);
@@ -365,8 +368,8 @@
/**
* Test loadGlobalAllowedMethods() to ensure consistent results for processing
* <global-allowed-methods/> in <package/> XML configuration elements.
- *
- * @throws Exception
+ *
+ * @throws Exception
*/
public void testLoadGlobalAllowedMethods() throws Exception {
// Test introduced with WW-5029 fix.
@@ -389,19 +392,19 @@
NodeList mockNodeListSingleChild = new MockNodeList(singleStringList);
NodeList mockNodeListMultipleChild = new MockNodeList(multipleStringList);
Element mockSingleChildAllowedMethodsElement = new MockElement("global-allowed-methods", fakeBodyString,
- "global-allowed-methods", fakeBodyString, Node.TEXT_NODE, mockNodeListSingleChild, null);
+ "global-allowed-methods", fakeBodyString, Node.TEXT_NODE, mockNodeListSingleChild, null);
Element mockMultipleChildAllowedMethodsElement = new MockElement("global-allowed-methods", fakeBodyString,
- "global-allowed-methods", fakeBodyString, Node.TEXT_NODE, mockNodeListMultipleChild, null);
+ "global-allowed-methods", fakeBodyString, Node.TEXT_NODE, mockNodeListMultipleChild, null);
MockNodeList mockPackageElementChildrenSingle = new MockNodeList();
mockPackageElementChildrenSingle.addToNodeList(mockSingleChildAllowedMethodsElement);
MockNodeList mockPackageElementChildrenMultiple = new MockNodeList();
mockPackageElementChildrenMultiple.addToNodeList(mockMultipleChildAllowedMethodsElement);
Element mockPackageElementSingle = new MockElement("package", "fakeBody", "package", "fakeValue",
- Node.TEXT_NODE, mockPackageElementChildrenSingle, null);
+ Node.TEXT_NODE, mockPackageElementChildrenSingle, null);
Element mockPackageElementMultiple = new MockElement("package", "fakeBody", "package", "fakeValue",
- Node.TEXT_NODE, mockPackageElementChildrenMultiple, null);
+ Node.TEXT_NODE, mockPackageElementChildrenMultiple, null);
// Attempt the method using the single child Element and confirm the result is as expected.
- XmlConfigurationProvider prov = new XmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork- test.xml", false);
+ XmlConfigurationProvider prov = new StrutsXmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork- test.xml");
prov.loadGlobalAllowedMethods(testPackageConfigBuilder, mockPackageElementSingle);
Set<String> currentGlobalResult = testPackageConfigBuilder.getGlobalAllowedMethods();
assertNotNull("currentGlobalResult is null ?", currentGlobalResult);
@@ -428,8 +431,8 @@
/**
* Test buildResults() to ensure consistent results for processing
* <result/> in <action/> XML configuration elements.
- *
- * @throws Exception
+ *
+ * @throws Exception
*/
public void testBuildResults() throws Exception {
// Set up test using two mock DOM Elements:
@@ -443,7 +446,7 @@
final String fakeBodyString2 = "/SomePath2/SomePath2/SomePath2/SomeJSP2.jsp";
final String resultParam = "nonNullDefaultParam";
PackageConfig.Builder testPackageConfigBuilder = new PackageConfig.Builder("resultsPackage");
- ResultTypeConfig.Builder resultTypeConfigBuilder = new ResultTypeConfig.Builder("dispatcher", (String) ServletDispatcherResult.class.getName());
+ ResultTypeConfig.Builder resultTypeConfigBuilder = new ResultTypeConfig.Builder("dispatcher", ServletDispatcherResult.class.getName());
resultTypeConfigBuilder.defaultResultParam(resultParam);
ResultTypeConfig resultTypeConfig = resultTypeConfigBuilder.build();
testPackageConfigBuilder.addResultTypeConfig(resultTypeConfig);
@@ -466,19 +469,19 @@
NodeList mockNodeListMultipleChild = new MockNodeList(multipleStringList);
NodeList mockNodeListMultipleChild2 = new MockNodeList(multipleStringList2);
Element mockSingleChildResultElement = new MockElement("result", fakeBodyString,
- "result", fakeBodyString, Node.TEXT_NODE, mockNodeListSingleChild, null);
+ "result", fakeBodyString, Node.TEXT_NODE, mockNodeListSingleChild, null);
mockSingleChildResultElement.setAttribute("name", "input");
mockSingleChildResultElement.setAttribute("type", "dispatcher");
Element mockSingleChildResultElement2 = new MockElement("result", fakeBodyString2,
- "result", fakeBodyString2, Node.TEXT_NODE, mockNodeListSingleChild2, null);
+ "result", fakeBodyString2, Node.TEXT_NODE, mockNodeListSingleChild2, null);
mockSingleChildResultElement2.setAttribute("name", "success");
mockSingleChildResultElement2.setAttribute("type", "dispatcher");
Element mockMultipleChildAllowedMethodsElement = new MockElement("result", fakeBodyString,
- "result", fakeBodyString, Node.TEXT_NODE, mockNodeListMultipleChild, null);
+ "result", fakeBodyString, Node.TEXT_NODE, mockNodeListMultipleChild, null);
mockMultipleChildAllowedMethodsElement.setAttribute("name", "input");
mockMultipleChildAllowedMethodsElement.setAttribute("type", "dispatcher");
Element mockMultipleChildAllowedMethodsElement2 = new MockElement("result", fakeBodyString2,
- "result", fakeBodyString2, Node.TEXT_NODE, mockNodeListMultipleChild2, null);
+ "result", fakeBodyString2, Node.TEXT_NODE, mockNodeListMultipleChild2, null);
mockMultipleChildAllowedMethodsElement2.setAttribute("name", "success");
mockMultipleChildAllowedMethodsElement2.setAttribute("type", "dispatcher");
MockNodeList mockActionElementChildrenSingle = new MockNodeList();
@@ -488,12 +491,12 @@
mockActionElementChildrenMultiple.addToNodeList(mockMultipleChildAllowedMethodsElement);
mockActionElementChildrenMultiple.addToNodeList(mockMultipleChildAllowedMethodsElement2);
Element mockActionElementSingle = new MockElement("action", "fakeBody", "action", "fakeValue",
- Node.TEXT_NODE, mockActionElementChildrenSingle, null);
+ Node.TEXT_NODE, mockActionElementChildrenSingle, null);
Element mockActionElementMultiple = new MockElement("action", "fakeBody", "action", "fakeValue",
- Node.TEXT_NODE, mockActionElementChildrenMultiple, null);
+ Node.TEXT_NODE, mockActionElementChildrenMultiple, null);
// Attempt the method using both types of Elements (single child and multiple child) and confirm
// the result is the same for both. Also confirm the results are as expected.
- XmlConfigurationProvider prov = new XmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork- test.xml", false);
+ XmlConfigurationProvider prov = new StrutsXmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork- test.xml");
Map<String, ResultConfig> singleChildResult = prov.buildResults(mockActionElementSingle, testPackageConfigBuilder);
Map<String, ResultConfig> multipleChildResult = prov.buildResults(mockActionElementMultiple, testPackageConfigBuilder);
assertNotNull("singleChildResult is null ?", singleChildResult);
@@ -511,16 +514,16 @@
assertNotNull("inputResultParams (multipleChildResult) is null ?", inputResultParams);
assertNotNull("successResultParams (multipleChildResult) is null ?", successResultParams);
assertEquals("inputResult (multipleChildResult) resultParam value not equal to fakeBodyString ?",
- fakeBodyString, inputResultParams.get(resultParam));
+ fakeBodyString, inputResultParams.get(resultParam));
assertEquals("successResult (multipleChildResult) resultParam value not equal to fakeBodyString2 ?",
- fakeBodyString2, successResultParams.get(resultParam));
+ fakeBodyString2, successResultParams.get(resultParam));
}
/**
* Test loadGlobalResults() to ensure consistent results for processing
* <global-results/> in <package/> XML configuration elements.
- *
- * @throws Exception
+ *
+ * @throws Exception
*/
public void testLoadGlobalResults() throws Exception {
// Set up test using two mock DOM Elements:
@@ -534,7 +537,7 @@
final String fakeBodyString2 = "/SomePath2/SomePath2/SomePath2/SomeJSP2.jsp";
final String resultParam = "nonNullDefaultParam";
PackageConfig.Builder testPackageConfigBuilder = new PackageConfig.Builder("resultsPackage");
- ResultTypeConfig.Builder resultTypeConfigBuilder = new ResultTypeConfig.Builder("dispatcher", (String) ServletDispatcherResult.class.getName());
+ ResultTypeConfig.Builder resultTypeConfigBuilder = new ResultTypeConfig.Builder("dispatcher", ServletDispatcherResult.class.getName());
resultTypeConfigBuilder.defaultResultParam(resultParam);
ResultTypeConfig resultTypeConfig = resultTypeConfigBuilder.build();
testPackageConfigBuilder.addResultTypeConfig(resultTypeConfig);
@@ -557,19 +560,19 @@
NodeList mockNodeListMultipleChild = new MockNodeList(multipleStringList);
NodeList mockNodeListMultipleChild2 = new MockNodeList(multipleStringList2);
Element mockSingleChildResultElement = new MockElement("result", fakeBodyString,
- "result", fakeBodyString, Node.TEXT_NODE, mockNodeListSingleChild, null);
+ "result", fakeBodyString, Node.TEXT_NODE, mockNodeListSingleChild, null);
mockSingleChildResultElement.setAttribute("name", "input");
mockSingleChildResultElement.setAttribute("type", "dispatcher");
Element mockSingleChildResultElement2 = new MockElement("result", fakeBodyString2,
- "result", fakeBodyString2, Node.TEXT_NODE, mockNodeListSingleChild2, null);
+ "result", fakeBodyString2, Node.TEXT_NODE, mockNodeListSingleChild2, null);
mockSingleChildResultElement2.setAttribute("name", "success");
mockSingleChildResultElement2.setAttribute("type", "dispatcher");
Element mockMultipleChildAllowedMethodsElement = new MockElement("result", fakeBodyString,
- "result", fakeBodyString, Node.TEXT_NODE, mockNodeListMultipleChild, null);
+ "result", fakeBodyString, Node.TEXT_NODE, mockNodeListMultipleChild, null);
mockMultipleChildAllowedMethodsElement.setAttribute("name", "input2");
mockMultipleChildAllowedMethodsElement.setAttribute("type", "dispatcher");
Element mockMultipleChildAllowedMethodsElement2 = new MockElement("result", fakeBodyString,
- "result", fakeBodyString2, Node.TEXT_NODE, mockNodeListMultipleChild2, null);
+ "result", fakeBodyString2, Node.TEXT_NODE, mockNodeListMultipleChild2, null);
mockMultipleChildAllowedMethodsElement2.setAttribute("name", "success2");
mockMultipleChildAllowedMethodsElement2.setAttribute("type", "dispatcher");
MockNodeList mockGlobalResultsElementChildrenSingle = new MockNodeList();
@@ -579,19 +582,19 @@
mockGlobalResultsElementChildrenMultiple.addToNodeList(mockMultipleChildAllowedMethodsElement);
mockGlobalResultsElementChildrenMultiple.addToNodeList(mockMultipleChildAllowedMethodsElement2);
Element mockGlobalResultsElementSingle = new MockElement("global-results", "fakeBody", "global-results", "fakeValue",
- Node.TEXT_NODE, mockGlobalResultsElementChildrenSingle, null);
+ Node.TEXT_NODE, mockGlobalResultsElementChildrenSingle, null);
Element mockGlobalResultsGlobalResultsElementMultiple = new MockElement("global-results", "fakeBody", "global-results", "fakeValue",
- Node.TEXT_NODE, mockGlobalResultsElementChildrenMultiple, null);
+ Node.TEXT_NODE, mockGlobalResultsElementChildrenMultiple, null);
MockNodeList mockPackageElementChildrenSingle = new MockNodeList();
mockPackageElementChildrenSingle.addToNodeList(mockGlobalResultsElementSingle);
MockNodeList mockPackageElementChildrenMultiple = new MockNodeList();
mockPackageElementChildrenMultiple.addToNodeList(mockGlobalResultsGlobalResultsElementMultiple);
Element mockPackageElementSingle = new MockElement("package", "fakeBody", "package", "fakeValue",
- Node.TEXT_NODE, mockPackageElementChildrenSingle, null);
+ Node.TEXT_NODE, mockPackageElementChildrenSingle, null);
Element mockPackageElementMultiple = new MockElement("package", "fakeBody", "package", "fakeValue",
- Node.TEXT_NODE, mockPackageElementChildrenMultiple, null);
+ Node.TEXT_NODE, mockPackageElementChildrenMultiple, null);
// Attempt the global laod method using single child Elements first, and confirm the results are as expected.
- XmlConfigurationProvider prov = new XmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork- test.xml", false);
+ XmlConfigurationProvider prov = new StrutsXmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork- test.xml");
prov.loadGlobalResults(testPackageConfigBuilder, mockPackageElementSingle);
PackageConfig testPackageConfig = testPackageConfigBuilder.build();
Map<String, ResultConfig> currentGlobalResults = testPackageConfig.getAllGlobalResults();
@@ -606,9 +609,9 @@
assertNotNull("inputResultParams (currentGlobalResults - single) is null ?", inputResultParams);
assertNotNull("successResultParams (currentGlobalResults - single) is null ?", successResultParams);
assertEquals("inputResult (currentGlobalResults - single) resultParam value not equal to fakeBodyString ?",
- fakeBodyString, inputResultParams.get(resultParam));
+ fakeBodyString, inputResultParams.get(resultParam));
assertEquals("successResult (currentGlobalResults - single) resultParam value not equal to fakeBodyString2 ?",
- fakeBodyString2, successResultParams.get(resultParam));
+ fakeBodyString2, successResultParams.get(resultParam));
// Attempt the global laod method using mutliple child Elements next, and confirm the results are as expected.
prov.loadGlobalResults(testPackageConfigBuilder, mockPackageElementMultiple);
testPackageConfig = testPackageConfigBuilder.build();
@@ -624,9 +627,9 @@
assertNotNull("inputResultParams2 (currentGlobalResults - multiple) is null ?", inputResultParams2);
assertNotNull("successResultParams2 (currentGlobalResults - multiple) is null ?", successResultParams2);
assertEquals("inputResult2 (currentGlobalResults - multiple) resultParam value not equal to fakeBodyString ?",
- fakeBodyString, inputResultParams2.get(resultParam));
+ fakeBodyString, inputResultParams2.get(resultParam));
assertEquals("successResult2 (currentGlobalResults - multiple) resultParam value not equal to fakeBodyString2 ?",
- fakeBodyString2, successResultParams2.get(resultParam));
+ fakeBodyString2, successResultParams2.get(resultParam));
// Confirm the previous global results are still present
inputResult = currentGlobalResults.get("input");
successResult = currentGlobalResults.get("success");
@@ -637,9 +640,9 @@
assertNotNull("inputResultParams (currentGlobalResults - single) is null ?", inputResultParams);
assertNotNull("successResultParams (currentGlobalResults - single) is null ?", successResultParams);
assertEquals("inputResult (currentGlobalResults - single) resultParam value not equal to fakeBodyString ?",
- fakeBodyString, inputResultParams.get(resultParam));
+ fakeBodyString, inputResultParams.get(resultParam));
assertEquals("successResult (currentGlobalResults - single) resultParam value not equal to fakeBodyString2 ?",
- fakeBodyString2, successResultParams.get(resultParam));
+ fakeBodyString2, successResultParams.get(resultParam));
inputResult = currentGlobalResults.get("input");
successResult = currentGlobalResults.get("success");
assertNotNull("inputResult (currentGlobalResults - single) is null ?", inputResult);
@@ -649,14 +652,14 @@
assertNotNull("inputResultParams (currentGlobalResults - single) is null ?", inputResultParams);
assertNotNull("successResultParams (currentGlobalResults - single) is null ?", successResultParams);
assertEquals("inputResult (currentGlobalResults - single) resultParam value not equal to fakeBodyString ?",
- fakeBodyString, inputResultParams.get(resultParam));
+ fakeBodyString, inputResultParams.get(resultParam));
assertEquals("successResult (currentGlobalResults - single) resultParam value not equal to fakeBodyString2 ?",
- fakeBodyString2, successResultParams.get(resultParam));
+ fakeBodyString2, successResultParams.get(resultParam));
}
/**
* Mock NodeList.
- *
+ * <p>
* Provides minimal functionality to permit limited mock DOM testing.
*/
protected class MockNodeList implements org.w3c.dom.NodeList {
@@ -669,8 +672,8 @@
/**
* Produces TEXT_NODE Nodes based on the input List of Strings. Node names
* follow a simple pattern "nodeX" where X is the index.
- *
- * @param stringList
+ *
+ * @param stringList
*/
public MockNodeList(List<String> stringList) {
if (stringList != null) {
@@ -737,7 +740,7 @@
/**
* MockNode
- *
+ * <p>
* Provides minimal functionality to permit limited mock DOM testing.
*/
protected class MockNode implements org.w3c.dom.Node {
@@ -854,7 +857,7 @@
@Override
public boolean hasChildNodes() {
- return (childNodes != null ? childNodes.getLength() > 0 : false);
+ return (childNodes != null && childNodes.getLength() > 0);
}
@Override
@@ -960,16 +963,16 @@
/**
* Mock Element.
- *
+ * <p>
* Provides minimal functionality to permit limited mock DOM testing.
*/
protected class MockElement extends MockNode implements org.w3c.dom.Element {
final private String tagName;
final private String tagBody;
- final private Map<String, String> attributes;
+ final private Map<String, String> attributes;
public MockElement(String tagName, String tagBody,
- String nodeName, String nodeValue, short nodeType, NodeList childNodes, Node parentNode) {
+ String nodeName, String nodeValue, short nodeType, NodeList childNodes, Node parentNode) {
super(nodeName, nodeValue, nodeType, childNodes, parentNode);
this.tagName = nodeName;
this.tagBody = nodeValue;
diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/AliasInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/AliasInterceptorTest.java
index 9014125..3671de9 100644
--- a/core/src/test/java/com/opensymphony/xwork2/interceptor/AliasInterceptorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/AliasInterceptorTest.java
@@ -18,11 +18,17 @@
*/
package com.opensymphony.xwork2.interceptor;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionProxy;
+import com.opensymphony.xwork2.SimpleAction;
+import com.opensymphony.xwork2.SimpleFooAction;
+import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.mock.MockActionInvocation;
import com.opensymphony.xwork2.mock.MockActionProxy;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
import java.util.HashMap;
@@ -44,6 +50,7 @@
* <interceptor-ref name="alias"/>
* </action>
* </pre>
+ *
* @author Matthew Payne
*/
public class AliasInterceptorTest extends XWorkTestCase {
@@ -52,7 +59,7 @@
Map<String, Object> params = new HashMap<>();
params.put("aliasSource", "source here");
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(provider);
loadConfigurationProviders(provider);
ActionProxy proxy = actionProxyFactory.createActionProxy("", "aliasTest", null, params);
@@ -72,7 +79,7 @@
httpParams.put("notExisting", "from http parameter");
params.put(ActionContext.PARAMETERS, HttpParameters.create(httpParams).build());
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(provider);
loadConfigurationProviders(provider);
ActionProxy proxy = actionProxyFactory.createActionProxy("", "aliasTest", null, params);
@@ -94,8 +101,8 @@
MockActionProxy map = new MockActionProxy();
ActionConfig cfg = new ActionConfig.Builder("", "", "")
- .addParam("aliases", "invalid alias expression")
- .build();
+ .addParam("aliases", "invalid alias expression")
+ .build();
map.setConfig(cfg);
mai.setProxy(map);
@@ -117,8 +124,8 @@
MockActionProxy map = new MockActionProxy();
ActionConfig cfg = new ActionConfig.Builder("", "", "")
- .addParam("hello", "invalid alias expression")
- .build();
+ .addParam("hello", "invalid alias expression")
+ .build();
map.setConfig(cfg);
mai.setProxy(map);
@@ -141,8 +148,8 @@
MockActionProxy map = new MockActionProxy();
ActionConfig cfg = new ActionConfig.Builder("", "", "")
- .addParam("hello", "invalid alias expression")
- .build();
+ .addParam("hello", "invalid alias expression")
+ .build();
map.setConfig(cfg);
mai.setProxy(map);
diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/ChainingInterceptorWithConfigTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/ChainingInterceptorWithConfigTest.java
index cf0c6ee..ab1bfbf 100644
--- a/core/src/test/java/com/opensymphony/xwork2/interceptor/ChainingInterceptorWithConfigTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/ChainingInterceptorWithConfigTest.java
@@ -18,7 +18,14 @@
*/
package com.opensymphony.xwork2.interceptor;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionChainResult;
+import com.opensymphony.xwork2.ActionProxy;
+import com.opensymphony.xwork2.ActionProxyFactory;
+import com.opensymphony.xwork2.DefaultActionProxyFactory;
+import com.opensymphony.xwork2.ObjectFactory;
+import com.opensymphony.xwork2.SimpleAction;
+import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
@@ -30,15 +37,15 @@
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.util.location.LocatableProperties;
-
-import java.util.*;
-
import org.apache.struts2.TestResult;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
+
+import java.util.Collections;
+import java.util.HashMap;
/**
* Unit test for {@link ChainingInterceptor} with a configuration provider.
- *
*/
public class ChainingInterceptorWithConfigTest extends XWorkTestCase {
@@ -59,13 +66,13 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-default.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-default.xml");
container.inject(provider);
this.objectFactory = container.getInstance(ObjectFactory.class);
loadConfigurationProviders(provider, new MockConfigurationProvider());
}
-
+
private class MockConfigurationProvider implements ConfigurationProvider {
private Configuration config;
@@ -77,7 +84,8 @@
return false;
}
- public void destroy() { }
+ public void destroy() {
+ }
public void register(ContainerBuilder builder, LocatableProperties props) throws ConfigurationException {
@@ -101,17 +109,17 @@
successParams2.put("propertyName", "blah");
successParams2.put("expectedValue", null);
- InterceptorConfig chainingInterceptorConfig = new InterceptorConfig.Builder("chainStack", ChainingInterceptor.class.getName()).build();
+ InterceptorConfig chainingInterceptorConfig = new InterceptorConfig.Builder("chainStack", ChainingInterceptor.class.getName()).build();
PackageConfig packageConfig = new PackageConfig.Builder("default")
- .addActionConfig(CHAINED_ACTION, new ActionConfig.Builder("defaultPackage", CHAINED_ACTION, SimpleAction.class.getName())
- .addResultConfig(new ResultConfig.Builder(Action.ERROR, ActionChainResult.class.getName()).addParam("actionName", CHAINTO_ACTION).build())
- .build())
- .addActionConfig(CHAINTO_ACTION, new ActionConfig.Builder("defaultPackage", CHAINTO_ACTION, SimpleAction.class.getName())
- .addInterceptors(Collections.singletonList(new InterceptorMapping("chainStack", objectFactory.buildInterceptor(chainingInterceptorConfig, interceptorParams))))
- .addResultConfig(new ResultConfig.Builder(Action.SUCCESS, TestResult.class.getName()).addParams(successParams1).build())
- .addResultConfig(new ResultConfig.Builder(Action.ERROR, TestResult.class.getName()).addParams(successParams2).build())
- .build())
- .build();
+ .addActionConfig(CHAINED_ACTION, new ActionConfig.Builder("defaultPackage", CHAINED_ACTION, SimpleAction.class.getName())
+ .addResultConfig(new ResultConfig.Builder(Action.ERROR, ActionChainResult.class.getName()).addParam("actionName", CHAINTO_ACTION).build())
+ .build())
+ .addActionConfig(CHAINTO_ACTION, new ActionConfig.Builder("defaultPackage", CHAINTO_ACTION, SimpleAction.class.getName())
+ .addInterceptors(Collections.singletonList(new InterceptorMapping("chainStack", objectFactory.buildInterceptor(chainingInterceptorConfig, interceptorParams))))
+ .addResultConfig(new ResultConfig.Builder(Action.SUCCESS, TestResult.class.getName()).addParams(successParams1).build())
+ .addResultConfig(new ResultConfig.Builder(Action.ERROR, TestResult.class.getName()).addParams(successParams2).build())
+ .build())
+ .build();
config.addPackageConfig("defaultPackage", packageConfig);
config.addPackageConfig("default", new PackageConfig.Builder(packageConfig).name("default").build());
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
index d2e0e1e..381f909 100644
--- a/core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
@@ -18,10 +18,17 @@
*/
package com.opensymphony.xwork2.interceptor;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionProxy;
+import com.opensymphony.xwork2.ModelDrivenAction;
+import com.opensymphony.xwork2.SimpleAction;
+import com.opensymphony.xwork2.TestBean;
+import com.opensymphony.xwork2.TextProvider;
+import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.providers.MockConfigurationProvider;
-import com.opensymphony.xwork2.config.providers.XWorkConfigurationProvider;
+import com.opensymphony.xwork2.config.providers.StrutsDefaultConfigurationProvider;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
import com.opensymphony.xwork2.mock.MockActionInvocation;
@@ -32,13 +39,21 @@
import com.opensymphony.xwork2.util.CompoundRoot;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
-import org.junit.Assert;
import ognl.OgnlContext;
import ognl.PropertyAccessor;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
+import org.junit.Assert;
import java.io.File;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
/**
@@ -80,12 +95,12 @@
public void testInsecureParameters() throws Exception {
// given
- loadConfigurationProviders(new XWorkConfigurationProvider(), new XmlConfigurationProvider("xwork-param-test.xml"));
+ loadConfigurationProviders(new StrutsDefaultConfigurationProvider(), new StrutsXmlConfigurationProvider("xwork-param-test.xml"));
final Map<String, Object> params = new HashMap<String, Object>() {
{
put("name", "(#context[\"xwork.MethodAccessor.denyMethodExecution\"]= new " +
- "java.lang.Boolean(false), #_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true), " +
- "@java.lang.Runtime@getRuntime().exec('mkdir /tmp/PWNAGE'))(meh)");
+ "java.lang.Boolean(false), #_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true), " +
+ "@java.lang.Runtime@getRuntime().exec('mkdir /tmp/PWNAGE'))(meh)");
put("top['name'](0)", "true");
put("expression", "#f=#_memberAccess.getClass().getDeclaredField('allowStaticMethodAccess'),#f.setAccessible(true),#f.set(#_memberAccess,true),#req=@org.apache.struts2.ServletActionContext@getRequest(),#resp=@org.apache.struts2.ServletActionContext@getResponse().getWriter(),#resp.println(#req.getRealPath('/')),#resp.close()");
}
@@ -117,7 +132,7 @@
final String pollution1 = "class.classLoader.jarPath";
final String pollution2 = "model.class.classLoader.jarPath";
- loadConfigurationProviders(new XWorkConfigurationProvider(), new XmlConfigurationProvider("xwork-param-test.xml"));
+ loadConfigurationProviders(new StrutsDefaultConfigurationProvider(), new StrutsXmlConfigurationProvider("xwork-param-test.xml"));
final Map<String, Object> params = new HashMap<String, Object>() {
{
put(pollution1, "bad");
@@ -156,7 +171,7 @@
final String pollution2 = "model.class.classLoader.jarPath";
final String pollution3 = "class.classLoader.defaultAssertionStatus";
- loadConfigurationProviders(new XWorkConfigurationProvider(), new XmlConfigurationProvider("xwork-class-param-test.xml"));
+ loadConfigurationProviders(new StrutsDefaultConfigurationProvider(), new StrutsXmlConfigurationProvider("xwork-class-param-test.xml"));
final Map<String, Object> params = new HashMap<String, Object>() {
{
put(pollution1, "bad");
@@ -240,14 +255,14 @@
Map<String, Object> params = new HashMap<>();
params.put("blah", "This is blah");
params.put("#session.foo", "Foo");
- params.put("\u0023session[\'user\']", "0wn3d");
- params.put("\\u0023session[\'user\']", "0wn3d");
+ params.put("\u0023session['user']", "0wn3d");
+ params.put("\\u0023session['user']", "0wn3d");
params.put("\u0023session.user2", "0wn3d");
params.put("\\u0023session.user2", "0wn3d");
- params.put("('\u0023'%20%2b%20'session[\'user3\']')(unused)", "0wn3d");
+ params.put("('\u0023'%20%2b%20'session['user3']')(unused)", "0wn3d");
params.put("('\\u0023' + 'session[\\'user4\\']')(unused)", "0wn3d");
- params.put("('\u0023'%2b'session[\'user5\']')(unused)", "0wn3d");
- params.put("('\\u0023'%2b'session[\'user5\']')(unused)", "0wn3d");
+ params.put("('\u0023'%2b'session['user5']')(unused)", "0wn3d");
+ params.put("('\\u0023'%2b'session['user5']')(unused)", "0wn3d");
HashMap<String, Object> extraContext = new HashMap<>();
extraContext.put(ActionContext.PARAMETERS, HttpParameters.create(params).build());
@@ -275,7 +290,7 @@
final String pollution5 = "class['classLoader']['jarPath']";
final String pollution6 = "class[\"classLoader\"]['jarPath']";
- loadConfigurationProviders(new XWorkConfigurationProvider(), new XmlConfigurationProvider("xwork-param-test.xml"));
+ loadConfigurationProviders(new StrutsDefaultConfigurationProvider(), new StrutsXmlConfigurationProvider("xwork-param-test.xml"));
final Map<String, Object> params = new HashMap<String, Object>() {
{
put(pollution1, "bad");
@@ -518,8 +533,8 @@
public void testEvalExpressionAsParameterName() throws Exception {
Map<String, Object> params = new HashMap<>();
params.put("blah", "(#context[\"xwork.MethodAccessor.denyMethodExecution\"]= new " +
- "java.lang.Boolean(false), #_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true), " +
- "@java.lang.Runtime@getRuntime().exec('mkdir /tmp/PWNAGE'))(meh)");
+ "java.lang.Boolean(false), #_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true), " +
+ "@java.lang.Runtime@getRuntime().exec('mkdir /tmp/PWNAGE'))(meh)");
params.put("top['blah'](0)", "true");
HashMap<String, Object> extraContext = new HashMap<>();
@@ -552,10 +567,10 @@
}
public void testNonexistentParametersGetLoggedInDevMode() throws Exception {
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-test-beans.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-test-beans.xml");
container.inject(provider);
loadConfigurationProviders(provider,
- new MockConfigurationProvider(Collections.singletonMap("struts.devMode", "true")));
+ new MockConfigurationProvider(Collections.singletonMap("struts.devMode", "true")));
Map<String, Object> params = new HashMap<>();
params.put("not_a_property", "There is no action property named like this");
@@ -571,10 +586,10 @@
}
public void testNonexistentParametersAreIgnoredInProductionMode() throws Exception {
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-test-beans.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-test-beans.xml");
container.inject(provider);
loadConfigurationProviders(provider,
- new MockConfigurationProvider(Collections.singletonMap("struts.devMode", "false")));
+ new MockConfigurationProvider(Collections.singletonMap("struts.devMode", "false")));
Map<String, Object> params = new HashMap<>();
params.put("not_a_property", "There is no action property named like this");
@@ -717,13 +732,13 @@
public void testBeanListSingleValue() throws Exception {
Map<String, Object> params = new HashMap<>();
- params.put("beanList.name", new String[] { "Superman" });
+ params.put("beanList.name", new String[]{"Superman"});
HashMap<String, Object> extraContext = new HashMap<>();
extraContext.put(ActionContext.PARAMETERS, HttpParameters.create(params).build());
ActionProxy proxy = actionProxyFactory.createActionProxy("",
- MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
+ MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
proxy.execute();
SimpleAction action = (SimpleAction) proxy.getAction();
assertNotNull(action);
@@ -762,9 +777,9 @@
private ValueStack createStubValueStack(final Map<String, Object> actual) {
ValueStack stack = new OgnlValueStack(
- container.getInstance(XWorkConverter.class),
- (CompoundRootAccessor) container.getInstance(PropertyAccessor.class, CompoundRoot.class.getName()),
- container.getInstance(TextProvider.class, "system"), true, true) {
+ container.getInstance(XWorkConverter.class),
+ (CompoundRootAccessor) container.getInstance(PropertyAccessor.class, CompoundRoot.class.getName()),
+ container.getInstance(TextProvider.class, "system"), true, true) {
@Override
public void setValue(String expr, Object value) {
actual.put(expr, value);
@@ -804,7 +819,7 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-test-beans.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-test-beans.xml");
container.inject(provider);
loadConfigurationProviders(provider, new MockConfigurationProvider());
@@ -816,7 +831,7 @@
class ValidateAction implements ValidationAware {
- private List<String> messages = new LinkedList<>();
+ private final List<String> messages = new LinkedList<>();
private String name;
public void setActionErrors(Collection<String> errorMessages) {
diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptorTest.java
index 7019eda..425bdee 100644
--- a/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptorTest.java
@@ -18,7 +18,12 @@
*/
package com.opensymphony.xwork2.interceptor.annotations;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionProxy;
+import com.opensymphony.xwork2.ActionProxyFactory;
+import com.opensymphony.xwork2.DefaultActionProxyFactory;
+import com.opensymphony.xwork2.ObjectFactory;
+import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
@@ -30,6 +35,7 @@
import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.mock.MockResult;
import com.opensymphony.xwork2.util.location.LocatableProperties;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import java.util.Collections;
@@ -43,9 +49,9 @@
private final AnnotationWorkflowInterceptor annotationWorkflow = new AnnotationWorkflowInterceptor();
@Override
- public void setUp() throws Exception{
+ public void setUp() throws Exception {
super.setUp();
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-default.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-default.xml");
container.inject(provider);
loadConfigurationProviders(provider, new MockConfigurationProvider());
}
@@ -53,14 +59,14 @@
public void testInterceptsBeforeAndAfter() throws Exception {
ActionProxy proxy = actionProxyFactory.createActionProxy("", ANNOTATED_ACTION, null, null);
assertEquals(Action.SUCCESS, proxy.execute());
- AnnotatedAction action = (AnnotatedAction)proxy.getInvocation().getAction();
+ AnnotatedAction action = (AnnotatedAction) proxy.getInvocation().getAction();
assertEquals("interfaceBefore-baseBefore-basePrivateBefore-before-execute-beforeResult-basePrivateBeforeResult-interfaceBeforeResult-after-basePrivateAfter-interfaceAfter", action.log);
}
public void testInterceptsShortcircuitedAction() throws Exception {
ActionProxy proxy = actionProxyFactory.createActionProxy("", SHORTCIRCUITED_ACTION, null, null);
assertEquals("shortcircuit", proxy.execute());
- ShortcircuitedAction action = (ShortcircuitedAction)proxy.getInvocation().getAction();
+ ShortcircuitedAction action = (ShortcircuitedAction) proxy.getInvocation().getAction();
assertEquals("interfaceBefore-baseBefore-basePrivateBefore-before-basePrivateBeforeResult-interfaceBeforeResult", action.log);
}
@@ -75,7 +81,8 @@
return false;
}
- public void destroy() { }
+ public void destroy() {
+ }
public void register(ContainerBuilder builder, LocatableProperties props) throws ConfigurationException {
@@ -89,15 +96,15 @@
public void loadPackages() throws ConfigurationException {
PackageConfig packageConfig = new PackageConfig.Builder("default")
- .addActionConfig(ANNOTATED_ACTION, new ActionConfig.Builder("defaultPackage", ANNOTATED_ACTION, AnnotatedAction.class.getName())
- .addInterceptors(Collections.singletonList(new InterceptorMapping("annotationWorkflow", annotationWorkflow)))
- .addResultConfig(new ResultConfig.Builder("success", MockResult.class.getName()).build())
- .build())
- .addActionConfig(SHORTCIRCUITED_ACTION, new ActionConfig.Builder("defaultPackage", SHORTCIRCUITED_ACTION, ShortcircuitedAction.class.getName())
- .addInterceptors(Collections.singletonList(new InterceptorMapping("annotationWorkflow", annotationWorkflow)))
- .addResultConfig(new ResultConfig.Builder("shortcircuit", MockResult.class.getName()).build())
- .build())
- .build();
+ .addActionConfig(ANNOTATED_ACTION, new ActionConfig.Builder("defaultPackage", ANNOTATED_ACTION, AnnotatedAction.class.getName())
+ .addInterceptors(Collections.singletonList(new InterceptorMapping("annotationWorkflow", annotationWorkflow)))
+ .addResultConfig(new ResultConfig.Builder("success", MockResult.class.getName()).build())
+ .build())
+ .addActionConfig(SHORTCIRCUITED_ACTION, new ActionConfig.Builder("defaultPackage", SHORTCIRCUITED_ACTION, ShortcircuitedAction.class.getName())
+ .addInterceptors(Collections.singletonList(new InterceptorMapping("annotationWorkflow", annotationWorkflow)))
+ .addResultConfig(new ResultConfig.Builder("shortcircuit", MockResult.class.getName()).build())
+ .build())
+ .build();
config.addPackageConfig("defaultPackage", packageConfig);
config.addPackageConfig("default", new PackageConfig.Builder(packageConfig).name("default").build());
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessProxyTest.java b/core/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessProxyTest.java
index 62a9d07..eff352b 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessProxyTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessProxyTest.java
@@ -18,13 +18,14 @@
*/
package com.opensymphony.xwork2.ognl;
-import java.lang.reflect.Member;
-import java.util.HashMap;
-import java.util.Map;
-
import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
+
+import java.lang.reflect.Member;
+import java.util.HashMap;
+import java.util.Map;
public class SecurityMemberAccessProxyTest extends XWorkTestCase {
private Map<String, Object> context;
@@ -35,14 +36,14 @@
context = new HashMap<>();
// Set up XWork
- XmlConfigurationProvider provider = new XmlConfigurationProvider("com/opensymphony/xwork2/spring/actionContext-xwork.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("com/opensymphony/xwork2/spring/actionContext-xwork.xml");
container.inject(provider);
loadConfigurationProviders(provider);
}
public void testProxyAccessIsBlocked() throws Exception {
ActionProxy proxy = actionProxyFactory.createActionProxy(null,
- "chaintoAOPedTestSubBeanAction", null, context);
+ "chaintoAOPedTestSubBeanAction", null, context);
SecurityMemberAccess sma = new SecurityMemberAccess(false, true);
sma.setDisallowProxyMemberAccess(true);
@@ -55,7 +56,7 @@
public void testProxyAccessIsAccessible() throws Exception {
ActionProxy proxy = actionProxyFactory.createActionProxy(null,
- "chaintoAOPedTestSubBeanAction", null, context);
+ "chaintoAOPedTestSubBeanAction", null, context);
SecurityMemberAccess sma = new SecurityMemberAccess(false, true);
diff --git a/core/src/test/java/com/opensymphony/xwork2/spring/ActionsFromSpringTest.java b/core/src/test/java/com/opensymphony/xwork2/spring/ActionsFromSpringTest.java
index 971c4db..65a3700 100644
--- a/core/src/test/java/com/opensymphony/xwork2/spring/ActionsFromSpringTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/spring/ActionsFromSpringTest.java
@@ -18,9 +18,16 @@
*/
package com.opensymphony.xwork2.spring;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionProxy;
+import com.opensymphony.xwork2.ObjectFactory;
+import com.opensymphony.xwork2.SimpleAction;
+import com.opensymphony.xwork2.TestSubBean;
+import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import org.apache.commons.lang3.reflect.MethodUtils;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
import org.springframework.context.ApplicationContext;
@@ -35,14 +42,15 @@
public class ActionsFromSpringTest extends XWorkTestCase {
private ApplicationContext appContext;
- @Override public void setUp() throws Exception {
+ @Override
+ public void setUp() throws Exception {
super.setUp();
// Set up XWork
- XmlConfigurationProvider provider = new XmlConfigurationProvider("com/opensymphony/xwork2/spring/actionContext-xwork.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("com/opensymphony/xwork2/spring/actionContext-xwork.xml");
container.inject(provider);
loadConfigurationProviders(provider);
- appContext = ((SpringObjectFactory)container.getInstance(ObjectFactory.class)).appContext;
+ appContext = ((SpringObjectFactory) container.getInstance(ObjectFactory.class)).appContext;
}
public void testLoadSimpleAction() throws Exception {
@@ -87,20 +95,20 @@
String result = action.execute();
assertEquals(Action.INPUT, result);
}
-
+
public void testActionWithSpringResult() throws Exception {
- ActionProxy proxy = actionProxyFactory.createActionProxy(null, "simpleActionSpringResult", null, null);
-
- proxy.execute();
-
- SpringResult springResult = (SpringResult) proxy.getInvocation().getResult();
- assertTrue(springResult.isInitialize());
- assertNotNull(springResult.getStringParameter());
+ ActionProxy proxy = actionProxyFactory.createActionProxy(null, "simpleActionSpringResult", null, null);
+
+ proxy.execute();
+
+ SpringResult springResult = (SpringResult) proxy.getInvocation().getResult();
+ assertTrue(springResult.isInitialize());
+ assertNotNull(springResult.getStringParameter());
}
public void testChainingProxiedActions() throws Exception {
ActionProxy proxy = actionProxyFactory.createActionProxy(null, "chainedAOPedTestBeanAction",
- null, null);
+ null, null);
proxy.execute();
@@ -131,7 +139,7 @@
extraContext.put(ActionContext.PARAMETERS, HttpParameters.create(params).build());
ActionProxy proxy = actionProxyFactory.createActionProxy(null,
- "chaintoAOPedTestSubBeanAction", null, extraContext);
+ "chaintoAOPedTestSubBeanAction", null, extraContext);
// when
proxy.execute();
@@ -140,6 +148,6 @@
//then
assertEquals("S2-047", ((TestSubBean) action).getIssueId());
assertFalse("proxied action is accessible!",
- (boolean) MethodUtils.invokeMethod(action, "isExposeProxy"));
+ (boolean) MethodUtils.invokeMethod(action, "isExposeProxy"));
}
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/spring/SpringProxyUtilTest.java b/core/src/test/java/com/opensymphony/xwork2/spring/SpringProxyUtilTest.java
index ce19976..7b77294 100644
--- a/core/src/test/java/com/opensymphony/xwork2/spring/SpringProxyUtilTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/spring/SpringProxyUtilTest.java
@@ -18,26 +18,31 @@
*/
package com.opensymphony.xwork2.spring;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.ObjectFactory;
+import com.opensymphony.xwork2.SimpleAction;
+import com.opensymphony.xwork2.TestBean;
+import com.opensymphony.xwork2.TestSubBean;
+import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.util.ProxyUtil;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.springframework.context.ApplicationContext;
/**
* Test various utility methods dealing with spring proxies.
- *
*/
public class SpringProxyUtilTest extends XWorkTestCase {
private ApplicationContext appContext;
- @Override public void setUp() throws Exception {
+ @Override
+ public void setUp() throws Exception {
super.setUp();
// Set up XWork
- XmlConfigurationProvider provider = new XmlConfigurationProvider("com/opensymphony/xwork2/spring/actionContext-xwork.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("com/opensymphony/xwork2/spring/actionContext-xwork.xml");
container.inject(provider);
loadConfigurationProviders(provider);
- appContext = ((SpringObjectFactory)container.getInstance(ObjectFactory.class)).appContext;
+ appContext = ((SpringObjectFactory) container.getInstance(ObjectFactory.class)).appContext;
}
public void testIsProxy() throws Exception {
@@ -91,26 +96,26 @@
Object simpleAction = appContext.getBean("simple-action");
assertFalse(ProxyUtil.isProxyMember(
- simpleAction.getClass().getMethod("setName", String.class), simpleAction));
+ simpleAction.getClass().getMethod("setName", String.class), simpleAction));
Object proxiedAction = appContext.getBean("proxied-action");
assertTrue(ProxyUtil.isProxyMember(
- proxiedAction.getClass().getMethod("setExposeProxy", boolean.class), proxiedAction));
+ proxiedAction.getClass().getMethod("setExposeProxy", boolean.class), proxiedAction));
Object autoProxiedAction = appContext.getBean("auto-proxied-action");
assertTrue(ProxyUtil.isProxyMember(
- autoProxiedAction.getClass().getMethod("getTargetClass"), autoProxiedAction));
+ autoProxiedAction.getClass().getMethod("getTargetClass"), autoProxiedAction));
Object pointcuttedTestBean = appContext.getBean("pointcutted-test-bean");
assertTrue(ProxyUtil.isProxyMember(
- pointcuttedTestBean.getClass().getMethod("getTargetSource"), pointcuttedTestBean));
+ pointcuttedTestBean.getClass().getMethod("getTargetSource"), pointcuttedTestBean));
Object pointcuttedTestSubBean = appContext.getBean("pointcutted-test-sub-bean");
assertFalse(ProxyUtil.isProxyMember(
- pointcuttedTestSubBean.getClass().getConstructor(), pointcuttedTestSubBean));
+ pointcuttedTestSubBean.getClass().getConstructor(), pointcuttedTestSubBean));
Object testAspect = appContext.getBean("test-aspect");
assertFalse(ProxyUtil.isProxyMember(
- testAspect.getClass().getMethod("setExposeProxy", boolean.class), testAspect));
+ testAspect.getClass().getMethod("setExposeProxy", boolean.class), testAspect));
}
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptorTest.java
index afcd262..970c3ee 100644
--- a/core/src/test/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptorTest.java
@@ -18,8 +18,13 @@
*/
package com.opensymphony.xwork2.spring.interceptor;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionInvocation;
+import com.opensymphony.xwork2.SimpleAction;
+import com.opensymphony.xwork2.TestBean;
+import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.StaticWebApplicationContext;
@@ -52,10 +57,10 @@
}
public void testSetAutowireType() throws Exception {
- XmlConfigurationProvider prov = new XmlConfigurationProvider("xwork-default.xml");
+ XmlConfigurationProvider prov = new StrutsXmlConfigurationProvider("xwork-default.xml");
container.inject(prov);
prov.setThrowExceptionOnDuplicateBeans(false);
- XmlConfigurationProvider c = new XmlConfigurationProvider("com/opensymphony/xwork2/spring/xwork-autowire.xml");
+ XmlConfigurationProvider c = new StrutsXmlConfigurationProvider("com/opensymphony/xwork2/spring/xwork-autowire.xml");
container.inject(c);
loadConfigurationProviders(c, prov);
diff --git a/core/src/test/java/com/opensymphony/xwork2/util/ClassLoaderUtilTest.java b/core/src/test/java/com/opensymphony/xwork2/util/ClassLoaderUtilTest.java
index b3ef289..90cc5f1 100644
--- a/core/src/test/java/com/opensymphony/xwork2/util/ClassLoaderUtilTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/util/ClassLoaderUtilTest.java
@@ -39,26 +39,26 @@
}
public void testGetResources_Multiple() throws IOException {
- Iterator<URL> i = ClassLoaderUtil.getResources("xwork-1.0.dtd", ClassLoaderUtilTest.class, false);
+ Iterator<URL> i = ClassLoaderUtil.getResources("struts-2.0.dtd", ClassLoaderUtilTest.class, false);
assertNotNull(i);
assertTrue(i.hasNext());
URL url = i.next();
- assertTrue(url.toString().endsWith("xwork-1.0.dtd"));
+ assertTrue(url.toString().endsWith("struts-2.0.dtd"));
url = i.next();
- assertTrue(url.toString().endsWith("xwork-1.0.dtd"));
+ assertTrue(url.toString().endsWith("struts-2.0.dtd"));
assertTrue(!i.hasNext());
}
public void testGetResources_Aggregate() throws IOException {
- Iterator<URL> i = ClassLoaderUtil.getResources("xwork-1.0.dtd", ClassLoaderUtilTest.class, true);
+ Iterator<URL> i = ClassLoaderUtil.getResources("struts-2.0.dtd", ClassLoaderUtilTest.class, true);
assertNotNull(i);
assertTrue(i.hasNext());
URL url = i.next();
- assertTrue(url.toString().endsWith("xwork-1.0.dtd"));
+ assertTrue(url.toString().endsWith("struts-2.0.dtd"));
url = i.next();
- assertTrue(url.toString().endsWith("xwork-1.0.dtd"));
+ assertTrue(url.toString().endsWith("struts-2.0.dtd"));
assertTrue(!i.hasNext());
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/util/MyBeanActionTest.java b/core/src/test/java/com/opensymphony/xwork2/util/MyBeanActionTest.java
index ab72a9f..5921db0 100644
--- a/core/src/test/java/com/opensymphony/xwork2/util/MyBeanActionTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/util/MyBeanActionTest.java
@@ -22,10 +22,10 @@
import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
import java.util.HashMap;
-import java.util.Map;
/**
* <code>MyBeanActionTest</code>
@@ -133,7 +133,7 @@
super.setUp();
// ensure we're using the default configuration, not simple config
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(provider);
loadConfigurationProviders(provider);
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProviderTest.java b/core/src/test/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProviderTest.java
index 251217a..aef469d 100644
--- a/core/src/test/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProviderTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProviderTest.java
@@ -19,10 +19,19 @@
package com.opensymphony.xwork2.util;
import com.mockobjects.dynamic.Mock;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionInvocation;
+import com.opensymphony.xwork2.ActionProxy;
+import com.opensymphony.xwork2.ActionSupport;
+import com.opensymphony.xwork2.LocalizedTextProvider;
+import com.opensymphony.xwork2.ModelDriven;
+import com.opensymphony.xwork2.SimpleAction;
+import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.test.ModelDrivenAction2;
import com.opensymphony.xwork2.test.TestBean2;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import java.text.DateFormat;
import java.text.ParseException;
@@ -37,52 +46,52 @@
*
* @author jcarreira
* @author tm_jee
- *
* @version $Date$ $Id$
*/
public class StrutsLocalizedTextProviderTest extends XWorkTestCase {
private LocalizedTextProvider localizedTextProvider;
-
- public void testNpeWhenClassIsPrimitive() throws Exception {
- ValueStack stack = ActionContext.getContext().getValueStack();
- stack.push(new MyObject());
- String result = localizedTextProvider.findText(MyObject.class, "someObj.someI18nKey", Locale.ENGLISH, "default message", null, stack);
- System.out.println(result);
- }
-
- public static class MyObject extends ActionSupport {
- public boolean getSomeObj() {
- return true;
- }
- }
-
- public void testActionGetTextWithNullObject() throws Exception {
- MyAction action = new MyAction();
+
+ public void testNpeWhenClassIsPrimitive() throws Exception {
+ ValueStack stack = ActionContext.getContext().getValueStack();
+ stack.push(new MyObject());
+ String result = localizedTextProvider.findText(MyObject.class, "someObj.someI18nKey", Locale.ENGLISH, "default message", null, stack);
+ System.out.println(result);
+ }
+
+ public static class MyObject extends ActionSupport {
+ public boolean getSomeObj() {
+ return true;
+ }
+ }
+
+ public void testActionGetTextWithNullObject() throws Exception {
+ MyAction action = new MyAction();
container.inject(action);
-
- Mock mockActionInvocation = new Mock(ActionInvocation.class);
+
+ Mock mockActionInvocation = new Mock(ActionInvocation.class);
mockActionInvocation.expectAndReturn("getAction", action);
ActionContext.getContext()
.withActionInvocation((ActionInvocation) mockActionInvocation.proxy())
- .getValueStack().push(action);
-
- String message = action.getText("barObj.title");
- assertEquals("Title:", message);
- }
-
-
- public static class MyAction extends ActionSupport {
- private Bar testBean2;
-
- public Bar getBarObj() {
- return testBean2;
- }
- public void setBarObj(Bar testBean2) {
- this.testBean2 = testBean2;
- }
- }
-
+ .getValueStack().push(action);
+
+ String message = action.getText("barObj.title");
+ assertEquals("Title:", message);
+ }
+
+
+ public static class MyAction extends ActionSupport {
+ private Bar testBean2;
+
+ public Bar getBarObj() {
+ return testBean2;
+ }
+
+ public void setBarObj(Bar testBean2) {
+ this.testBean2 = testBean2;
+ }
+ }
+
public void testActionGetText() throws Exception {
ModelDrivenAction2 action = new ModelDrivenAction2();
container.inject(action);
@@ -207,7 +216,7 @@
public void testLocalizedDateFormatIsUsed() throws ParseException {
localizedTextProvider.addDefaultResourceBundle("com/opensymphony/xwork2/util/LocalizedTextUtilTest");
Date date = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US).parse("01/01/2015");
- Object[] params = new Object[]{ date };
+ Object[] params = new Object[]{date};
String usDate = localizedTextProvider.findDefaultText("test.format.date", Locale.US, params);
String germanDate = localizedTextProvider.findDefaultText("test.format.date", Locale.GERMANY, params);
assertEquals(usDate, "1/1/15");
@@ -253,26 +262,26 @@
/**
* Unit test to confirm expected behaviour of "clearing methods" provided to
- * StrutsLocalizedTextProvider (from AbstractLocalizedTextProvider).
+ * StrutsLocalizedTextProvider (from AbstractLocalizedTextProvider).
*
* @since 2.6
*/
public void testLocalizedTextProviderClearingMethods() {
TestStrutsLocalizedTextProvider testStrutsLocalizedTextProvider = new TestStrutsLocalizedTextProvider();
assertTrue("testStrutsLocalizedTextProvider not instance of AbstractLocalizedTextProvider ?",
- testStrutsLocalizedTextProvider instanceof AbstractLocalizedTextProvider);
+ testStrutsLocalizedTextProvider instanceof AbstractLocalizedTextProvider);
assertEquals("testStrutsLocalizedTextProvider starting default bundle map size not 0 before any retrievals ?",
- 0, testStrutsLocalizedTextProvider.currentBundlesMapSize());
+ 0, testStrutsLocalizedTextProvider.currentBundlesMapSize());
// Access the two default bundles to populate their cache entries and test bundle map size.
ResourceBundle tempBundle = testStrutsLocalizedTextProvider.findResourceBundle(
- TestStrutsLocalizedTextProvider.XWORK_MESSAGES_BUNDLE, Locale.ENGLISH);
+ TestStrutsLocalizedTextProvider.XWORK_MESSAGES_BUNDLE, Locale.ENGLISH);
assertNotNull("XWORK_MESSAGES_BUNDLE retrieval null ?", tempBundle);
tempBundle = testStrutsLocalizedTextProvider.findResourceBundle(
- TestStrutsLocalizedTextProvider.STRUTS_MESSAGES_BUNDLE, Locale.ENGLISH);
+ TestStrutsLocalizedTextProvider.STRUTS_MESSAGES_BUNDLE, Locale.ENGLISH);
assertNotNull("STRUTS_MESSAGES_BUNDLE retrieval null ?", tempBundle);
assertEquals("testStrutsLocalizedTextProvider bundle map size not 2 after retrievals ?",
- 2, testStrutsLocalizedTextProvider.currentBundlesMapSize());
+ 2, testStrutsLocalizedTextProvider.currentBundlesMapSize());
// Add and then access four test bundles to populate their cache entries and test bundle map size.
testStrutsLocalizedTextProvider.addDefaultResourceBundle("com/opensymphony/xwork2/util/LocalizedTextUtilTest");
@@ -280,39 +289,39 @@
testStrutsLocalizedTextProvider.addDefaultResourceBundle("com/opensymphony/xwork2/SimpleAction");
testStrutsLocalizedTextProvider.addDefaultResourceBundle("com/opensymphony/xwork2/test");
tempBundle = testStrutsLocalizedTextProvider.findResourceBundle(
- "com/opensymphony/xwork2/util/LocalizedTextUtilTest", Locale.ENGLISH);
+ "com/opensymphony/xwork2/util/LocalizedTextUtilTest", Locale.ENGLISH);
assertNotNull("com/opensymphony/xwork2/util/LocalizedTextUtilTest retrieval null ?", tempBundle);
tempBundle = testStrutsLocalizedTextProvider.findResourceBundle(
- "com/opensymphony/xwork2/util/FindMe", Locale.ENGLISH);
+ "com/opensymphony/xwork2/util/FindMe", Locale.ENGLISH);
assertNotNull("com/opensymphony/xwork2/util/FindMe retrieval null ?", tempBundle);
tempBundle = testStrutsLocalizedTextProvider.findResourceBundle(
- "com/opensymphony/xwork2/SimpleAction", Locale.ENGLISH);
+ "com/opensymphony/xwork2/SimpleAction", Locale.ENGLISH);
assertNotNull("com/opensymphony/xwork2/SimpleAction retrieval null ?", tempBundle);
tempBundle = testStrutsLocalizedTextProvider.findResourceBundle(
- "com/opensymphony/xwork2/test", Locale.ENGLISH);
+ "com/opensymphony/xwork2/test", Locale.ENGLISH);
assertNotNull("com/opensymphony/xwork2/test retrieval null ?", tempBundle);
assertEquals("testStrutsLocalizedTextProvider bundle map size not 6 after retrievals ?",
- 6, testStrutsLocalizedTextProvider.currentBundlesMapSize());
+ 6, testStrutsLocalizedTextProvider.currentBundlesMapSize());
// Expect the call to be ineffective due to deprecation and change to a "no-op" (but shouldn't throw an Exception or cause failure).
testStrutsLocalizedTextProvider.callClearBundleNoLocale("com/opensymphony/xwork2/test");
assertEquals("testStrutsLocalizedTextProvider bundle map size not 6 after non-locale clear call ?",
- 6, testStrutsLocalizedTextProvider.currentBundlesMapSize());
+ 6, testStrutsLocalizedTextProvider.currentBundlesMapSize());
// Expect the call to function with bundle name + locale. Remove all four of the non-default
// bundles and confirm the bundle map size changes.
testStrutsLocalizedTextProvider.callClearBundleWithLocale("com/opensymphony/xwork2/test", Locale.ENGLISH);
assertEquals("testStrutsLocalizedTextProvider bundle map size not 5 after locale clear call ?",
- 5, testStrutsLocalizedTextProvider.currentBundlesMapSize());
+ 5, testStrutsLocalizedTextProvider.currentBundlesMapSize());
testStrutsLocalizedTextProvider.callClearBundleWithLocale("com/opensymphony/xwork2/SimpleAction", Locale.ENGLISH);
assertEquals("testStrutsLocalizedTextProvider bundle map size not 4 after locale clear call ?",
- 4, testStrutsLocalizedTextProvider.currentBundlesMapSize());
+ 4, testStrutsLocalizedTextProvider.currentBundlesMapSize());
testStrutsLocalizedTextProvider.callClearBundleWithLocale("com/opensymphony/xwork2/util/FindMe", Locale.ENGLISH);
assertEquals("testStrutsLocalizedTextProvider bundle map size not 3 after locale clear call ?",
- 3, testStrutsLocalizedTextProvider.currentBundlesMapSize());
+ 3, testStrutsLocalizedTextProvider.currentBundlesMapSize());
testStrutsLocalizedTextProvider.callClearBundleWithLocale("com/opensymphony/xwork2/util/LocalizedTextUtilTest", Locale.ENGLISH);
assertEquals("testStrutsLocalizedTextProvider bundle map size not 2 after locale clear call ?",
- 2, testStrutsLocalizedTextProvider.currentBundlesMapSize());
+ 2, testStrutsLocalizedTextProvider.currentBundlesMapSize());
// Confirm the missing bundles cache clearing method does not produce any Exceptions or failures.
testStrutsLocalizedTextProvider.callClearMissingBundlesCache();
@@ -321,12 +330,12 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(provider);
loadConfigurationProviders(provider);
localizedTextProvider = container.getInstance(LocalizedTextProvider.class);
-
+
ActionContext.getContext().withLocale(Locale.US);
}
@@ -345,7 +354,7 @@
public void callClearBundleNoLocale(String bundleName) {
super.clearBundle(bundleName);
-}
+ }
public void callClearBundleWithLocale(String bundleName, Locale locale) {
super.clearBundle(bundleName, locale);
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeFieldValidatorTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeFieldValidatorTest.java
index de9a944..41da48f 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeFieldValidatorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeFieldValidatorTest.java
@@ -29,9 +29,9 @@
import com.opensymphony.xwork2.interceptor.ValidationAware;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
-import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
@@ -306,7 +306,7 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-default.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-default.xml");
container.inject(provider);
loadConfigurationProviders(provider, new MockConfigurationProvider());
val = new DoubleRangeFieldValidator();
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/IntRangeValidatorTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/IntRangeValidatorTest.java
index f11870d..fefece9 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/IntRangeValidatorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/IntRangeValidatorTest.java
@@ -20,10 +20,11 @@
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionProxy;
-import com.opensymphony.xwork2.interceptor.ValidationAware;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.MockConfigurationProvider;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import com.opensymphony.xwork2.interceptor.ValidationAware;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
import java.util.HashMap;
@@ -63,7 +64,7 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-test-beans.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-test-beans.xml");
container.inject(provider);
loadConfigurationProviders(provider, new MockConfigurationProvider());
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/LongRangeValidatorTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/LongRangeValidatorTest.java
index 381a1e2..4a24ca8 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/LongRangeValidatorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/LongRangeValidatorTest.java
@@ -20,10 +20,11 @@
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionProxy;
-import com.opensymphony.xwork2.interceptor.ValidationAware;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.MockConfigurationProvider;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import com.opensymphony.xwork2.interceptor.ValidationAware;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
import java.util.HashMap;
@@ -60,7 +61,7 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-test-beans.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-test-beans.xml");
container.inject(provider);
loadConfigurationProviders(provider, new MockConfigurationProvider());
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/ModelDrivenValidationTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/ModelDrivenValidationTest.java
index b29b819..af59461 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/ModelDrivenValidationTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/ModelDrivenValidationTest.java
@@ -18,8 +18,13 @@
*/
package com.opensymphony.xwork2.validator;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionProxy;
+import com.opensymphony.xwork2.ModelDrivenAction;
+import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
import java.util.HashMap;
@@ -31,7 +36,7 @@
* ModelDrivenValidationTest
*
* @author Jason Carreira
- * Created Oct 1, 2003 10:08:25 AM
+ * Created Oct 1, 2003 10:08:25 AM
*/
public class ModelDrivenValidationTest extends XWorkTestCase {
@@ -42,7 +47,7 @@
Map<String, Object> context = new HashMap<>();
context.put(ActionContext.PARAMETERS, HttpParameters.create(params).build());
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-sample.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-sample.xml");
container.inject(provider);
loadConfigurationProviders(provider);
ActionProxy proxy = actionProxyFactory.createActionProxy(null, "TestModelDrivenValidation", null, context);
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/ShortRangeValidatorTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/ShortRangeValidatorTest.java
index 9ed534d..abada8f 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/ShortRangeValidatorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/ShortRangeValidatorTest.java
@@ -20,10 +20,11 @@
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionProxy;
-import com.opensymphony.xwork2.interceptor.ValidationAware;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.MockConfigurationProvider;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import com.opensymphony.xwork2.interceptor.ValidationAware;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
import java.util.HashMap;
@@ -60,7 +61,7 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-test-beans.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-test-beans.xml");
container.inject(provider);
loadConfigurationProviders(provider, new MockConfigurationProvider());
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/SimpleActionValidationTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/SimpleActionValidationTest.java
index c866ee4..503d230 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/SimpleActionValidationTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/SimpleActionValidationTest.java
@@ -18,15 +18,24 @@
*/
package com.opensymphony.xwork2.validator;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionProxy;
+import com.opensymphony.xwork2.SimpleAction;
+import com.opensymphony.xwork2.TextProviderFactory;
+import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.MockConfigurationProvider;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.interceptor.ValidationAware;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.validator.validators.ValidatorSupport;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
-import java.util.*;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
/**
@@ -229,14 +238,14 @@
public void testInitializable() throws Exception {
ValidatorFactory validatorFactory = container.getInstance(ValidatorFactory.class);
assertEquals("com.opensymphony.xwork2.validator.validators.RequiredFieldValidator",
- validatorFactory.lookupRegisteredValidatorType("requiredAnother"));
+ validatorFactory.lookupRegisteredValidatorType("requiredAnother"));
}
@Override
protected void setUp() throws Exception {
super.setUp();
- XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-test-beans.xml");
+ XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-test-beans.xml");
container.inject(provider);
loadConfigurationProviders(provider, new MockConfigurationProvider());
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/ValidatorAnnotationTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/ValidatorAnnotationTest.java
index 08cab70..100521a 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/ValidatorAnnotationTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/ValidatorAnnotationTest.java
@@ -20,9 +20,10 @@
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionProxy;
-import com.opensymphony.xwork2.interceptor.ValidationAware;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import com.opensymphony.xwork2.interceptor.ValidationAware;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;
import java.util.Collection;
@@ -127,9 +128,9 @@
protected void setUp() throws Exception {
super.setUp();
- XmlConfigurationProvider provider1 = new XmlConfigurationProvider("xwork-default.xml");
+ XmlConfigurationProvider provider1 = new StrutsXmlConfigurationProvider("xwork-default.xml");
container.inject(provider1);
- XmlConfigurationProvider provider2 = new XmlConfigurationProvider("xwork-test-validation.xml");
+ XmlConfigurationProvider provider2 = new StrutsXmlConfigurationProvider("xwork-test-validation.xml");
container.inject(provider2);
loadConfigurationProviders(provider1, provider2);
}
diff --git a/core/src/test/java/org/apache/struts2/factory/PrefixBasedActionProxyFactoryTest.java b/core/src/test/java/org/apache/struts2/factory/PrefixBasedActionProxyFactoryTest.java
index 109a61f..01d2bd4 100644
--- a/core/src/test/java/org/apache/struts2/factory/PrefixBasedActionProxyFactoryTest.java
+++ b/core/src/test/java/org/apache/struts2/factory/PrefixBasedActionProxyFactoryTest.java
@@ -23,7 +23,6 @@
import com.opensymphony.xwork2.DefaultActionProxyFactory;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
-import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.inject.Context;
import com.opensymphony.xwork2.inject.Factory;
@@ -32,6 +31,7 @@
import com.opensymphony.xwork2.test.StubConfigurationProvider;
import com.opensymphony.xwork2.util.location.LocatableProperties;
import org.apache.struts2.StrutsInternalTestCase;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import java.util.Collections;
import java.util.Map;
@@ -43,63 +43,65 @@
public void testDifferentPrefixes() throws Exception {
initFactory("/ns1:prefix1,/ns2:prefix2");
- ActionProxy proxy1 = factory.createActionProxy("/ns1", "", "", Collections.<String, Object>emptyMap(), false, true);
+ ActionProxy proxy1 = factory.createActionProxy("/ns1", "", "", Collections.emptyMap(), false, true);
assertTrue(proxy1 instanceof Prefix1ActionProxy);
- ActionProxy proxy2 = factory.createActionProxy("/ns2", "", "", Collections.<String, Object>emptyMap(), false, true);
+ ActionProxy proxy2 = factory.createActionProxy("/ns2", "", "", Collections.emptyMap(), false, true);
assertTrue(proxy2 instanceof Prefix2ActionProxy);
}
public void testFallbackToDefault() throws Exception {
initFactory("/ns1:prefix1");
- ActionProxy proxy1 = factory.createActionProxy("/ns1", "", "", Collections.<String, Object>emptyMap(), false, true);
+ ActionProxy proxy1 = factory.createActionProxy("/ns1", "", "", Collections.emptyMap(), false, true);
assertTrue(proxy1 instanceof Prefix1ActionProxy);
- ActionProxy proxy2 = factory.createActionProxy("", "Foo", "", Collections.<String, Object>emptyMap(), false, true);
+ ActionProxy proxy2 = factory.createActionProxy("", "Foo", "", Collections.emptyMap(), false, true);
assertTrue(proxy2 instanceof StrutsActionProxy);
}
public void testEmptyPrefix() throws Exception {
initFactory(":prefix1");
- ActionProxy proxy1 = factory.createActionProxy("/ns1", "", "", Collections.<String, Object>emptyMap(), false, true);
+ ActionProxy proxy1 = factory.createActionProxy("/ns1", "", "", Collections.emptyMap(), false, true);
assertTrue(proxy1 instanceof Prefix1ActionProxy);
- ActionProxy proxy2 = factory.createActionProxy("/ns2", "", "", Collections.<String, Object>emptyMap(), false, true);
+ ActionProxy proxy2 = factory.createActionProxy("/ns2", "", "", Collections.emptyMap(), false, true);
assertTrue(proxy2 instanceof Prefix1ActionProxy);
}
@Override
public void setUp() throws Exception {
ConfigurationProvider[] providers = new ConfigurationProvider[]{
- new XmlConfigurationProvider("xwork-sample.xml"),
- new StubConfigurationProvider() {
- @Override
- public void register(ContainerBuilder builder, LocatableProperties props) throws ConfigurationException {
- builder.factory(ActionProxyFactory.class, "prefix1", new Factory() {
- public Object create(Context context) throws Exception {
- return new Prefix1Factory();
- }
- public Class type() {
- return Prefix1Factory.class;
- }
- }, Scope.SINGLETON);
- }
- },
- new StubConfigurationProvider() {
- @Override
- public void register(ContainerBuilder builder, LocatableProperties props) throws ConfigurationException {
- builder.factory(ActionProxyFactory.class, "prefix2", new Factory() {
- public Object create(Context context) throws Exception {
- return new Prefix2Factory();
- }
- public Class type() {
- return Prefix2Factory.class;
- }
- }, Scope.SINGLETON);
- }
+ new StrutsXmlConfigurationProvider("xwork-sample.xml"),
+ new StubConfigurationProvider() {
+ @Override
+ public void register(ContainerBuilder builder, LocatableProperties props) throws ConfigurationException {
+ builder.factory(ActionProxyFactory.class, "prefix1", new Factory() {
+ public Object create(Context context) throws Exception {
+ return new Prefix1Factory();
+ }
+
+ public Class type() {
+ return Prefix1Factory.class;
+ }
+ }, Scope.SINGLETON);
}
+ },
+ new StubConfigurationProvider() {
+ @Override
+ public void register(ContainerBuilder builder, LocatableProperties props) throws ConfigurationException {
+ builder.factory(ActionProxyFactory.class, "prefix2", new Factory() {
+ public Object create(Context context) throws Exception {
+ return new Prefix2Factory();
+ }
+
+ public Class type() {
+ return Prefix2Factory.class;
+ }
+ }, Scope.SINGLETON);
+ }
+ }
};
loadConfigurationProviders(providers);
diff --git a/core/src/test/java/org/apache/struts2/interceptor/FetchMetadataInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/FetchMetadataInterceptorTest.java
index 2249077..7d7c4bd 100644
--- a/core/src/test/java/org/apache/struts2/interceptor/FetchMetadataInterceptorTest.java
+++ b/core/src/test/java/org/apache/struts2/interceptor/FetchMetadataInterceptorTest.java
@@ -18,7 +18,6 @@
*/
package org.apache.struts2.interceptor;
-
import static org.apache.struts2.interceptor.ResourceIsolationPolicy.DEST_EMBED;
import static org.apache.struts2.interceptor.ResourceIsolationPolicy.DEST_OBJECT;
import static org.apache.struts2.interceptor.ResourceIsolationPolicy.DEST_SCRIPT;
@@ -43,6 +42,7 @@
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.mock.MockActionInvocation;
import org.apache.struts2.ServletActionContext;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
@@ -155,7 +155,7 @@
// Perform a multi-step test to confirm (indirectly) that the method parameter injection of setExemptedPaths() for
// the FetchMetadataInterceptor is functioning as expected, when configured appropriately.
// Ensure we're using the specific test configuration, not the default simple configuration.
- XmlConfigurationProvider configurationProvider = new XmlConfigurationProvider("struts-testing.xml");
+ XmlConfigurationProvider configurationProvider = new StrutsXmlConfigurationProvider("struts-testing.xml");
container.inject(configurationProvider);
loadConfigurationProviders(configurationProvider);
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder1/xwork-test-load-order.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder1/xwork-test-load-order.xml
index 5b0e6e8..e667373 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder1/xwork-test-load-order.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder1/xwork-test-load-order.xml
@@ -19,10 +19,9 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.1.3//EN"
- "http://struts.apache.org/dtds/xwork-2.1.3.dtd"
- >
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
-<xwork order="2">
-</xwork>
+<struts order="2">
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder2/xwork-test-load-order.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder2/xwork-test-load-order.xml
index 6cb1ef2..8cbf2d7 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder2/xwork-test-load-order.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder2/xwork-test-load-order.xml
@@ -19,10 +19,9 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.1.3//EN"
- "http://struts.apache.org/dtds/xwork-2.1.3.dtd"
- >
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
-<xwork order="3">
-</xwork>
+<struts order="3">
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder3/xwork-test-load-order.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder3/xwork-test-load-order.xml
index 61653ae..03d16f9 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder3/xwork-test-load-order.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder3/xwork-test-load-order.xml
@@ -19,10 +19,9 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.1.3//EN"
- "http://struts.apache.org/dtds/xwork-2.1.3.dtd"
- >
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
-<xwork order="1">
-</xwork>
+<struts order="1">
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork- test.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork- test.xml
index 50bc3da..456a725 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork- test.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork- test.xml
@@ -19,13 +19,11 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
- <include file="xwork-test-beans.xml" />
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
+ <include file="xwork-test-beans.xml"/>
<package name="default">
<result-types>
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
@@ -55,7 +53,7 @@
<param name="bar">23</param>
<param name="testXW412">foo.jspa?fooID=${fooID}&something=bar</param>
<param name="testXW412Again">
- something
+ something
</param>
<param name="testForXW171"></param>
</action>
@@ -63,19 +61,19 @@
<action name="Foo" class="com.opensymphony.xwork2.SimpleAction">
<param name="foo">18</param>
<param name="bar">24</param>
- <result name="success" type="mock" />
+ <result name="success" type="mock"/>
<interceptor-ref name="defaultStack"/>
</action>
<action name="WildCard" class="com.opensymphony.xwork2.SimpleAction">
- <result name="*" type="mock" />
+ <result name="*" type="mock"/>
<interceptor-ref name="defaultStack"/>
</action>
<action name="FooBar" class="com.opensymphony.xwork2.SimpleAction">
<param name="foo">18</param>
<param name="bar">24</param>
- <result name="success" type="mock" />
+ <result name="success" type="mock"/>
<interceptor-ref name="defaultStack"/>
<exception-mapping name="runtime" exception="java.lang.RuntimeException" result="exception"/>
</action>
@@ -99,4 +97,4 @@
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package-2.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package-2.xml
index 7e7b7ee..bf6df3e 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package-2.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package-2.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<package name="namespace5" extends="namespace4" namespace="/namespace5">
<action name="action5" class="com.opensymphony.xwork2.SimpleAction">
<result name="success" type="chain"/>
@@ -32,4 +30,4 @@
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package.xml
index d45f8d6..06d213d 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<package name="namespace4" extends="namespace1" namespace="/namespace4">
<interceptors>
<interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
@@ -38,4 +36,4 @@
<include file="com/opensymphony/xwork2/config/providers/xwork-include-after-package-2.xml" />
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package-2.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package-2.xml
index 0e4a0ef..aeae5a6 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package-2.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package-2.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<package name="namespace2" extends="namespace1" namespace="/namespace2">
<action name="action2" class="com.opensymphony.xwork2.SimpleAction">
<result name="success" type="chain"/>
@@ -32,4 +30,4 @@
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package.xml
index 67a08b4..c68115b 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="namespace1" extends="default" namespace="/namespace1">
@@ -40,4 +38,4 @@
<include file="com/opensymphony/xwork2/config/providers/xwork-include-before-package-2.xml" />
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-parent.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-parent.xml
index 852a7fe..dbd7795 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-parent.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-parent.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-default.xml" />
<package name="default">
@@ -40,4 +38,4 @@
<include file="com/opensymphony/xwork2/config/providers/xwork-include-after-package.xml" />
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-action-invalid.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-action-invalid.xml
index efe4393..53b9a2f 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-action-invalid.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-action-invalid.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="default">
@@ -41,4 +39,4 @@
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions-packagedefaultclassref.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions-packagedefaultclassref.xml
index 6b0008b..c2717be 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions-packagedefaultclassref.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions-packagedefaultclassref.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<package name="default">
<result-types>
@@ -57,4 +55,4 @@
<param name="testForXW171"></param>
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions.xml
index 50bc3da..456a725 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions.xml
@@ -19,13 +19,11 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
- <include file="xwork-test-beans.xml" />
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
+ <include file="xwork-test-beans.xml"/>
<package name="default">
<result-types>
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
@@ -55,7 +53,7 @@
<param name="bar">23</param>
<param name="testXW412">foo.jspa?fooID=${fooID}&something=bar</param>
<param name="testXW412Again">
- something
+ something
</param>
<param name="testForXW171"></param>
</action>
@@ -63,19 +61,19 @@
<action name="Foo" class="com.opensymphony.xwork2.SimpleAction">
<param name="foo">18</param>
<param name="bar">24</param>
- <result name="success" type="mock" />
+ <result name="success" type="mock"/>
<interceptor-ref name="defaultStack"/>
</action>
<action name="WildCard" class="com.opensymphony.xwork2.SimpleAction">
- <result name="*" type="mock" />
+ <result name="*" type="mock"/>
<interceptor-ref name="defaultStack"/>
</action>
<action name="FooBar" class="com.opensymphony.xwork2.SimpleAction">
<param name="foo">18</param>
<param name="bar">24</param>
- <result name="success" type="mock" />
+ <result name="success" type="mock"/>
<interceptor-ref name="defaultStack"/>
<exception-mapping name="runtime" exception="java.lang.RuntimeException" result="exception"/>
</action>
@@ -99,4 +97,4 @@
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowed-methods.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowed-methods.xml
index 394537e..17b33ab 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowed-methods.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowed-methods.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.5//EN"
- "http://struts.apache.org/dtds/xwork-2.5.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<package name="default" strict-method-invocation="false">
<global-allowed-methods>input,cancel</global-allowed-methods>
<action name="Default">
@@ -68,4 +66,4 @@
<allowed-methods>foo,bar</allowed-methods>
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-bad-inheritance.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-bad-inheritance.xml
index 92e1b93..d271a1c 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-bad-inheritance.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-bad-inheritance.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="default" />
@@ -35,4 +33,4 @@
<package name="anotherCircularPackage" extends="anotherCircularPackage2"/>
<package name="anotherCircularPackage2" extends="anotherCircularPackage"/>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-basic-packages.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-basic-packages.xml
index 75aee6f..ccd8aed 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-basic-packages.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-basic-packages.xml
@@ -19,16 +19,14 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
+ <include file="xwork-test-beans.xml"/>
+ <package name="default"/>
-<xwork>
- <include file="xwork-test-beans.xml" />
- <package name="default" />
+ <package name="namespacepkg" namespace="/namespace/set"/>
- <package name="namespacepkg" namespace="/namespace/set" />
-
- <package name="abstractpkg" abstract="true" />
-</xwork>
+ <package name="abstractpkg" abstract="true"/>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-default-package.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-default-package.xml
index 4f13c71..2c566d2 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-default-package.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-default-package.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="default" />
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-defaultclassref-package.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-defaultclassref-package.xml
index d352213..adc41eb 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-defaultclassref-package.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-defaultclassref-package.xml
@@ -19,14 +19,12 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<package name="hasDefaultClassRef">
- <default-class-ref class="com.opensymphony.xwork2.ActionSupport" />
+ <default-class-ref class="com.opensymphony.xwork2.ActionSupport"/>
</package>
<package name="noDefaultClassRef"/>
-</xwork>
\ No newline at end of file
+</struts>
\ No newline at end of file
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-envs-substitution.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-envs-substitution.xml
index 47c2d94..03fe2b7 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-envs-substitution.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-envs-substitution.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.5//EN"
- "http://struts.apache.org/dtds/xwork-2.5.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<constant name="foo" value="bar"/>
@@ -43,4 +41,4 @@
<constant name="struts.devMode" value="${env.STRUTS_DEV_MODE:false}"/>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-exception-mappings.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-exception-mappings.xml
index b7f955e..71f6070 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-exception-mappings.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-exception-mappings.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="default">
<result-types>
@@ -51,4 +49,4 @@
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-global-result-inheritence.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-global-result-inheritence.xml
index db46c18..461c2e1 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-global-result-inheritence.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-global-result-inheritence.xml
@@ -19,50 +19,48 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
- <include file="xwork-test-beans.xml" />
- <package name="parent" namespace="/base">
- <result-types>
- <result-type name="mockResult" class="com.opensymphony.xwork2.mock.MockResult" />
- </result-types>
- <global-results>
- <result name="mockResult1" type="mockResult">
- <param name="identity">p1</param>
- </result>
- <result name="mockResult2" type="mockResult">
- <param name="identity">p2</param>
- </result>
- </global-results>
- <action name="parentAction" />
- </package>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
+ <include file="xwork-test-beans.xml"/>
+ <package name="parent" namespace="/base">
+ <result-types>
+ <result-type name="mockResult" class="com.opensymphony.xwork2.mock.MockResult"/>
+ </result-types>
+ <global-results>
+ <result name="mockResult1" type="mockResult">
+ <param name="identity">p1</param>
+ </result>
+ <result name="mockResult2" type="mockResult">
+ <param name="identity">p2</param>
+ </result>
+ </global-results>
+ <action name="parentAction"/>
+ </package>
- <package name="another" namespace="/base">
- <result-types>
- <result-type name="anotherMockResult" class="com.opensymphony.xwork2.mock.MockResult" />
- </result-types>
- <global-results>
- <result name="mockResult1" type="anotherMockResult">
- <param name="identity">a1</param>
- </result>
- <result name="mockResult2" type="anotherMockResult">
- <param name="identity">a2</param>
- </result>
- </global-results>
- <action name="anotherAction" />
- </package>
+ <package name="another" namespace="/base">
+ <result-types>
+ <result-type name="anotherMockResult" class="com.opensymphony.xwork2.mock.MockResult"/>
+ </result-types>
+ <global-results>
+ <result name="mockResult1" type="anotherMockResult">
+ <param name="identity">a1</param>
+ </result>
+ <result name="mockResult2" type="anotherMockResult">
+ <param name="identity">a2</param>
+ </result>
+ </global-results>
+ <action name="anotherAction"/>
+ </package>
- <package name="child" extends="parent" namespace="/base">
- <global-results>
- <result name="mockResult1" type="mockResult">
- <param name="identity">c1</param>
- </result>
- </global-results>
- <action name="childAction" />
- </package>
-</xwork>
+ <package name="child" extends="parent" namespace="/base">
+ <global-results>
+ <result name="mockResult1" type="mockResult">
+ <param name="identity">c1</param>
+ </result>
+ </global-results>
+ <action name="childAction"/>
+ </package>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-include-wildcard.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-include-wildcard.xml
index 573d55e..a9ef731 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-include-wildcard.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-include-wildcard.xml
@@ -19,11 +19,9 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.1//EN"
- "http://struts.apache.org/dtds/xwork-2.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="com/opensymphony/xwork2/config/providers/xwork-include-*.xml"/>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-defaultref.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-defaultref.xml
index 3902c3b..7cde9bc 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-defaultref.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-defaultref.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<!-- this package has a default interceptor ref - so actions with no refs should have the default ref -->
<package name="default">
<interceptors>
@@ -48,4 +46,4 @@
<interceptor-ref name="logging"/>
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-inheritance.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-inheritance.xml
index a20a873..929a018 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-inheritance.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-inheritance.xml
@@ -19,13 +19,11 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
- <include file="xwork-test-beans.xml" />
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
+ <include file="xwork-test-beans.xml"/>
<package name="default">
<interceptors>
<interceptor name="noop" class="org.apache.struts2.interceptor.NoOpInterceptor"/>
@@ -52,4 +50,4 @@
</interceptor-stack>
</interceptors>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-param-overriding.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-param-overriding.xml
index d18d1a4..660f6dc 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-param-overriding.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-param-overriding.xml
@@ -19,11 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd">
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="packageOne">
<result-types>
@@ -60,5 +59,5 @@
<result name="success" type="mock">test2</result>
</action>
</package>
-</xwork>
+</struts>
\ No newline at end of file
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-params.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-params.xml
index 4943bbc..32c4099 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-params.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-params.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="default">
<interceptors>
@@ -55,4 +53,4 @@
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-stack-param-overriding.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-stack-param-overriding.xml
index c9a56f0..d94e4f2 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-stack-param-overriding.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-stack-param-overriding.xml
@@ -19,53 +19,55 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd">
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
+ <package name="packageOne">
+ <result-types>
+ <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult"/>
+ </result-types>
-<xwork>
- <package name="packageOne">
- <result-types>
- <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult" />
- </result-types>
+ <interceptors>
+ <interceptor name="interceptorOne"
+ class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose"/>
+ <interceptor name="interceptorTwo"
+ class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose"/>
+ <interceptor name="interceptorThree"
+ class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose"/>
- <interceptors>
- <interceptor name="interceptorOne" class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose" />
- <interceptor name="interceptorTwo" class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose" />
- <interceptor name="interceptorThree" class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose" />
+ <interceptor-stack name="stackOne">
+ <interceptor-ref name="interceptorOne"/>
+ <interceptor-ref name="interceptorTwo"/>
+ <interceptor-ref name="interceptorThree"/>
+ </interceptor-stack>
- <interceptor-stack name="stackOne">
- <interceptor-ref name="interceptorOne" />
- <interceptor-ref name="interceptorTwo" />
- <interceptor-ref name="interceptorThree" />
- </interceptor-stack>
+ <interceptor-stack name="stackTwo">
+ <interceptor-ref name="stackOne"/>
+ </interceptor-stack>
- <interceptor-stack name="stackTwo">
- <interceptor-ref name="stackOne" />
- </interceptor-stack>
+ <interceptor-stack name="stackThree">
+ <interceptor-ref name="stackTwo"/>
+ </interceptor-stack>
- <interceptor-stack name="stackThree">
- <interceptor-ref name="stackTwo" />
- </interceptor-stack>
+ </interceptors>
- </interceptors>
+ <action name="actionOne">
+ <interceptor-ref name="stackTwo">
+ <param name="stackOne.interceptorOne.paramOne">i1p1</param>
+ <param name="stackOne.interceptorOne.paramTwo">i1p2</param>
+ <param name="stackOne.interceptorTwo.paramOne">i2p1</param>
+ </interceptor-ref>
+ <result name="success" type="mock">test1</result>
+ </action>
- <action name="actionOne">
- <interceptor-ref name="stackTwo">
- <param name="stackOne.interceptorOne.paramOne">i1p1</param>
- <param name="stackOne.interceptorOne.paramTwo">i1p2</param>
- <param name="stackOne.interceptorTwo.paramOne">i2p1</param>
- </interceptor-ref>
- <result name="success" type="mock">test1</result>
- </action>
-
- <action name="actionTwo">
- <interceptor-ref name="stackThree">
- <param name="stackTwo.stackOne.interceptorThree.paramOne">i3p1</param>
- <param name="stackTwo.stackOne.interceptorThree.paramTwo">i3p2</param>
- <param name="stackTwo.stackOne.interceptorTwo.paramTwo">i2p2</param>
- </interceptor-ref>
- <result name="success" type="mock">test2</result>
- </action>
- </package>
-</xwork>
+ <action name="actionTwo">
+ <interceptor-ref name="stackThree">
+ <param name="stackTwo.stackOne.interceptorThree.paramOne">i3p1</param>
+ <param name="stackTwo.stackOne.interceptorThree.paramTwo">i3p2</param>
+ <param name="stackTwo.stackOne.interceptorTwo.paramTwo">i2p2</param>
+ </interceptor-ref>
+ <result name="success" type="mock">test2</result>
+ </action>
+ </package>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-basic.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-basic.xml
index ac52fc3..6ed804d 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-basic.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-basic.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="default">
<interceptors>
@@ -45,4 +43,4 @@
</interceptor-stack>
</interceptors>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-spring.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-spring.xml
index bc6e93b..431926d 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-spring.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-spring.xml
@@ -19,16 +19,14 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
- <include file="xwork-test-beans.xml" />
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
+ <include file="xwork-test-beans.xml"/>
<package name="default">
<interceptors>
<interceptor name="noop" class="noop-interceptor"/>
</interceptors>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-multilevel.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-multilevel.xml
index 4e44893..7e3f99b 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-multilevel.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-multilevel.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="default">
<result-types>
@@ -62,5 +60,5 @@
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-package-inheritance.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-package-inheritance.xml
index 676a260..b57b546 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-package-inheritance.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-package-inheritance.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="default" namespace="/default">
<action name="default" class="com.opensymphony.xwork2.ActionSupport"/>
@@ -45,4 +43,4 @@
<package name="multipleInheritance" namespace="/multiple" extends="default,abstractPackage,singleInheritance">
<action name="multiple" class="com.opensymphony.xwork2.ActionSupport"/>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-reload.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-reload.xml
index ffd5755..142b8eb 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-reload.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-reload.xml
@@ -19,13 +19,11 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.5//EN"
- "http://struts.apache.org/dtds/xwork-2.5.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<constant name="struts.configuration.xml.reload" value="true" />
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-inheritance.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-inheritance.xml
index 518e232..b526aab 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-inheritance.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-inheritance.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="default">
<result-types>
@@ -44,4 +42,4 @@
<result name="subMockTypedResult" type="subMock" />
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-names.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-names.xml
index 8d3dca6..e239161 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-names.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-names.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.5//EN"
- "http://struts.apache.org/dtds/xwork-2.5.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="default">
<result-types>
@@ -66,4 +64,4 @@
<result name="input" />
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-types.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-types.xml
index 68709c2..6763ea6 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-types.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-types.xml
@@ -19,55 +19,54 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd">
-
-<xwork>
- <include file="xwork-test-beans.xml" />
- <package name="xworkResultTypesTestPackage1">
- <result-types>
- <result-type name="result1" class="com.opensymphony.xwork2.mock.MockResult" >
- <param name="param1">value1</param>
- <param name="param2">value2</param>
- <param name="param3">value3</param>
- </result-type>
- <result-type name="result2" class="com.opensymphony.xwork2.mock.MockResult">
- <param name="paramA">valueA</param>
- <param name="paramB">valueB</param>
- </result-type>
- </result-types>
- </package>
-
-
- <package name="xworkResultTypesTestPackage2">
- <result-types>
- <result-type name="result1" class="com.opensymphony.xwork2.mock.MockResult" >
- <param name="param1">value1</param>
- <param name="param2">value2</param>
- <param name="param3">value3</param>
- </result-type>
- <result-type name="result2" class="com.opensymphony.xwork2.mock.MockResult">
- <param name="paramA">valueA</param>
- <param name="paramB">valueB</param>
- </result-type>
- </result-types>
-
- <action name="action1">
- <result name="success" type="result1">
- <param name="param1">newValue1</param>
- <param name="param3">newValue3</param>
- <param name="param10">value10</param>
- <param name="param11">value11</param>
- </result>
- </action>
-
- <action name="action2">
- <result name="success" type="result2">
- <param name="paramB">newValueB</param>
- <param name="paramZ">valueZ</param>
- </result>
- </action>
- </package>
-
-</xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
+ <include file="xwork-test-beans.xml"/>
+ <package name="xworkResultTypesTestPackage1">
+ <result-types>
+ <result-type name="result1" class="com.opensymphony.xwork2.mock.MockResult">
+ <param name="param1">value1</param>
+ <param name="param2">value2</param>
+ <param name="param3">value3</param>
+ </result-type>
+ <result-type name="result2" class="com.opensymphony.xwork2.mock.MockResult">
+ <param name="paramA">valueA</param>
+ <param name="paramB">valueB</param>
+ </result-type>
+ </result-types>
+ </package>
+
+
+ <package name="xworkResultTypesTestPackage2">
+ <result-types>
+ <result-type name="result1" class="com.opensymphony.xwork2.mock.MockResult">
+ <param name="param1">value1</param>
+ <param name="param2">value2</param>
+ <param name="param3">value3</param>
+ </result-type>
+ <result-type name="result2" class="com.opensymphony.xwork2.mock.MockResult">
+ <param name="paramA">valueA</param>
+ <param name="paramB">valueB</param>
+ </result-type>
+ </result-types>
+
+ <action name="action1">
+ <result name="success" type="result1">
+ <param name="param1">newValue1</param>
+ <param name="param3">newValue3</param>
+ <param name="param10">value10</param>
+ <param name="param11">value11</param>
+ </result>
+ </action>
+
+ <action name="action2">
+ <result name="success" type="result2">
+ <param name="paramB">newValueB</param>
+ <param name="paramZ">valueZ</param>
+ </result>
+ </action>
+ </package>
+
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-results.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-results.xml
index fd35dbf..91ab555 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-results.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-results.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="default">
<result-types>
@@ -50,4 +48,4 @@
</result>
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-1.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-1.xml
index 1a54461..a889f0f 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-1.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-1.xml
@@ -19,11 +19,9 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<package name="default-1" />
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-2.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-2.xml
index 53ea572..c84108d 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-2.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-2.xml
@@ -19,11 +19,9 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<package name="default-2" />
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-include.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-include.xml
index 0b751f1..d352547 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-include.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-include.xml
@@ -19,15 +19,13 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<include file="com/opensymphony/xwork2/config/providers/xwork-test-wildcard-*.xml" />
<!-- config file defined inside xwork-jar.jar -->
<include file="xwork-jar.xml" />
<package name="default-wildcard" />
-</xwork>
\ No newline at end of file
+</struts>
\ No newline at end of file
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack-empty.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack-empty.xml
index 5f3ea4d..313507c 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack-empty.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack-empty.xml
@@ -19,15 +19,13 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.1//EN"
- "http://struts.apache.org/dtds/xwork-2.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<bean type="com.opensymphony.xwork2.UnknownHandler" name="uh1" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/>
<bean type="com.opensymphony.xwork2.UnknownHandler" name="uh2" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/>
<unknown-handler-stack>
</unknown-handler-stack>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack.xml b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack.xml
index 75f4379..886ae18 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.1//EN"
- "http://struts.apache.org/dtds/xwork-2.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<bean type="com.opensymphony.xwork2.UnknownHandler" name="uh1" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/>
<bean type="com.opensymphony.xwork2.UnknownHandler" name="uh2" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/>
@@ -32,4 +30,4 @@
<unknown-handler-ref name="uh1" />
<unknown-handler-ref name="uh2" />
</unknown-handler-stack>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/spring/actionContext-xwork.xml b/core/src/test/resources/com/opensymphony/xwork2/spring/actionContext-xwork.xml
index 2c3554a..d44f41d 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/spring/actionContext-xwork.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/spring/actionContext-xwork.xml
@@ -19,8 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC "-//Apache Struts//XWork 2.0//EN" "http://struts.apache.org/dtds/xwork-2.0.dtd">
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<bean type="com.opensymphony.xwork2.ObjectFactory" class="com.opensymphony.xwork2.spring.SpringObjectFactory" />
<constant name="applicationContextPath" value="com/opensymphony/xwork2/spring/actionContext-spring.xml" />
<constant name="struts.disallowProxyMemberAccess" value="true" />
@@ -65,4 +67,4 @@
<result name="S2-047" type="null" />
</action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/com/opensymphony/xwork2/spring/xwork-autowire.xml b/core/src/test/resources/com/opensymphony/xwork2/spring/xwork-autowire.xml
index 702f899..c2c3293 100644
--- a/core/src/test/resources/com/opensymphony/xwork2/spring/xwork-autowire.xml
+++ b/core/src/test/resources/com/opensymphony/xwork2/spring/xwork-autowire.xml
@@ -19,25 +19,31 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC "-//Apache Struts//XWork 2.0//EN" "http://struts.apache.org/dtds/xwork-2.0.dtd">
-<xwork>
- <bean type="com.opensymphony.xwork2.ActionProxyFactory" name="default" class="com.opensymphony.xwork2.DefaultActionProxyFactory" />
- <bean type="com.opensymphony.xwork2.ObjectFactory" name="default" class="com.opensymphony.xwork2.spring.SpringObjectFactory" />
- <constant name="applicationContextPath" value="com/opensymphony/xwork2/spring/actionContext-spring.xml" />
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
+ <bean type="com.opensymphony.xwork2.ActionProxyFactory" name="default"
+ class="com.opensymphony.xwork2.DefaultActionProxyFactory"/>
+ <bean type="com.opensymphony.xwork2.ObjectFactory" name="default"
+ class="com.opensymphony.xwork2.spring.SpringObjectFactory"/>
+ <constant name="applicationContextPath" value="com/opensymphony/xwork2/spring/actionContext-spring.xml"/>
<package name="default">
<result-types>
<result-type name="null"
-class="com.opensymphony.xwork2.result.NullResult" default="true"/>
+ class="com.opensymphony.xwork2.result.NullResult" default="true"/>
</result-types>
<interceptors>
<interceptor name="autowire" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor">
- <param name="autowireStrategy">@org.springframework.beans.factory.config.AutowireCapableBeanFactory@AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE</param>
+ <param name="autowireStrategy">
+ @org.springframework.beans.factory.config.AutowireCapableBeanFactory@AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE
+ </param>
</interceptor>
</interceptors>
<default-interceptor-ref name="autowire"/>
- <action name="simpleAction" class="com.opensymphony.xwork2.SimpleAction"/>
+ <action name="simpleAction" class="com.opensymphony.xwork2.SimpleAction"/>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/includeTest.xml b/core/src/test/resources/includeTest.xml
index c232db0..018c3ba 100644
--- a/core/src/test/resources/includeTest.xml
+++ b/core/src/test/resources/includeTest.xml
@@ -19,13 +19,11 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 1.1.1//EN"
- "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<package name="includeTest" extends="default" namespace="includeTest">
<action name="includeTest" class="com.opensymphony.xwork2.SimpleAction"></action>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/org/apache/struts2/dispatcher/ng/struts-no-op.xml b/core/src/test/resources/org/apache/struts2/dispatcher/ng/struts-no-op.xml
index 28c0d65..55a8f32 100644
--- a/core/src/test/resources/org/apache/struts2/dispatcher/ng/struts-no-op.xml
+++ b/core/src/test/resources/org/apache/struts2/dispatcher/ng/struts-no-op.xml
@@ -20,6 +20,6 @@
*/
-->
<!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
+ "-//Apache Software Foundation//DTD Struts Configuration 2.6//EN"
+ "http://struts.apache.org/dtds/struts-2.6.dtd">
<struts />
\ No newline at end of file
diff --git a/core/src/test/resources/org/apache/struts2/views/jsp/WW3090-struts.xml b/core/src/test/resources/org/apache/struts2/views/jsp/WW3090-struts.xml
index c6e256f..8e23a20 100644
--- a/core/src/test/resources/org/apache/struts2/views/jsp/WW3090-struts.xml
+++ b/core/src/test/resources/org/apache/struts2/views/jsp/WW3090-struts.xml
@@ -21,8 +21,8 @@
-->
<!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
+ "-//Apache Software Foundation//DTD Struts Configuration 2.6//EN"
+ "http://struts.apache.org/dtds/struts-2.6.dtd">
<struts>
diff --git a/core/src/test/resources/xwork-1.0.dtd b/core/src/test/resources/struts-2.0.dtd
similarity index 100%
rename from core/src/test/resources/xwork-1.0.dtd
rename to core/src/test/resources/struts-2.0.dtd
diff --git a/core/src/test/resources/struts.xml b/core/src/test/resources/struts.xml
index cae2eb8..ca6609e 100644
--- a/core/src/test/resources/struts.xml
+++ b/core/src/test/resources/struts.xml
@@ -20,8 +20,8 @@
*/
-->
<!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
+ "-//Apache Software Foundation//DTD Struts Configuration 2.6//EN"
+ "http://struts.apache.org/dtds/struts-2.6.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="hello" class="com.opensymphony.xwork2.ActionSupport">
diff --git a/core/src/test/resources/xwork - jar.jar b/core/src/test/resources/xwork - jar.jar
index 8206d3e..94050fe 100644
--- a/core/src/test/resources/xwork - jar.jar
+++ b/core/src/test/resources/xwork - jar.jar
Binary files differ
diff --git a/core/src/test/resources/xwork - zip.zip b/core/src/test/resources/xwork - zip.zip
index a04c87e..49e9701 100644
--- a/core/src/test/resources/xwork - zip.zip
+++ b/core/src/test/resources/xwork - zip.zip
Binary files differ
diff --git a/core/src/test/resources/xwork-class-param-test.xml b/core/src/test/resources/xwork-class-param-test.xml
index 7c67baf..451b9f7 100644
--- a/core/src/test/resources/xwork-class-param-test.xml
+++ b/core/src/test/resources/xwork-class-param-test.xml
@@ -19,14 +19,13 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd">
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.excludedClasses" value="java.lang.Object,java.lang.Runtime" />
<constant name="struts.override.excludedPatterns" value="not-existing-pattern"/>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/xwork-jar.jar b/core/src/test/resources/xwork-jar.jar
index 70434e6..5c71c0a 100644
--- a/core/src/test/resources/xwork-jar.jar
+++ b/core/src/test/resources/xwork-jar.jar
Binary files differ
diff --git a/core/src/test/resources/xwork-param-test.xml b/core/src/test/resources/xwork-param-test.xml
index c8fb973..ba6386d 100644
--- a/core/src/test/resources/xwork-param-test.xml
+++ b/core/src/test/resources/xwork-param-test.xml
@@ -19,12 +19,11 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd">
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.excludedClasses" value="java.lang.Object,java.lang.Runtime" />
<constant name="struts.additional.excludedPatterns" value=".*(^|\.|\[|\'|")class(\.|\[|\'|").*" />
-</xwork>
+</struts>
diff --git a/core/src/test/resources/xwork-proxyinvoke.xml b/core/src/test/resources/xwork-proxyinvoke.xml
index 2ce698d..109907c 100644
--- a/core/src/test/resources/xwork-proxyinvoke.xml
+++ b/core/src/test/resources/xwork-proxyinvoke.xml
@@ -19,11 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd">
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<bean type="com.opensymphony.xwork2.ObjectFactory" name="default" class="com.opensymphony.xwork2.ProxyObjectFactory" />
<bean type="com.opensymphony.xwork2.ActionProxyFactory" name="default" class="com.opensymphony.xwork2.DefaultActionProxyFactory"/>
@@ -64,4 +63,4 @@
<action name="ProxyInvocation" method="show" class="com.opensymphony.xwork2.ProxyInvocationAction"/>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/xwork-sample.xml b/core/src/test/resources/xwork-sample.xml
index 5ff1e39..89eb645 100644
--- a/core/src/test/resources/xwork-sample.xml
+++ b/core/src/test/resources/xwork-sample.xml
@@ -19,13 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.5//EN"
- "http://struts.apache.org/dtds/xwork-2.5.dtd"
- >
- <!-- "file:///temp/ross/xwork/src/etc/xwork-1.0.dtd" -->
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-default.xml"/>
<package name="default" extends="xwork-test-default">
@@ -277,4 +274,4 @@
</package>
<include file="includeTest.xml"/>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/xwork-test-beans.xml b/core/src/test/resources/xwork-test-beans.xml
index d574834..2ed15b2 100644
--- a/core/src/test/resources/xwork-test-beans.xml
+++ b/core/src/test/resources/xwork-test-beans.xml
@@ -19,12 +19,11 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd">
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<constant name="struts.excludedClasses" value="java.lang.Object,java.lang.Runtime,ognl.OgnlContext,ognl.MemberAccess,ognl.ClassResolver,ognl.TypeConverter,com.opensymphony.xwork2.ognl.SecurityMemberAccess" />
-</xwork>
+</struts>
diff --git a/core/src/test/resources/xwork-test-default.xml b/core/src/test/resources/xwork-test-default.xml
index bdcc91b..f805aa3 100644
--- a/core/src/test/resources/xwork-test-default.xml
+++ b/core/src/test/resources/xwork-test-default.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<package name="xwork-test-default">
<result-types>
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
@@ -56,4 +54,4 @@
</interceptor-stack>
</interceptors>
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/xwork-test-validation.xml b/core/src/test/resources/xwork-test-validation.xml
index ca60347..fe71c26 100644
--- a/core/src/test/resources/xwork-test-validation.xml
+++ b/core/src/test/resources/xwork-test-validation.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<include file="xwork-test-beans.xml" />
<package name="xwork-test-default">
<result-types>
@@ -80,4 +78,4 @@
</package>
-</xwork>
+</struts>
diff --git a/core/src/test/resources/xwork-zip.zip b/core/src/test/resources/xwork-zip.zip
index 1825195..136a03a 100644
--- a/core/src/test/resources/xwork-zip.zip
+++ b/core/src/test/resources/xwork-zip.zip
Binary files differ
diff --git a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/BeanValidationInterceptorTest.java b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/BeanValidationInterceptorTest.java
index 6b45432..88b16d8 100644
--- a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/BeanValidationInterceptorTest.java
+++ b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/BeanValidationInterceptorTest.java
@@ -26,6 +26,7 @@
import org.apache.struts.beanvalidation.actions.FieldMatchAction;
import org.apache.struts.beanvalidation.actions.ModelDrivenAction;
import org.apache.struts.beanvalidation.actions.ValidateGroupAction;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import java.util.Collection;
import java.util.List;
@@ -280,6 +281,6 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- loadConfigurationProviders(new XmlConfigurationProvider("bean-validation-test.xml"));
+ loadConfigurationProviders(new StrutsXmlConfigurationProvider("bean-validation-test.xml"));
}
}
\ No newline at end of file
diff --git a/plugins/bean-validation/src/test/resources/bean-validation-test.xml b/plugins/bean-validation/src/test/resources/bean-validation-test.xml
index 508d9a6..360e10e 100644
--- a/plugins/bean-validation/src/test/resources/bean-validation-test.xml
+++ b/plugins/bean-validation/src/test/resources/bean-validation-test.xml
@@ -19,12 +19,10 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.5//EN"
- "http://struts.apache.org/dtds/xwork-2.5.dtd"
- >
-
-<xwork>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
<constant name="struts.beanValidation.providerClass" value="org.hibernate.validator.HibernateValidator"/>
<constant name="struts.beanValidation.ignoreXMLConfiguration" value="false"/>
<constant name="struts.beanValidation.convertMessageToUtf" value="false"/>
@@ -72,4 +70,4 @@
</action>
</package>
-</xwork>
+</struts>
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/OValValidationInterceptorTest.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/OValValidationInterceptorTest.java
index 5bead82..cf0f840 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/OValValidationInterceptorTest.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/OValValidationInterceptorTest.java
@@ -19,17 +19,16 @@
package org.apache.struts2.oval.interceptor;
import com.opensymphony.xwork2.ActionProxy;
-import com.opensymphony.xwork2.interceptor.ValidationAware;
import com.opensymphony.xwork2.XWorkTestCase;
-import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import com.opensymphony.xwork2.interceptor.ValidationAware;
+import junit.framework.AssertionFailedError;
import net.sf.oval.configuration.Configurer;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
-import junit.framework.AssertionFailedError;
-
public class OValValidationInterceptorTest extends XWorkTestCase {
public void testSimpleFieldsXML() throws Exception {
ActionProxy baseActionProxy = actionProxyFactory.createActionProxy("oval", "simpleFieldsXML", null, null);
@@ -42,7 +41,7 @@
assertValue(fieldErrors, "lastName", Arrays.asList("lastName cannot be null"));
}
- public void testSimpleFieldsJPAAnnotations() throws Exception {
+ public void testSimpleFieldsJPAAnnotations() throws Exception {
ActionProxy baseActionProxy = actionProxyFactory.createActionProxy("oval", "simpleFieldsJPA", null, null);
baseActionProxy.execute();
@@ -290,8 +289,7 @@
assertValue(fieldErrors, "address", Arrays.asList("net.sf.oval.constraint.AssertValid.violated"));
// Oval version <= 1.40 validation error for minimum length reports: "street cannot be smaller than 7 characters".
assertValue(fieldErrors, "address.street", Arrays.asList("street cannot be smaller than 7 characters"));
- }
- catch (AssertionFailedError afe) {
+ } catch (AssertionFailedError afe) {
// Oval version >= 1.50 validation error for invalid data reports: "address is invalid".
assertValue(fieldErrors, "address", Arrays.asList("address is invalid"));
// Oval version >= 1.50 validation error for minimum length reports: "street cannot be shorter than 7 characters".
@@ -301,30 +299,29 @@
}
public void testMemberObject() throws Exception {
- ActionProxy baseActionProxy = actionProxyFactory.createActionProxy("oval", "memberObject", null, null);
- MemberObject action = (MemberObject) baseActionProxy.getAction();
- action.getPerson().setName(null);
- action.getPerson().setEmail(null);
- action.getPerson().getAddress().setStreet("short");
- baseActionProxy.execute();
+ ActionProxy baseActionProxy = actionProxyFactory.createActionProxy("oval", "memberObject", null, null);
+ MemberObject action = (MemberObject) baseActionProxy.getAction();
+ action.getPerson().setName(null);
+ action.getPerson().setEmail(null);
+ action.getPerson().getAddress().setStreet("short");
+ baseActionProxy.execute();
- Map<String, List<String>> fieldErrors = ((ValidationAware) baseActionProxy.getAction()).getFieldErrors();
- assertNotNull(fieldErrors);
- assertEquals(5, fieldErrors.size()); // 5: as there will be field errors for 'person' and 'person.address' themselves
- assertValue(fieldErrors, "person.name", Arrays.asList("name cannot be null"));
- assertValue(fieldErrors, "person.email", Arrays.asList("email cannot be null"));
- try {
- // Oval version <= 1.40 validation error for invalid data reports: "net.sf.oval.constraint.AssertValid.violated".
- assertValue(fieldErrors, "person.address", Arrays.asList("net.sf.oval.constraint.AssertValid.violated"));
- // Oval version <= 1.40 validation error for minimum length reports: "street cannot be smaller than 7 characters".
- assertValue(fieldErrors, "person.address.street", Arrays.asList("street cannot be smaller than 7 characters"));
- }
- catch (AssertionFailedError afe) {
- // Oval version >= 1.50 validation error for invalid data reports: "address is invalid".
- assertValue(fieldErrors, "person.address", Arrays.asList("address is invalid"));
- // Oval version >= 1.50 validation error for minimum length reports: "street cannot be shorter than 7 characters".
- assertValue(fieldErrors, "person.address.street", Arrays.asList("street cannot be shorter than 7 characters"));
- }
+ Map<String, List<String>> fieldErrors = ((ValidationAware) baseActionProxy.getAction()).getFieldErrors();
+ assertNotNull(fieldErrors);
+ assertEquals(5, fieldErrors.size()); // 5: as there will be field errors for 'person' and 'person.address' themselves
+ assertValue(fieldErrors, "person.name", Arrays.asList("name cannot be null"));
+ assertValue(fieldErrors, "person.email", Arrays.asList("email cannot be null"));
+ try {
+ // Oval version <= 1.40 validation error for invalid data reports: "net.sf.oval.constraint.AssertValid.violated".
+ assertValue(fieldErrors, "person.address", Arrays.asList("net.sf.oval.constraint.AssertValid.violated"));
+ // Oval version <= 1.40 validation error for minimum length reports: "street cannot be smaller than 7 characters".
+ assertValue(fieldErrors, "person.address.street", Arrays.asList("street cannot be smaller than 7 characters"));
+ } catch (AssertionFailedError afe) {
+ // Oval version >= 1.50 validation error for invalid data reports: "address is invalid".
+ assertValue(fieldErrors, "person.address", Arrays.asList("address is invalid"));
+ // Oval version >= 1.50 validation error for minimum length reports: "street cannot be shorter than 7 characters".
+ assertValue(fieldErrors, "person.address.street", Arrays.asList("street cannot be shorter than 7 characters"));
+ }
}
@@ -342,6 +339,6 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- loadConfigurationProviders(new XmlConfigurationProvider("oval-test.xml"));
+ loadConfigurationProviders(new StrutsXmlConfigurationProvider("oval-test.xml"));
}
}
diff --git a/plugins/oval/src/test/resources/oval-test.xml b/plugins/oval/src/test/resources/oval-test.xml
index 353e86c..522e92f 100644
--- a/plugins/oval/src/test/resources/oval-test.xml
+++ b/plugins/oval/src/test/resources/oval-test.xml
@@ -19,15 +19,14 @@
* under the License.
*/
-->
-<!DOCTYPE xwork PUBLIC
- "-//Apache Struts//XWork 2.0//EN"
- "http://struts.apache.org/dtds/xwork-2.0.dtd"
- >
-
-<xwork>
- <bean type="org.apache.struts2.oval.interceptor.OValValidationManager" class="org.apache.struts2.oval.interceptor.DummyDefaultOValValidationManager"/>
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
+ <bean type="org.apache.struts2.oval.interceptor.OValValidationManager"
+ class="org.apache.struts2.oval.interceptor.DummyDefaultOValValidationManager"/>
<constant name="struts.enable.SlashesInActionNames" value="true"/>
- <constant name="struts.oval.validateJPAAnnotations" value="false" />
+ <constant name="struts.oval.validateJPAAnnotations" value="false"/>
<package namespace="oval" name="oval-test">
<result-types>
@@ -87,11 +86,13 @@
<interceptor-ref name="ovalValidation"/>
<result type="void"></result>
</action>
- <action name="fieldsWidthProfiles13" class="org.apache.struts2.oval.interceptor.FieldsWithProfiles" method="run1">
+ <action name="fieldsWidthProfiles13" class="org.apache.struts2.oval.interceptor.FieldsWithProfiles"
+ method="run1">
<interceptor-ref name="ovalValidation"/>
<result type="void"></result>
</action>
- <action name="fieldsWidthProfiles2" class="org.apache.struts2.oval.interceptor.FieldsWithProfiles" method="run2">
+ <action name="fieldsWidthProfiles2" class="org.apache.struts2.oval.interceptor.FieldsWithProfiles"
+ method="run2">
<interceptor-ref name="ovalValidation"/>
<result type="void"></result>
</action>
@@ -109,15 +110,15 @@
</action>
<action name="modelDrivenAction" class="org.apache.struts2.oval.interceptor.ModelDrivenAction">
<interceptor-ref name="ovalValidation">
- <param name="validateJPAAnnotations">true</param>
+ <param name="validateJPAAnnotations">true</param>
</interceptor-ref>
<result type="void"></result>
</action>
<action name="memberObject" class="org.apache.struts2.oval.interceptor.MemberObject">
<interceptor-ref name="ovalValidation">
- <param name="validateJPAAnnotations">true</param>
+ <param name="validateJPAAnnotations">true</param>
</interceptor-ref>
<result type="void"></result>
</action>
</package>
-</xwork>
+</struts>