This is an automated email from the ASF dual-hosted git repository.

kusal pushed a commit to branch kusal-experimental-2
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 9cda115de0477e36cfa96947080dc7b6a3517ec2
Merge: e40703e8a 899b35b36
Author: Kusal Kithul-Godage <g...@kusal.io>
AuthorDate: Sun Jul 14 00:27:54 2024 +1000

    Merge branch 'refs/heads/WW-5440-convention' into kusal-experimental-2

 .../org/demo/rest/example/OrdersController.java    |  24 ++---
 .../java/org/demo/rest/example/OrdersService.java  |   7 +-
 apps/showcase/pom.xml                              |   6 ++
 .../struts2/showcase/DynamicTreeSelectAction.java  |   3 +-
 .../showcase/LotsOfOptiontransferselectAction.java |  17 +++-
 .../showcase/LotsOfRichtexteditorAction.java       |   7 +-
 .../apache/struts2/showcase/MoreSelectsAction.java |  10 +-
 .../showcase/ShowAjaxDynamicTreeAction.java        |   2 +
 .../org/apache/struts2/showcase/UITagExample.java  |   8 ++
 .../showcase/action/AbstractCRUDAction.java        | 101 +++++++++++----------
 .../struts2/showcase/action/EmployeeAction.java    |   5 +-
 .../struts2/showcase/action/ExampleAction.java     |  10 +-
 .../struts2/showcase/action/JSPEvalAction.java     |   8 +-
 .../struts2/showcase/action/SkillAction.java       |   2 +
 .../showcase/actionchaining/ActionChain1.java      |   3 +
 .../showcase/actionchaining/ActionChain2.java      |   5 +-
 .../showcase/actionchaining/ActionChain3.java      |   8 +-
 .../struts2/showcase/ajax/AjaxTestAction.java      |   3 +-
 .../showcase/ajax/AutocompleterExampleAction.java  |   5 +-
 .../showcase/ajax/Example4ShowPanelAction.java     |   3 +
 .../struts2/showcase/ajax/Example5Action.java      |   3 +
 .../struts2/showcase/ajax/tree/GetCategory.java    |   3 +
 .../apache/struts2/showcase/ajax/tree/Toggle.java  |   2 +
 .../struts2/showcase/async/ChatRoomAction.java     |  13 +--
 .../struts2/showcase/chat/ChatLoginAction.java     |   5 +-
 .../struts2/showcase/chat/CrudRoomAction.java      |   3 +
 .../struts2/showcase/chat/EnterRoomAction.java     |   5 +-
 .../struts2/showcase/chat/ExitRoomAction.java      |   5 +-
 .../chat/MessagesAvailableInRoomAction.java        |   6 +-
 .../showcase/chat/SendMessageToRoomAction.java     |  10 +-
 .../showcase/chat/UsersAvailableInRoomAction.java  |   7 +-
 .../showcase/conversion/OperationsEnumAction.java  |   3 +-
 .../MultipleFileUploadUsingArrayAction.java        |   6 +-
 .../showcase/freemarker/StandardTagsAction.java    |   6 +-
 .../showcase/hangman/GuessCharacterAction.java     |   6 +-
 .../showcase/modelDriven/ModelDrivenAction.java    |   4 +
 .../showcase/modelDriven/{ => model}/Gangster.java |   2 +-
 .../struts2/showcase/person/EditPersonAction.java  |   6 +-
 .../struts2/showcase/person/ListPeopleAction.java  |   3 +-
 .../struts2/showcase/person/NewPersonAction.java   |   3 +
 .../struts2/showcase/source/ViewSourceAction.java  |  12 ++-
 .../tag/nonui/actionPrefix/SubmitAction.java       |   3 +
 .../tag/nonui/debugtag/DebugTagAction.java         |   3 +-
 .../nonui/iteratortag/AppendIteratorTagDemo.java   |   7 +-
 .../iteratortag/IteratorGeneratorTagDemo.java      |   9 +-
 .../nonui/iteratortag/MergeIteratorTagDemo.java    |   9 +-
 .../nonui/iteratortag/SubsetIteratorTagDemo.java   |  13 ++-
 .../apache/struts2/showcase/token/TokenAction.java |   2 +
 .../AbstractValidationActionSupport.java           |   1 +
 .../showcase/validation/AjaxFormSubmitAction.java  |  31 ++++---
 .../validation/BeanValidationExampleAction.java    |  13 ++-
 .../NonFieldValidatorsExampleAction.java           |   5 +
 .../struts2/showcase/validation/QuizAction.java    |   4 +
 .../showcase/validation/SubmitApplication.java     |   3 +
 .../validation/VisitorValidatorsExampleAction.java |   3 +
 .../apache/struts2/showcase/xslt/JVMAction.java    |   6 +-
 .../src/main/resources/struts-fileupload.xml       |   4 +-
 apps/showcase/src/main/resources/struts.xml        |   9 ++
 .../apache/struts2/showcase/ConventionTest.java    |  88 ++++++++++++++++++
 .../xwork2/ValidationAwareSupport.java             |  15 ++-
 .../xwork2/config/ConfigurationUtil.java           |  13 ++-
 .../providers/XmlDocConfigurationProvider.java     |   5 +-
 .../xwork2/interceptor/annotations/Allowed.java    |   2 +
 .../AnnotationParameterFilterInterceptor.java      |   7 +-
 .../interceptor/annotations/BlockByDefault.java    |   2 +
 .../xwork2/interceptor/annotations/Blocked.java    |   2 +
 .../struts2/dispatcher/DefaultActionSupport.java   |  10 +-
 .../org/apache/struts2/ognl/ProviderAllowlist.java |  35 +++++--
 .../com/opensymphony/xwork2/ActionSupportTest.java |   7 +-
 .../com/opensymphony/xwork2/ModelDrivenAction.java |   8 +-
 .../xwork2/ModelDrivenAnnotationAction.java        |   8 +-
 .../opensymphony/xwork2/ProxyInvocationAction.java |   2 +
 .../java/com/opensymphony/xwork2/SimpleAction.java |  26 +++---
 .../xwork2/SimpleAnnotationAction.java             |  32 +++++--
 .../opensymphony/xwork2/ValidationOrderAction.java |  36 ++++----
 .../interceptor/ModelDrivenInterceptorTest.java    |   8 +-
 .../ScopedModelDrivenInterceptorTest.java          |  10 ++
 .../annotations/AllowingByDefaultAction.java       |   9 +-
 .../annotations/BlockingByDefaultAction.java       |   9 +-
 .../xwork2/test/ModelDrivenAction2.java            |   4 +-
 .../xwork2/test/ModelDrivenAnnotationAction2.java  |   4 +-
 .../opensymphony/xwork2/test/SimpleAction2.java    |   3 +-
 .../opensymphony/xwork2/test/SimpleAction3.java    |   8 +-
 .../xwork2/test/SimpleAnnotationAction2.java       |   2 +
 .../xwork2/test/SimpleAnnotationAction3.java       |   8 +-
 .../ValidateAnnotatedMethodOnlyAction.java         |   3 +
 .../java/com/opensymphony/xwork2/util/Bar.java     |   5 +-
 .../util/StrutsLocalizedTextProviderTest.java      |  10 +-
 .../validator/ActionValidatorManagerTest.java      |   5 +-
 .../validator/AnnotationValidationAction.java      |   1 +
 .../validator/AnnotationValidationExpAction.java   |   1 +
 .../validator/StringLengthFieldValidatorTest.java  |   7 ++
 .../validator/VisitorValidatorModelAction.java     |   3 +
 .../validator/VisitorValidatorTestAction.java      |   7 +-
 .../apache/struts2/ExecutionCountTestAction.java   |   3 +-
 .../org/apache/struts2/HttpMethodsTestAction.java  |   2 +
 .../test/java/org/apache/struts2/TestAction.java   |   1 +
 .../multipart/JakartaMultiPartRequestTest.java     |   2 +-
 .../struts2/interceptor/CookieInterceptorTest.java |   4 +
 .../interceptor/FileUploadInterceptorTest.java     |   2 +
 .../apache/struts2/ognl/ProviderAllowlistTest.java |  27 +++---
 .../views/jsp/IteratorGeneratorTagTest.java        |  13 +--
 .../struts2/views/jsp/SortIteratorTagTest.java     |  22 ++---
 .../struts2/views/jsp/SubsetIteratorTagTest.java   |  29 +++---
 .../views/jsp/ui/DoubleValidationAction.java       |   2 +
 .../struts2/views/jsp/ui/FieldErrorTagTest.java    |  13 ++-
 .../struts2/views/jsp/ui/IntValidationAction.java  |   2 +
 .../struts/beanvalidation/actions/FieldAction.java |   2 +
 .../beanvalidation/actions/FieldMatchAction.java   |   5 +
 .../beanvalidation/actions/ModelDrivenAction.java  |   5 +-
 .../actions/ValidateGroupAction.java               |   7 +-
 .../struts2/config_browser/ActionNamesAction.java  |   5 +-
 .../config_browser/ListValidatorsAction.java       |   8 +-
 .../struts2/config_browser/ShowBeansAction.java    |   2 +
 .../struts2/config_browser/ShowConfigAction.java   |  25 +++--
 .../config_browser/ShowValidatorAction.java        |  24 +++--
 .../convention/ClasspathConfigurationProvider.java |  11 ++-
 .../convention/ClasspathPackageProvider.java       |  11 ++-
 .../PackageBasedActionConfigBuilder.java           |  61 +++++++++----
 .../src/test/java/actions/MessageAction.java       |   2 +-
 .../PackageBasedActionConfigBuilderTest.java       |  52 +++++++++--
 plugins/jasperreports/pom.xml                      |   2 +-
 .../json/JSONValidationInterceptorTest.java        |   5 +
 .../struts2/junit/session/SessionGetAction.java    |   1 +
 .../struts2/junit/session/SessionSetAction.java    |   1 +
 .../struts2/rest/RestActionInvocationTest.java     |   5 +-
 .../com/opensymphony/xwork2/ModelDrivenAction.java |   8 +-
 127 files changed, 881 insertions(+), 363 deletions(-)

