From 65b7efbb9688f9778c30893a17f1ffc4fd29312e Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sun, 11 Jan 2026 10:40:32 +0100 Subject: [PATCH] fix(core): move xwork-default.xml to test resources MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Struts IDEA plugin incorrectly displayed xwork-default.xml as a framework configuration file. This was misleading since the file is only used in testing and is not loaded by the framework by default. Changes: - Move xwork-default.xml from core/src/main/resources to core/src/test/resources and rename to struts-tests-default.xml - Copy struts-tests-default.xml to plugins/spring/src/test/resources - Update all test file references to use the new filename - Update Javadoc examples to use modern Struts terminology (xwork -> struts, xwork-default -> struts-default) Closes [WW-5603](https://issues.apache.org/jira/browse/WW-5603) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../ExceptionMappingInterceptor.java | 14 ++-- ...eConversionErrorFieldValidatorSupport.java | 16 ++--- .../ChainingInterceptorWithConfigTest.java | 2 +- .../AnnotationWorkflowInterceptorTest.java | 2 +- .../apache/struts2/util/ResolverUtilTest.java | 14 ++-- .../DoubleRangeFieldValidatorTest.java | 2 +- .../validator/ValidatorAnnotationTest.java | 2 +- .../resources/struts-tests-default.xml} | 0 .../ActionAutowiringInterceptorTest.java | 2 +- .../test/resources/struts-tests-default.xml | 72 +++++++++++++++++++ 10 files changed, 99 insertions(+), 27 deletions(-) rename core/src/{main/resources/xwork-default.xml => test/resources/struts-tests-default.xml} (100%) create mode 100644 plugins/spring/src/test/resources/struts-tests-default.xml diff --git a/core/src/main/java/org/apache/struts2/interceptor/ExceptionMappingInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/ExceptionMappingInterceptor.java index acc9065003..8e6271e096 100644 --- a/core/src/main/java/org/apache/struts2/interceptor/ExceptionMappingInterceptor.java +++ b/core/src/main/java/org/apache/struts2/interceptor/ExceptionMappingInterceptor.java @@ -84,8 +84,8 @@ * *
  * 
- * <xwork>
- *     <package name="default" extends="xwork-default">
+ * <struts>
+ *     <package name="default" extends="struts-default">
  *         <global-results>
  *             <result name="error" type="freemarker">error.ftl</result>
  *         </global-results>
@@ -102,7 +102,7 @@
  *             <result name="success" type="freemarker">test.ftl</result>
  *         </action>
  *     </package>
- * </xwork>
+ * </struts>
  * 
  * 
* @@ -113,8 +113,8 @@ * *
  * 
- * <xwork>
- *   <package name="something" extends="xwork-default">
+ * <struts>
+ *   <package name="something" extends="struts-default">
  *      <interceptors>
  *          <interceptor-stack name="exceptionmappingStack">
  *              <interceptor-ref name="exception">
@@ -150,7 +150,7 @@
  *      </action>
  *
  *   </package>
- * </xwork>
+ * </struts>
  * 
  * 
* @@ -257,7 +257,7 @@ protected void doLog(Logger logger, Exception e) { } Level level = Level.getLevel(logLevel); - if (level == null) { + if (level == null) { throw new IllegalArgumentException("LogLevel [" + logLevel + "] is not supported"); } logger.log(level, e.getMessage(), e); diff --git a/core/src/main/java/org/apache/struts2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java b/core/src/main/java/org/apache/struts2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java index 7987b84f6c..b6dcd54dec 100644 --- a/core/src/main/java/org/apache/struts2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java +++ b/core/src/main/java/org/apache/struts2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java @@ -36,7 +36,7 @@ * a fake parameter map when a conversion error has occurred and the 'repopulateField' * property is set to "true". *

- * + *

* *

* The capability of auto-repopulating the stack with a fake parameter map when @@ -52,9 +52,9 @@ * property set to true, it will, meaning the textfield will have 'one' as its value * upon conversion error. *

- * + *

* - + * * *

  * 
@@ -75,11 +75,11 @@
  * 
  * 
  *
- * <!-- xwork.xml -->
- * <xwork>
- * <include file="xwork-default.xml" />
+ * <!-- struts.xml -->
+ * <struts>
+ * <include file="struts-default.xml" />
  * ....
- * <package name="myPackage" extends="xwork-default">
+ * <package name="myPackage" extends="struts-default">
  *   ....
  *   <action name="someAction" class="example.MyActionSupport.java">
  *      <result name="input">myJspPage.jsp</result>
@@ -88,7 +88,7 @@
  *   ....
  * </package>
  * ....
- * </xwork>
+ * </struts>
  *
  * 
  * 
diff --git a/core/src/test/java/org/apache/struts2/interceptor/ChainingInterceptorWithConfigTest.java b/core/src/test/java/org/apache/struts2/interceptor/ChainingInterceptorWithConfigTest.java index 88d5fcc8cc..2f7cddfd9b 100644 --- a/core/src/test/java/org/apache/struts2/interceptor/ChainingInterceptorWithConfigTest.java +++ b/core/src/test/java/org/apache/struts2/interceptor/ChainingInterceptorWithConfigTest.java @@ -67,7 +67,7 @@ public void testTwoExcludesPropertiesChained() throws Exception { @Override protected void setUp() throws Exception { super.setUp(); - XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-default.xml"); + XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("struts-tests-default.xml"); container.inject(provider); this.objectFactory = container.getInstance(ObjectFactory.class); loadConfigurationProviders(provider, new MockConfigurationProvider()); diff --git a/core/src/test/java/org/apache/struts2/interceptor/annotations/AnnotationWorkflowInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/annotations/AnnotationWorkflowInterceptorTest.java index dcb80b9437..aa73365e3f 100644 --- a/core/src/test/java/org/apache/struts2/interceptor/annotations/AnnotationWorkflowInterceptorTest.java +++ b/core/src/test/java/org/apache/struts2/interceptor/annotations/AnnotationWorkflowInterceptorTest.java @@ -51,7 +51,7 @@ public class AnnotationWorkflowInterceptorTest extends XWorkTestCase { @Override public void setUp() throws Exception { super.setUp(); - XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-default.xml"); + XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("struts-tests-default.xml"); container.inject(provider); loadConfigurationProviders(provider, new MockConfigurationProvider()); } diff --git a/core/src/test/java/org/apache/struts2/util/ResolverUtilTest.java b/core/src/test/java/org/apache/struts2/util/ResolverUtilTest.java index ecc31cf557..c84fbfd273 100644 --- a/core/src/test/java/org/apache/struts2/util/ResolverUtilTest.java +++ b/core/src/test/java/org/apache/struts2/util/ResolverUtilTest.java @@ -18,15 +18,15 @@ */ package org.apache.struts2.util; -import org.apache.struts2.ObjectFactory; import junit.framework.TestCase; +import org.apache.struts2.ObjectFactory; import java.net.URL; import java.util.Set; public class ResolverUtilTest extends TestCase { - public void testSimpleFind() throws Exception { + public void testSimpleFind() { ResolverUtil resolver = new ResolverUtil<>(); resolver.findImplementations(ObjectFactory.class, "org"); Set> impls = resolver.getClasses(); @@ -35,7 +35,7 @@ public void testSimpleFind() throws Exception { assertTrue(impls.contains(DummyObjectFactory.class)); } - public void testMissingSomeFind() throws Exception { + public void testMissingSomeFind() { ResolverUtil resolver = new ResolverUtil<>(); resolver.findImplementations(ObjectFactory.class, "org.apache.struts2.util"); Set> impls = resolver.getClasses(); @@ -44,15 +44,15 @@ public void testMissingSomeFind() throws Exception { assertTrue(impls.contains(DummyObjectFactory.class)); } - public void testFindNamedResource() throws Exception { - ResolverUtil resolver = new ResolverUtil(); - resolver.findNamedResource("xwork-default.xml", ""); + public void testFindNamedResource() { + ResolverUtil resolver = new ResolverUtil<>(); + resolver.findNamedResource("struts-tests-default.xml", ""); Set impls = resolver.getResources(); assertTrue(impls.size() > 0); } - public void testFindNamedResourceInDir() throws Exception { + public void testFindNamedResourceInDir() { ResolverUtil resolver = new ResolverUtil(); resolver.findNamedResource("SimpleAction.properties", "org/apache"); Set impls = resolver.getResources(); diff --git a/core/src/test/java/org/apache/struts2/validator/DoubleRangeFieldValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/DoubleRangeFieldValidatorTest.java index 522a58beca..fc88f3a1a2 100644 --- a/core/src/test/java/org/apache/struts2/validator/DoubleRangeFieldValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/DoubleRangeFieldValidatorTest.java @@ -303,7 +303,7 @@ public void testCollectionOfDoubles() throws Exception { @Override protected void setUp() throws Exception { super.setUp(); - XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("xwork-default.xml"); + XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("struts-tests-default.xml"); container.inject(provider); loadConfigurationProviders(provider, new MockConfigurationProvider()); val = new DoubleRangeFieldValidator(); diff --git a/core/src/test/java/org/apache/struts2/validator/ValidatorAnnotationTest.java b/core/src/test/java/org/apache/struts2/validator/ValidatorAnnotationTest.java index f85319e09d..7b0ff8cba9 100644 --- a/core/src/test/java/org/apache/struts2/validator/ValidatorAnnotationTest.java +++ b/core/src/test/java/org/apache/struts2/validator/ValidatorAnnotationTest.java @@ -120,7 +120,7 @@ public void testAnnotatedMethodSuccess3() throws Exception { protected void setUp() throws Exception { super.setUp(); - XmlConfigurationProvider provider1 = new StrutsXmlConfigurationProvider("xwork-default.xml"); + XmlConfigurationProvider provider1 = new StrutsXmlConfigurationProvider("struts-tests-default.xml"); container.inject(provider1); XmlConfigurationProvider provider2 = new StrutsXmlConfigurationProvider("xwork-test-validation.xml"); container.inject(provider2); diff --git a/core/src/main/resources/xwork-default.xml b/core/src/test/resources/struts-tests-default.xml similarity index 100% rename from core/src/main/resources/xwork-default.xml rename to core/src/test/resources/struts-tests-default.xml diff --git a/plugins/spring/src/test/java/org/apache/struts2/spring/interceptor/ActionAutowiringInterceptorTest.java b/plugins/spring/src/test/java/org/apache/struts2/spring/interceptor/ActionAutowiringInterceptorTest.java index ea10d70bd8..b109f1ae7b 100644 --- a/plugins/spring/src/test/java/org/apache/struts2/spring/interceptor/ActionAutowiringInterceptorTest.java +++ b/plugins/spring/src/test/java/org/apache/struts2/spring/interceptor/ActionAutowiringInterceptorTest.java @@ -57,7 +57,7 @@ public void testShouldAutowireAction() throws Exception { } public void testSetAutowireType() throws Exception { - XmlConfigurationProvider prov = new StrutsXmlConfigurationProvider("xwork-default.xml"); + XmlConfigurationProvider prov = new StrutsXmlConfigurationProvider("struts-tests-default.xml"); container.inject(prov); prov.setThrowExceptionOnDuplicateBeans(false); XmlConfigurationProvider c = new StrutsXmlConfigurationProvider("org/apache/struts2/spring/xwork-autowire.xml"); diff --git a/plugins/spring/src/test/resources/struts-tests-default.xml b/plugins/spring/src/test/resources/struts-tests-default.xml new file mode 100644 index 0000000000..504c21b350 --- /dev/null +++ b/plugins/spring/src/test/resources/struts-tests-default.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +