This is an automated email from the ASF dual-hosted git repository. kusal pushed a commit to branch issue-85/CONFSRVDEV-37138-merge-upstream in repository https://gitbox.apache.org/repos/asf/struts.git
commit 7fa08d0537f30f0f79088bd4ef601d7f118af178 Merge: c2c35251a 085f50d45 Author: Kusal Kithul-Godage <g...@kusal.io> AuthorDate: Mon Nov 18 16:41:05 2024 +1100 Merge remote-tracking branch 'origin/master' into release/6.7 .github/workflows/codeql.yml | 6 +- .github/workflows/scorecards-analysis.yaml | 4 +- apps/pom.xml | 2 +- apps/rest-showcase/pom.xml | 4 +- apps/showcase/pom.xml | 4 +- .../showcase/modelDriven/ModelDrivenAction.java | 2 +- assembly/pom.xml | 2 +- bom/pom.xml | 6 +- bundles/admin/pom.xml | 2 +- bundles/demo/pom.xml | 2 +- bundles/pom.xml | 2 +- core/pom.xml | 2 +- .../main/java/com/opensymphony/xwork2/Action.java | 70 +-- .../com/opensymphony/xwork2/ActionChainResult.java | 254 +---------- .../com/opensymphony/xwork2/ActionContext.java | 474 +++++---------------- .../opensymphony/xwork2/ActionEventListener.java | 64 ++- .../com/opensymphony/xwork2/ActionInvocation.java | 249 +++++------ .../java/com/opensymphony/xwork2/ActionProxy.java | 151 +++---- .../com/opensymphony/xwork2/ActionSupport.java | 337 +-------------- .../xwork2/DefaultActionInvocation.java | 12 +- .../java/com/opensymphony/xwork2/ModelDriven.java | 16 +- .../java/com/opensymphony/xwork2/Preparable.java | 17 +- .../main/java/com/opensymphony/xwork2/Result.java | 54 +-- .../java/com/opensymphony/xwork2/Unchainable.java | 7 +- .../java/com/opensymphony/xwork2/Validateable.java | 15 +- .../xwork2/config/entities/InterceptorMapping.java | 10 +- .../xwork2/config/entities/ResultConfig.java | 6 +- .../xwork2/config/impl/DefaultConfiguration.java | 4 +- .../xwork2/factory/DefaultInterceptorFactory.java | 13 +- .../xwork2/factory/DefaultResultFactory.java | 23 +- .../xwork2/interceptor/AbstractInterceptor.java | 37 +- .../xwork2/interceptor/AliasInterceptor.java | 12 +- .../xwork2/interceptor/ChainingInterceptor.java | 22 +- .../xwork2/interceptor/ConditionalInterceptor.java | 44 +- .../interceptor/ConversionErrorInterceptor.java | 8 +- .../interceptor/DefaultWorkflowInterceptor.java | 8 +- .../interceptor/ExceptionMappingInterceptor.java | 5 +- .../xwork2/interceptor/Interceptor.java | 237 ++--------- .../xwork2/interceptor/LoggingInterceptor.java | 3 + .../interceptor/MethodFilterInterceptor.java | 45 +- .../interceptor/MethodFilterInterceptorUtil.java | 128 +----- .../xwork2/interceptor/ModelDrivenInterceptor.java | 7 +- .../interceptor/ParameterRemoverInterceptor.java | 3 + .../xwork2/interceptor/PreResultListener.java | 43 +- .../interceptor/PrefixMethodInvocationUtil.java | 51 +-- .../xwork2/interceptor/PrepareInterceptor.java | 7 +- .../xwork2/interceptor/ScopedModelDriven.java | 21 +- .../interceptor/ScopedModelDrivenInterceptor.java | 26 +- .../interceptor/StaticParametersInterceptor.java | 6 +- .../xwork2/interceptor/ValidationAware.java | 179 ++++---- .../xwork2/interceptor/ValidationErrorAware.java | 20 +- .../interceptor/ValidationWorkflowAware.java | 10 +- .../xwork2/interceptor/WithLazyParams.java | 5 +- .../com/opensymphony/xwork2/util/DebugUtils.java | 2 +- .../xwork2/util/StrutsLocalizedTextProvider.java | 6 +- .../com/opensymphony/xwork2/util/ValueStack.java | 257 ++++++----- .../validator/DelegatingValidatorContext.java | 18 +- .../xwork2/validator/ValidationInterceptor.java | 52 +-- .../apache/struts2}/ActionContext.java | 28 +- .../apache/struts2}/ActionEventListener.java | 20 +- .../apache/struts2}/ActionInvocation.java | 17 +- .../xwork2 => org/apache/struts2}/ActionProxy.java | 11 +- .../apache/struts2}/ActionSupport.java | 28 +- .../xwork2 => org/apache/struts2}/ModelDriven.java | 8 +- .../xwork2 => org/apache/struts2}/Preparable.java | 4 +- .../xwork2 => org/apache/struts2}/Unchainable.java | 2 +- .../apache/struts2}/Validateable.java | 4 +- .../apache/struts2/action}/Action.java | 14 +- .../apache/struts2/components/ActionComponent.java | 4 +- .../org/apache/struts2/components/Component.java | 27 +- .../struts2/components/DoubleListUIBean.java | 4 +- .../apache/struts2/components/DoubleSelect.java | 2 +- .../java/org/apache/struts2/components/File.java | 4 +- .../java/org/apache/struts2/components/Form.java | 10 +- .../org/apache/struts2/components/FormButton.java | 6 +- .../org/apache/struts2/components/Include.java | 8 +- .../struts2/components/InputTransferSelect.java | 8 +- .../java/org/apache/struts2/components/Label.java | 2 +- .../org/apache/struts2/components/ListUIBean.java | 2 +- .../org/apache/struts2/components/OptGroup.java | 4 +- .../struts2/components/OptionTransferSelect.java | 16 +- .../struts2/components/ServletUrlRenderer.java | 2 +- .../java/org/apache/struts2/components/Token.java | 2 +- .../java/org/apache/struts2/components/UIBean.java | 29 +- .../java/org/apache/struts2/components/URL.java | 2 +- .../apache/struts2/components/UpDownSelect.java | 8 +- .../org/apache/struts2/dispatcher/Dispatcher.java | 2 +- .../multipart/JakartaMultiPartRequest.java | 2 +- .../struts2/factory/StrutsResultFactory.java | 40 +- .../interceptor/AbstractFileUploadInterceptor.java | 1 - .../struts2}/interceptor/AbstractInterceptor.java | 4 +- .../interceptor/ActionFileUploadInterceptor.java | 1 - .../struts2}/interceptor/AliasInterceptor.java | 19 +- .../struts2}/interceptor/ChainingInterceptor.java | 29 +- .../interceptor/ConditionalInterceptor.java | 4 +- .../interceptor/ConversionErrorInterceptor.java | 14 +- .../interceptor/DefaultWorkflowInterceptor.java | 12 +- .../interceptor/ExceptionMappingInterceptor.java | 9 +- .../apache/struts2}/interceptor/Interceptor.java | 6 +- .../struts2}/interceptor/LoggingInterceptor.java | 4 +- .../interceptor/MessageStoreInterceptor.java | 5 +- .../interceptor/MessageStorePreResultListener.java | 1 - .../interceptor/MethodFilterInterceptor.java | 50 +-- .../interceptor/MethodFilterInterceptorUtil.java | 38 +- .../interceptor/ModelDrivenInterceptor.java | 11 +- .../interceptor/ParameterRemoverInterceptor.java | 8 +- .../struts2}/interceptor/PreResultListener.java | 4 +- .../struts2}/interceptor/PrepareInterceptor.java | 13 +- .../struts2}/interceptor/ScopedModelDriven.java | 8 +- .../interceptor/ScopedModelDrivenInterceptor.java | 32 +- .../interceptor/StaticParametersInterceptor.java | 15 +- .../struts2/interceptor/TokenInterceptor.java | 1 - .../interceptor/TokenSessionStoreInterceptor.java | 16 +- .../struts2}/interceptor/ValidationAware.java | 2 +- .../struts2}/interceptor/ValidationErrorAware.java | 2 +- .../interceptor/ValidationWorkflowAware.java | 2 +- .../parameter/ParametersInterceptor.java | 45 +- .../apache/struts2/result}/ActionChainResult.java | 9 +- .../apache/struts2/result}/Result.java | 5 +- .../apache/struts2/result/StrutsResultSupport.java | 25 +- .../apache/struts2}/util/ValueStack.java | 7 +- .../struts2/views/freemarker/ScopesHashModel.java | 27 +- .../com/opensymphony/xwork2/ModelDrivenAction.java | 3 +- .../xwork2/ModelDrivenAnnotationAction.java | 3 +- .../ConfigurationProviderOgnlAllowlistTest.java | 32 +- .../ChainingInterceptorWithConfigTest.java | 7 +- .../interceptor/ModelDrivenInterceptorTest.java | 2 +- .../xwork2/test/ModelDrivenAction2.java | 4 +- .../xwork2/test/ModelDrivenAnnotationAction2.java | 4 +- .../xwork2/test/subtest/NullModelDrivenAction.java | 3 +- .../validator/VisitorValidatorModelAction.java | 5 +- .../apache/struts2/components/FormButtonTest.java | 22 +- .../org/apache/struts2/components/FormTest.java | 6 +- .../org/apache/struts2/components/UIBeanTest.java | 96 +++-- .../ActionFileUploadInterceptorTest.java | 151 +++++++ .../interceptor/FileUploadInterceptorTest.java | 181 +++++++- .../parameter/StrutsParameterAnnotationTest.java | 36 +- .../apache/struts2/result/StreamResultTest.java | 6 +- .../apache/struts2/views/jsp/ActionTagTest.java | 6 +- .../org/apache/struts2/views/jsp/URLTagTest.java | 12 +- .../apache/struts2/views/jsp/ui/FormTagTest.java | 8 +- plugins/async/pom.xml | 2 +- plugins/bean-validation/pom.xml | 2 +- .../interceptor/BeanValidationInterceptor.java | 2 +- .../beanvalidation/actions/ModelDrivenAction.java | 2 - .../actions/ValidateGroupAction.java | 2 - plugins/cdi/pom.xml | 2 +- plugins/config-browser/pom.xml | 2 +- plugins/convention/pom.xml | 2 +- .../PackageBasedActionConfigBuilderTest.java | 4 +- plugins/dwr/README.md | 4 + plugins/dwr/pom.xml | 4 +- .../apache/struts2/validators/DWRValidator.java | 2 +- plugins/embeddedjsp/pom.xml | 2 +- plugins/gxp/pom.xml | 2 +- plugins/jasperreports/pom.xml | 2 +- plugins/javatemplates/pom.xml | 2 +- .../struts2/views/java/simple/SelectHandler.java | 8 +- .../java/simple/AbstractCommonAttributesTest.java | 6 +- .../struts2/views/java/simple/ActionErrorTest.java | 6 +- .../views/java/simple/ActionMessageTest.java | 6 +- .../struts2/views/java/simple/AnchorTest.java | 8 +- .../struts2/views/java/simple/CheckboxTest.java | 6 +- .../views/java/simple/DateTextFieldTest.java | 6 +- .../struts2/views/java/simple/FieldErrorTest.java | 10 +- .../apache/struts2/views/java/simple/FileTest.java | 2 +- .../apache/struts2/views/java/simple/FormTest.java | 4 +- .../apache/struts2/views/java/simple/HeadTest.java | 2 +- .../struts2/views/java/simple/HiddenTest.java | 2 +- .../struts2/views/java/simple/LabelTest.java | 2 +- .../apache/struts2/views/java/simple/LinkTest.java | 4 +- .../struts2/views/java/simple/PasswordTest.java | 4 +- .../struts2/views/java/simple/ResetTest.java | 4 +- .../struts2/views/java/simple/ScriptTest.java | 2 +- .../struts2/views/java/simple/SelectTest.java | 10 +- .../struts2/views/java/simple/SubmitTest.java | 16 +- .../struts2/views/java/simple/TextAreaTest.java | 4 +- .../struts2/views/java/simple/TextFieldTest.java | 2 +- .../struts2/views/java/simple/TokenTest.java | 2 +- plugins/jfreechart/pom.xml | 2 +- plugins/json/pom.xml | 2 +- .../java/org/apache/struts2/json/JSONResult.java | 2 +- .../struts2/json/JSONValidationInterceptor.java | 8 +- plugins/junit/pom.xml | 2 +- .../apache/struts2/junit/StrutsJUnit4TestCase.java | 2 +- .../apache/struts2/junit/StrutsRestTestCase.java | 3 +- plugins/osgi/pom.xml | 2 +- plugins/oval/pom.xml | 2 +- .../interceptor/OValValidationInterceptor.java | 3 +- plugins/pell-multipart/pom.xml | 2 +- plugins/plexus/pom.xml | 2 +- plugins/pom.xml | 2 +- plugins/portlet-junit/pom.xml | 2 +- plugins/portlet-mocks/pom.xml | 2 +- plugins/portlet-tiles/pom.xml | 2 +- plugins/portlet/pom.xml | 2 +- .../struts2/components/PortletUrlRenderer.java | 2 +- plugins/rest/pom.xml | 2 +- .../struts2/rest/ContentTypeInterceptor.java | 2 +- .../apache/struts2/rest/RestActionInvocation.java | 16 +- .../struts2/rest/RestWorkflowInterceptor.java | 2 +- .../struts2/rest/handler/XStreamHandler.java | 2 +- .../struts2/rest/RestActionInvocationTest.java | 400 +++++++++-------- plugins/sitemesh/pom.xml | 4 +- .../sitemesh/FreemarkerDecoratorServlet.java | 4 + .../struts2/sitemesh/VelocityDecoratorServlet.java | 4 + plugins/spring/pom.xml | 2 +- .../com/opensymphony/xwork2/ModelDrivenAction.java | 3 +- plugins/testng/pom.xml | 2 +- plugins/tiles/pom.xml | 2 +- plugins/velocity/pom.xml | 2 +- plugins/xslt/pom.xml | 2 +- pom.xml | 20 +- 213 files changed, 2225 insertions(+), 2854 deletions(-) diff --cc core/pom.xml index cfba29fad,cc71d6319..b4e8daaf7 --- a/core/pom.xml +++ b/core/pom.xml @@@ -24,7 -24,7 +24,7 @@@ <parent> <groupId>org.apache.struts</groupId> <artifactId>struts2-parent</artifactId> - <version>6.6.1-atlassian-2-SNAPSHOT</version> - <version>6.7.1-SNAPSHOT</version> ++ <version>6.7.0-atlassian-1-SNAPSHOT</version> </parent> <artifactId>struts2-core</artifactId> <packaging>jar</packaging> diff --cc core/src/main/java/org/apache/struts2/components/DoubleListUIBean.java index b8b7617e5,e965b178f..8f6281698 --- a/core/src/main/java/org/apache/struts2/components/DoubleListUIBean.java +++ b/core/src/main/java/org/apache/struts2/components/DoubleListUIBean.java @@@ -186,9 -186,9 +186,9 @@@ public abstract class DoubleListUIBean Form form = (Form) findAncestor(Form.class); if (doubleId != null) { - addParameter("doubleId", findString(doubleId)); + addParameter("doubleId", legacySyntax ? doubleId : findString(doubleId)); } else if (form != null) { - addParameter("doubleId", form.getParameters().get("id") + "_" + escape(doubleName != null ? findString(doubleName) : null)); + addParameter("doubleId", form.getAttributes().get("id") + "_" + escape(doubleName != null ? findString(doubleName) : null)); } else { addParameter("doubleId", escape(doubleName != null ? findString(doubleName) : null)); } diff --cc core/src/main/java/org/apache/struts2/components/FormButton.java index 7051e23a2,e028f546c..badd7076c --- a/core/src/main/java/org/apache/struts2/components/FormButton.java +++ b/core/src/main/java/org/apache/struts2/components/FormButton.java @@@ -99,10 -99,10 +99,10 @@@ public abstract class FormButton extend String tmpId = ""; if (id != null) { // this check is needed for backwards compatibility with 2.1.x - tmpId = findString(id); + tmpId = legacySyntax ? id : findString(id); } else { - if (form != null && form.getParameters().get("id") != null) { - tmpId = tmpId + form.getParameters().get("id").toString() + "_"; + if (form != null && form.getAttributes().get("id") != null) { + tmpId = tmpId + form.getAttributes().get("id").toString() + "_"; } if (name != null) { tmpId = tmpId + escape(findString(name)); diff --cc plugins/junit/pom.xml index eea7602af,5bed4b254..74ca31c43 --- a/plugins/junit/pom.xml +++ b/plugins/junit/pom.xml @@@ -24,7 -24,7 +24,7 @@@ <parent> <groupId>org.apache.struts</groupId> <artifactId>struts2-plugins</artifactId> - <version>6.6.1-atlassian-2-SNAPSHOT</version> - <version>6.7.1-SNAPSHOT</version> ++ <version>6.7.0-atlassian-1-SNAPSHOT</version> </parent> <artifactId>struts2-junit-plugin</artifactId> diff --cc plugins/pom.xml index 910ad78d6,5d1e1d4f0..c86944fae --- a/plugins/pom.xml +++ b/plugins/pom.xml @@@ -24,7 -24,7 +24,7 @@@ <parent> <groupId>org.apache.struts</groupId> <artifactId>struts2-parent</artifactId> - <version>6.6.1-atlassian-2-SNAPSHOT</version> - <version>6.7.1-SNAPSHOT</version> ++ <version>6.7.0-atlassian-1-SNAPSHOT</version> </parent> <artifactId>struts2-plugins</artifactId> diff --cc plugins/spring/pom.xml index 9d9074a01,aa6f5d793..a7edf859b --- a/plugins/spring/pom.xml +++ b/plugins/spring/pom.xml @@@ -24,7 -24,7 +24,7 @@@ <parent> <groupId>org.apache.struts</groupId> <artifactId>struts2-plugins</artifactId> - <version>6.6.1-atlassian-2-SNAPSHOT</version> - <version>6.7.1-SNAPSHOT</version> ++ <version>6.7.0-atlassian-1-SNAPSHOT</version> </parent> <artifactId>struts2-spring-plugin</artifactId> diff --cc plugins/velocity/pom.xml index 1fecacb8e,15f81cefa..9c45ebc6b --- a/plugins/velocity/pom.xml +++ b/plugins/velocity/pom.xml @@@ -24,7 -24,7 +24,7 @@@ <parent> <groupId>org.apache.struts</groupId> <artifactId>struts2-plugins</artifactId> - <version>6.6.1-atlassian-2-SNAPSHOT</version> - <version>6.7.1-SNAPSHOT</version> ++ <version>6.7.0-atlassian-1-SNAPSHOT</version> </parent> <artifactId>struts2-velocity-plugin</artifactId> diff --cc pom.xml index 55dba1374,6d66989ee..c1c70f163 --- a/pom.xml +++ b/pom.xml @@@ -29,7 -29,7 +29,7 @@@ <modelVersion>4.0.0</modelVersion> <artifactId>struts2-parent</artifactId> - <version>6.6.1-atlassian-2-SNAPSHOT</version> - <version>6.7.1-SNAPSHOT</version> ++ <version>6.7.0-atlassian-1-SNAPSHOT</version> <packaging>pom</packaging> <name>Struts 2</name> <url>https://struts.apache.org/</url>