diff --cc apps/showcase/pom.xml
index de25a7d9f,e1ad28097..5148d56f8
--- a/apps/showcase/pom.xml
+++ b/apps/showcase/pom.xml
@@@ -130,17 -138,17 +130,23 @@@
         </dependency>
  
         <dependency>
 -            <groupId>net.sourceforge.htmlunit</groupId>
 -            <artifactId>htmlunit</artifactId>
 -            <scope>test</scope>
 -        </dependency>
 +           <groupId>org.assertj</groupId>
 +           <artifactId>assertj-core</artifactId>
 +           <scope>test</scope>
 +       </dependency>
 +
 +       <dependency>
 +           <groupId>org.htmlunit</groupId>
 +           <artifactId>htmlunit</artifactId>
 +           <scope>test</scope>
 +       </dependency>
  
+         <dependency>
+             <groupId>org.assertj</groupId>
+             <artifactId>assertj-core</artifactId>
+             <scope>test</scope>
+         </dependency>
+ 
          <!-- BeanValidation Example -->
          <dependency>
              <groupId>org.hibernate.validator</groupId>
diff --cc 
apps/showcase/src/main/java/org/apache/struts2/showcase/source/ViewSourceAction.java
index 06ceae842,bbd4bb54a..d1ba0a412
--- 
a/apps/showcase/src/main/java/org/apache/struts2/showcase/source/ViewSourceAction.java
+++ 
b/apps/showcase/src/main/java/org/apache/struts2/showcase/source/ViewSourceAction.java
@@@ -23,8 -23,9 +23,9 @@@ package org.apache.struts2.showcase.sou
  import com.opensymphony.xwork2.ActionSupport;
  import com.opensymphony.xwork2.util.ClassLoaderUtil;
  import org.apache.struts2.action.ServletContextAware;
+ import org.apache.struts2.interceptor.parameter.StrutsParameter;
  
 -import javax.servlet.ServletContext;
 +import jakarta.servlet.ServletContext;
  import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStream;
diff --cc 
apps/showcase/src/main/java/org/apache/struts2/showcase/xslt/JVMAction.java
index 510ba0971,aae7d3777..90054b07f
--- 
a/apps/showcase/src/main/java/org/apache/struts2/showcase/xslt/JVMAction.java
+++ 
b/apps/showcase/src/main/java/org/apache/struts2/showcase/xslt/JVMAction.java
@@@ -21,11 -21,9 +21,9 @@@
  package org.apache.struts2.showcase.xslt;
  
  import com.opensymphony.xwork2.ActionSupport;
- 
- import jakarta.servlet.http.HttpServletRequest;
- 
  import org.apache.struts2.action.ServletRequestAware;
  
 -import javax.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpServletRequest;
  import java.util.Map;
  import java.util.Properties;
  
diff --cc 
core/src/main/java/org/apache/struts2/dispatcher/DefaultActionSupport.java
index c6f07795e,0df1e3e90..e49b34e9b
--- a/core/src/main/java/org/apache/struts2/dispatcher/DefaultActionSupport.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/DefaultActionSupport.java
@@@ -18,11 -18,11 +18,11 @@@
   */
  package org.apache.struts2.dispatcher;
  
- import jakarta.servlet.http.HttpServletRequest;
- 
+ import com.opensymphony.xwork2.ActionSupport;
  import org.apache.struts2.ServletActionContext;
+ import org.apache.struts2.interceptor.parameter.StrutsParameter;
  
- import com.opensymphony.xwork2.ActionSupport;
 -import javax.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpServletRequest;
  
  /**
   * A simple action support class that sets properties to be able to serve
diff --cc 
core/src/test/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequestTest.java
index c5fe42b1c,5e8f31e4e..781b7fbd0
--- 
a/core/src/test/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequestTest.java
+++ 
b/core/src/test/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequestTest.java
@@@ -16,13 -16,14 +16,13 @@@
   * specific language governing permissions and limitations
   * under the License.
   */
 -package org.apache.struts2.components;
 +package org.apache.struts2.dispatcher.multipart;
  
 -import com.opensymphony.xwork2.Action;
 +public class JakartaMultiPartRequestTest extends AbstractMultiPartRequestTest 
{
  
 -public class PortletAction {
 -
 -    public String execute() {
 -        return Action.SUCCESS;
 +    @Override
 +    protected AbstractMultiPartRequest createMultipartRequest() {
 +        return new JakartaMultiPartRequest();
      }
  
- }
+ }
diff --cc 
core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java
index 3cd0e57ab,8e6f6d19d..adb5496d1
--- 
a/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java
+++ 
b/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java
@@@ -25,12 -25,12 +25,13 @@@ import com.opensymphony.xwork2.ActionSu
  import com.opensymphony.xwork2.mock.MockActionInvocation;
  import com.opensymphony.xwork2.security.DefaultAcceptedPatternsChecker;
  import com.opensymphony.xwork2.security.DefaultExcludedPatternsChecker;
 +import jakarta.servlet.http.Cookie;
  import org.apache.struts2.ServletActionContext;
  import org.apache.struts2.StrutsInternalTestCase;
 +import org.apache.struts2.action.CookiesAware;
+ import org.apache.struts2.interceptor.parameter.StrutsParameter;
  import org.springframework.mock.web.MockHttpServletRequest;
  
 -import javax.servlet.http.Cookie;
  import java.util.Collections;
  import java.util.HashMap;
  import java.util.Map;
diff --cc 
core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java
index 8dbd173e5,cfb305770..872122066
--- 
a/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java
+++ 
b/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java
@@@ -618,10 -590,10 +618,11 @@@ public class FileUploadInterceptorTest 
          jak.setMaxFileSize(String.valueOf(maxfilesize));
          jak.setMaxFiles(String.valueOf(maxfiles));
          jak.setMaxStringLength(String.valueOf(maxStringLength));
 -        return new MultiPartRequestWrapper(jak, req, 
tempDir.getAbsolutePath(), new DefaultLocaleProvider());
 +        jak.setDefaultEncoding(StandardCharsets.UTF_8.name());
 +        return new MultiPartRequestWrapper(jak, request, 
tempDir.getAbsolutePath(), new DefaultLocaleProvider());
      }
  
+     @Override
      protected void setUp() throws Exception {
          super.setUp();
  
@@@ -629,11 -600,13 +630,12 @@@
          interceptor = new FileUploadInterceptor();
          container.inject(interceptor);
          tempDir = File.createTempFile("struts", "fileupload");
 -        tempDir.delete();
 -        tempDir.mkdirs();
 +        assertThat(tempDir.delete()).isTrue();
 +        assertThat(tempDir.mkdirs()).isTrue();
      }
  
+     @Override
      protected void tearDown() throws Exception {
 -        tempDir.delete();
          interceptor.destroy();
          super.tearDown();
      }
diff --cc 
core/src/test/java/org/apache/struts2/views/jsp/SortIteratorTagTest.java
index 51b8b7a81,700e6e80a..9d7b814fd
--- a/core/src/test/java/org/apache/struts2/views/jsp/SortIteratorTagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/SortIteratorTagTest.java
@@@ -18,6 -18,11 +18,11 @@@
   */
  package org.apache.struts2.views.jsp;
  
+ import com.opensymphony.xwork2.Action;
+ import com.opensymphony.xwork2.ActionSupport;
+ import org.apache.struts2.views.jsp.iterator.SortIteratorTag;
+ 
 -import javax.servlet.jsp.JspException;
++import jakarta.servlet.jsp.JspException;
  import java.util.ArrayList;
  import java.util.Comparator;
  import java.util.Iterator;
diff --cc 
plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ModelDrivenAction.java
index c2fe152e1,9b32fa24b..296f42c62
--- 
a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ModelDrivenAction.java
+++ 
b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ModelDrivenAction.java
@@@ -21,8 -21,9 +21,9 @@@ package org.apache.struts.beanvalidatio
  import com.opensymphony.xwork2.ActionSupport;
  import com.opensymphony.xwork2.ModelDriven;
  import org.apache.struts.beanvalidation.models.Person;
+ import org.apache.struts2.interceptor.parameter.StrutsParameter;
  
 -import javax.validation.Valid;
 +import jakarta.validation.Valid;
  
  public class ModelDrivenAction extends ActionSupport implements 
ModelDriven<Person>, ModelDrivenActionInterface {
  
diff --cc 
plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ValidateGroupAction.java
index be4693463,7d3540551..20aabf15b
--- 
a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ValidateGroupAction.java
+++ 
b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ValidateGroupAction.java
@@@ -22,8 -22,9 +22,9 @@@ import com.opensymphony.xwork2.ActionSu
  import com.opensymphony.xwork2.ModelDriven;
  import org.apache.struts.beanvalidation.constraints.ValidationGroup;
  import org.apache.struts.beanvalidation.models.Person;
+ import org.apache.struts2.interceptor.parameter.StrutsParameter;
  
 -import javax.validation.Valid;
 +import jakarta.validation.Valid;
  
  public class ValidateGroupAction extends ActionSupport implements 
ModelDriven<Person> {
  
diff --cc 
plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java
index 4733abfad,1643ce7ae..5fef87760
--- 
a/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java
+++ 
b/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java
@@@ -72,12 -101,20 +101,20 @@@ import org.apache.struts2.ognl.Provider
  import org.apache.struts2.result.ServletDispatcherResult;
  import org.easymock.EasyMock;
  
 -import javax.servlet.ServletContext;
 +import jakarta.servlet.ServletContext;
  import java.net.MalformedURLException;
- import java.util.*;
+ import java.util.ArrayList;
+ import java.util.Collections;
+ import java.util.HashMap;
+ import java.util.List;
+ import java.util.Map;
+ import java.util.Set;
  
  import static org.apache.struts2.convention.ReflectionTools.getAnnotation;
- import static org.easymock.EasyMock.*;
+ import static org.easymock.EasyMock.checkOrder;
+ import static org.easymock.EasyMock.createStrictMock;
+ import static org.easymock.EasyMock.expect;
+ import static org.easymock.EasyMock.verify;
  
  /**
   * <p>
diff --cc 
plugins/rest/src/test/java/org/apache/struts2/rest/RestActionInvocationTest.java
index b567801c7,6f22a583e..15e0b679c
--- 
a/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionInvocationTest.java
+++ 
b/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionInvocationTest.java
@@@ -28,14 -28,11 +28,15 @@@ import com.opensymphony.xwork2.config.e
  import com.opensymphony.xwork2.config.entities.ResultConfig;
  import com.opensymphony.xwork2.mock.MockActionProxy;
  import com.opensymphony.xwork2.mock.MockInterceptor;
 +import com.opensymphony.xwork2.ognl.DefaultOgnlBeanInfoCacheFactory;
 +import com.opensymphony.xwork2.ognl.DefaultOgnlExpressionCacheFactory;
  import com.opensymphony.xwork2.ognl.OgnlUtil;
  import com.opensymphony.xwork2.util.XWorkTestCaseHelper;
 +import jakarta.servlet.http.HttpServletResponse;
  import junit.framework.TestCase;
  import org.apache.struts2.ServletActionContext;
+ import org.apache.struts2.interceptor.parameter.StrutsParameter;
 +import org.apache.struts2.ognl.StrutsOgnlGuard;
  import org.apache.struts2.result.HttpHeaderResult;
  import org.springframework.mock.web.MockHttpServletRequest;
  import org.springframework.mock.web.MockHttpServletResponse;
@@@ -297,6 -290,8 +298,8 @@@ public class RestActionInvocationTest e
  
        List<String> model;
  
 -              @StrutsParameter(depth = 1)
++        @StrutsParameter(depth = 1)
+               @Override
        public List<String> getModel() {
                        return model;
                }

Reply via email to