This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch WW-5233-tiles in repository https://gitbox.apache.org/repos/asf/struts.git
omit 34f30be74 WW-5233 Marks Velocity dependencies as optional omit 09895768e Merge pull request #616 from gregh3269/WW-5233-tiles omit 7de63911a Make plugin standalone with all generated resources for velocity. omit c95e23667 Make plugin standalone with all generated resources for velocity. omit 360f51dd5 Merge pull request #612 from gregh3269/WW-5233-tiles omit 64db73184 Make plugin standalone with all generated resources. omit 88caa890f Add generating of Autotags and tests. omit f71e32202 Merge pull request #610 from gregh3269/WW-5233-tiles omit b3f1c1e6d Add missing classes and tld definition. omit 00a37236a WW-5233 Adds Tiles DTD definition omit be172e6c5 WW-5233 Fixes broken test omit d0b153a7b WW-5233 Copies Tiles Portal related tests omit e9cad7ab3 WW-5233 Addresses a few code smells omit fb08d7bdf WW-5233 Addresses bugs reported by Sonar omit 30f8832be WW-5233 Drops useless @version tag and addresses some potential RegEx vulnerabilities omit 567828244 WW-5233 Copies Tiles Autotag related tests omit df5cf368f WW-5233 Copies Tiles Request related tests omit ffe556262 WW-5233 Upgrades Easymock to version 4.3 to support Java 17 omit 17cd2e3d2 WW-5233 Copies Tiles Servlet related tests omit fa7d76951 WW-5233 Copies Tiles Template related tests omit 3207bfd0e WW-5233 Copies Tiles OGNL related tests omit 044021ca1 WW-5233 Copies Tiles EL related tests omit 9b4bc635e WW-5233 Copies Tiles Core related tests omit ba7ef186f WW-5233 Copies Tiles API related tests omit 017a2e30b WW-5233 Copies Portlet related Tiles code base omit 3189fe84f WW-5233 Copies a based set of Tiles classes used by Struts add dc5dac7be WW-5228 Upgrades OWASP dependency-check-maven to version 7.2.0 add 88bc5c680 Merge pull request #600 from apache/WW-5228-owasp add 062b76718 WW-5231 Upgrades apache-rat-plugin to version 0.15 add 9faa002fa Merge pull request #601 from apache/WW-5231-rat add ab22c7377 WW-5232 Introduces GH Actions build instead of using Travis add 6b2cc20b2 WW-5232 Defines default ENV settings add 36ac23acf WW-5232 Uses Sonar Coverage badge instead of Travis on add dc1a663d6 WW-5232 Uses default SONAR_TOKEN name add 0fc71949c WW-5232 Uses Apache specific SONARCLOUD_TOKEN secret add 9fb86054b Reverts back to SONAR_TOKEN add 296b3cc89 Uses SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }} add eb6836828 WW-5232 Avoids building assemblies add e0e7e3cb2 Merge pull request #602 from apache/WW-5232-gh-actions add 7183d32ca Replaces Travis badge with GH Actions badge add cf2078d1d Merge pull request #603 from apache/lukaszlenart-patch-1 add 3774ffa7c WW-5234 Improves DTD definitions to use proper URL add a4fe51f5b Merge pull request #604 from apache/WW-5234-dtds add 32201b2ef WW-5232 Applies proper coverage settings for Jacoco plugin and Sonar add 326de812a Merge pull request #605 from apache/WW-5232-coverage add 6887ef900 WW-5235 Uses debug log level when setting expression max length to avoid cluttering logs add ddfaa1683 Merge pull request #606 from apache/WW-5235-ognl add 097297aff WW-5232 Stop generating Jacoco reports which are not used add 04cf1dae5 Puts back JaCoCo report generation add ddbd02e6b WW-5184 Uses debug log level when parameter value was not accepted add cbfd3a7ab WW-5184 Improves logging around excluding/accepting values of incoming parameters add 2217e2c1c Disables Code quality step in Jenkins pipeline to avoid overriding GH Actions results add 5338b44c2 WW-5184 Reduces code complexity when handling excluded/accepted values patterns add e0da03c26 Sets proper Sonar options in Jenkins pipeline and removes duplicated sonar properties add 58f287bf4 Merge pull request #607 from apache/WW-5184-log add a21bd994e WW-5238 Uses proper order of mapping functions to support action: prefix add 8f0db1d22 WW-3691 Converts BackgroundProcess into interface and uses Executor to execute BackgroundProcess add 4c8cc361d Merge pull request #609 from apache/WW-3691-executor add 26effbf05 WW-5241 Improves Exec&Wait example in Showcase app add 415e0fbd4 WW-5241 Ignores calls to append !method when DMI is disabled add 9dd256017 WW-5241 Adds test cases to cover checking namespace, action and method names add 864f51336 WW-5241 Adds test cases to cover DMI when mapping action add 511ec6210 Merge pull request #611 from apache/WW-5241-exec-and-wait add e783d1871 WW-5242 Marks struts.mapper.action.prefix.crossNamespaces as deprecated add cca986df3 Merge pull request #613 from apache/WW-5242-cross-action add 50842e8d1 WW-5242 Marks constant definition as deprecated add 2cb0d2896 WW-5244 Upgrades commons-text to version 1.10.0 add 3d7f66f42 Merge pull request #614 from apache/WW-5244-commons-text add 984f8eff2 WW-5245 Upgrades Jackson Databind to version 2.13.4.2 add 738d27952 Merge pull request #618 from apache/WW-5245-jackson-databind add bb7161029 WW-2815 Refactors XStreamHandler to allow to provide a custom configuration add ac13c32bd WW-2815 Drops deprecated API add a562f8f80 WW-2815 Fixes support for Collections and String add 339c30320 WW-2815 Drops clearing existing permissions to avoid messing with user provided configuration add 802afb0cc WW-2815 Drops unused import add 1069cf8c0 Merge pull request #615 from apache/WW-2815-xstream add 01164c4d7 WW-5230 Upgrades OGNL to version 3.3.4 add 3fdb91812 Merge pull request #619 from apache/WW-5230-ognl add 993c4c4ca WW-3529 Fixes using RegEx related characters in named pattern add 7064c53f5 Merge pull request #620 from apache/WW-3529-named-pattern add c41f05fe6 WW-3737 Allows to define a custom separator used to split patterns add 79d6c07a5 Merge pull request #621 from apache/WW-3737-custom-separator add a02cc6507 Defines OSSF Scorecard action to perform analysis add 936481e7e Adds badge with OSSF CII best practises scoring add 943cb6295 WW-5133 Drops labelposition attribute add 58dcc830e Merge pull request #622 from apache/WW-5133-labelposition add 956888870 WW-3725 Removes unused template add 784293e46 Merge pull request #623 from apache/WW-3725-remove add 3e30d0c37 WW-5137 Removes deprecated class attribute add 9e7e0b395 Merge pull request #624 from apache/WW-5137-class add 94a0c6e42 WW-4173 Adds support to disable processing a given interceptor add 084c257d6 WW-4173 Passes current ActionInvocation to allow based disabling interceptor on it add c74287f74 Merge pull request #625 from apache/WW-4173-disable add b53613619 Introduces CodeQL analyses add eb51594ed Adds proper header with Apache 2.0 license add 9c078aef1 WW-4440 Adds basic README.md to all submodules add 34aeeded5 Merge pull request #627 from apache/WW-4440-readme add 2660aaec5 [WW-4692] Extracts Url encoder/decoder into dedicated interfaces/classes (#626) add 6658c6360 WW-5252 Disables parsing external entities add 8d2d99605 WW-5252 Reuses factory method add 79a84a8f0 Merge pull request #628 from apache/WW-5252-external add 054f1f4cd Includes apps in code Coverage scan add 4bb81d590 WW-5255 Fixes <s:script/> and <s:link/> and uses them across tags add 4a585347e WW-5255 Fixes debug console and validators' details page add 5a30cdbed Merge pull request #629 from apache/WW-5255-script-link add 6330bb1ce WW-4514 Fixes building query string with empty parameters add 6135a7133 WW-4514 Extracts parameters string building into a dedicated class with a proper extension point add 728edbef5 Increases sleep to avoid false test failures add 4a51aacf4 WW-4514 Avoids logging user provided data add bfcc0b589 Swaps expected with actual add 35a50ea83 Merge pull request #630 from apache/WW-4514-url add ac168968a WW-5240 Uses doubleOn* attributes in the template This allows assign custom JS event handlers to the second select box add 0fe27a673 Merge pull request #631 from apache/WW-5240-doubleselect add 9a431ea47 Packages with assembly before publishing nightlies add 341a8f20e Cleans remote before uploading new packages add 138a8d74f WW-5257 Cleans up template add 0a30eb44e Merge pull request #632 from apache/WW-5257-checkbox add 927c58b7d WW-5258 Upgrades Struts Annotations to version 1.0.8 add 4ab427f2f Merge pull request #633 from apache/WW-5258-annotations add ea7fba284 WW-5259 Extracts UrlHelper#parseQueryString into a dedicated bean add 6ea50122d Merge pull request #634 from apache/WW-5259-parser add 18a72c3df [maven-release-plugin] prepare release STRUTS_6_1_0 add 1af3e3154 [maven-release-plugin] prepare for next development iteration add bcfa8113a WW-4173 Introduces a dedicated interface to allow conditionally executing a given interceptor add 09da11ba0 Merge pull request #635 from apache/WW-4173-optional add 65ae2b7e4 WW-5260 Introduces a constant to set submitUnchecked attribute of checkbox tag globally add 4d58dd196 Merge pull request #636 from apache/WW-5260-global-submit-unchecked add a77a80a80 Refactors name/value calculation logic add f5c0aa5f3 [maven-release-plugin] prepare release STRUTS_6_1_1 add d166d79a6 [maven-release-plugin] prepare for next development iteration add efd4c61a2 Updates OWASP supressions as some reports are false positive add 0d9a87418 Merge pull request #637 from apache/owasp-check new 1d58de276 WW-5233 Copies a based set of Tiles classes used by Struts new 2fd075271 WW-5233 Copies Portlet related Tiles code base new 128d5a519 WW-5233 Copies Tiles API related tests new c77dcb530 WW-5233 Copies Tiles Core related tests new 53e219931 WW-5233 Copies Tiles EL related tests new fe815e879 WW-5233 Copies Tiles OGNL related tests new 1d36a148b WW-5233 Copies Tiles Template related tests new e6f8f68af WW-5233 Copies Tiles Servlet related tests new 48c522fa1 WW-5233 Upgrades Easymock to version 4.3 to support Java 17 new c912c4eea WW-5233 Copies Tiles Request related tests new 3eeb2885b WW-5233 Copies Tiles Autotag related tests new 6d1f60ae1 WW-5233 Drops useless @version tag and addresses some potential RegEx vulnerabilities new 69e5efc84 WW-5233 Addresses bugs reported by Sonar new c8d843e70 WW-5233 Addresses a few code smells new 55987963a WW-5233 Copies Tiles Portal related tests new d694cce7c WW-5233 Fixes broken test new add505a3b WW-5233 Adds Tiles DTD definition new fff3cc8ac Add missing classes and tld definition. new 6715a5243 Add generating of Autotags and tests. new bae3e3954 Make plugin standalone with all generated resources. new 0568c2d3e Make plugin standalone with all generated resources for velocity. new 86c81ca27 Make plugin standalone with all generated resources for velocity. new 6fc1b9c97 WW-5233 Marks Velocity dependencies as optional This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (34f30be74) \ N -- N -- N refs/heads/WW-5233-tiles (6fc1b9c97) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 23 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .github/workflows/codeql.yml | 47 + .github/workflows/maven.yml | 57 + .github/workflows/scorecards-analysis.yaml | 69 + .travis.yml | 29 - Jenkinsfile | 8 +- README.md | 7 +- apps/README.md | 12 + apps/pom.xml | 2 +- apps/rest-showcase/pom.xml | 5 +- apps/rest-showcase/src/main/resources/struts.xml | 4 +- apps/showcase/pom.xml | 3 +- .../showcase/wait/ThreadPoolExecutorProvider.java | 56 + ...ction-lotsOfRichtexteditorSubmit-validation.xml | 14 +- .../showcase/action/EmployeeAction-validation.xml | 2 +- .../showcase/action/SkillAction-validation.xml | 2 +- .../fileupload/FileUploadAction-validation.xml | 5 +- .../showcase/person/NewPersonAction-validation.xml | 2 +- .../struts2/showcase/person/Person-validation.xml | 2 +- .../IteratorGeneratorTagDemo-validation.xml | 12 +- ...ubmitClientSideValidationExample-validation.xml | 8 +- ...on-submitFieldValidatorsExamples-validation.xml | 10 +- ...submitNonFieldValidatorsExamples-validation.xml | 12 +- .../showcase/validation/QuizAction-validation.xml | 4 +- ...mitApplication-submitApplication-validation.xml | 2 +- .../validation/User-userContext-validation.xml | 10 +- ...-submitVisitorValidatorsExamples-validation.xml | 6 +- .../src/main/resources/struts-actionchaining.xml | 6 +- apps/showcase/src/main/resources/struts-async.xml | 2 +- .../src/main/resources/struts-conversion.xml | 22 +- .../src/main/resources/struts-dispatcher.xml | 2 +- .../src/main/resources/struts-filedownload.xml | 2 +- .../src/main/resources/struts-fileupload.xml | 8 +- .../src/main/resources/struts-freemarker.xml | 6 +- .../showcase/src/main/resources/struts-hangman.xml | 10 +- .../src/main/resources/struts-interactive.xml | 4 +- .../src/main/resources/struts-model-driven.xml | 7 +- apps/showcase/src/main/resources/struts-person.xml | 2 +- .../src/main/resources/struts-tags-non-ui.xml | 28 +- .../showcase/src/main/resources/struts-tags-ui.xml | 2 +- apps/showcase/src/main/resources/struts-tags.xml | 2 +- apps/showcase/src/main/resources/struts-tiles.xml | 2 +- apps/showcase/src/main/resources/struts-token.xml | 2 +- .../src/main/resources/struts-validation.xml | 40 +- apps/showcase/src/main/resources/struts-wait.xml | 9 +- apps/showcase/src/main/resources/struts-xslt.xml | 4 +- apps/showcase/src/main/resources/struts.xml | 2 +- .../src/main/webapp/WEB-INF/decorators/main.jsp | 21 +- .../src/main/webapp/WEB-INF/wait/complete.jsp | 29 +- .../src/main/webapp/WEB-INF/wait/index.jsp | 53 + .../showcase/src/main/webapp/WEB-INF/wait/wait.jsp | 68 +- apps/showcase/src/main/webapp/wait/index.html | 53 - assembly/README.md | 3 + assembly/pom.xml | 2 +- bom/README.md | 20 + bom/pom.xml | 4 +- bundles/admin/pom.xml | 2 +- bundles/admin/src/main/resources/struts.xml | 4 +- bundles/demo/pom.xml | 2 +- bundles/demo/src/main/resources/struts.xml | 8 +- bundles/pom.xml | 2 +- core/README.md | 6 + core/pom.xml | 6 +- .../xwork2/DefaultActionInvocation.java | 37 +- .../com/opensymphony/xwork2/XWorkTestCase.java | 31 +- .../xwork2/config/entities/PackageConfig.java | 14 +- .../StrutsDefaultConfigurationProvider.java | 219 +-- .../opensymphony/xwork2/inject/ContainerImpl.java | 175 +- .../xwork2/interceptor/AbstractInterceptor.java | 22 +- ...nterceptor.java => ConditionalInterceptor.java} | 28 +- .../xwork2/interceptor/ParametersInterceptor.java | 211 ++- .../com/opensymphony/xwork2/ognl/OgnlUtil.java | 4 +- .../com/opensymphony/xwork2/util/DomHelper.java | 130 +- .../xwork2/util/NamedVariablePatternMatcher.java | 67 +- .../opensymphony/xwork2/validator/Validator.java | 2 +- .../xwork2/validator/ValidatorFactory.java | 2 +- .../java/org/apache/struts2/StrutsConstants.java | 19 +- .../org/apache/struts2/components/Checkbox.java | 62 +- .../struts2/components/ExtraParameterProvider.java | 4 +- .../struts2/components/ServletUrlRenderer.java | 29 +- .../java/org/apache/struts2/components/UIBean.java | 95 +- .../org/apache/struts2/components/UrlProvider.java | 22 +- .../config/AbstractBeanSelectionProvider.java | 1 - .../config/StrutsBeanSelectionProvider.java | 9 + .../apache/struts2/dispatcher/InitOperations.java | 37 +- .../dispatcher/mapper/DefaultActionMapper.java | 44 +- .../dispatcher/mapper/Restful2ActionMapper.java | 34 +- .../dispatcher/mapper/RestfulActionMapper.java | 19 +- .../struts2/interceptor/CoepInterceptor.java | 15 +- .../struts2/interceptor/CoopInterceptor.java | 13 +- .../interceptor/ExecuteAndWaitInterceptor.java | 66 +- .../interceptor/FetchMetadataInterceptor.java | 9 - .../struts2/interceptor/csp/CspInterceptor.java | 18 +- .../interceptor/exec/BackgroundProcess.java} | 38 +- .../struts2/interceptor/exec/ExecutorProvider.java | 21 +- .../StrutsBackgroundProcess.java} | 80 +- .../interceptor/exec/StrutsExecutorProvider.java | 53 + .../struts2/result/ServletDispatcherResult.java | 14 +- .../struts2/result/ServletRedirectResult.java | 19 +- .../apache/struts2/url/QueryStringBuilder.java} | 29 +- .../QueryStringParser.java} | 57 +- .../struts2/url/StrutsQueryStringBuilder.java | 92 + .../struts2/url/StrutsQueryStringParser.java | 98 + .../org/apache/struts2/url/StrutsUrlDecoder.java | 118 ++ .../org/apache/struts2/url/StrutsUrlEncoder.java | 58 + .../java/org/apache/struts2/url/UrlDecoder.java | 56 + .../apache/struts2/url/UrlEncoder.java} | 33 +- .../org/apache/struts2/util/URLDecoderUtil.java | 52 - .../org/apache/struts2/util/tomcat/buf/Ascii.java | 257 --- .../struts2/util/tomcat/buf/B2CConverter.java | 203 --- .../apache/struts2/util/tomcat/buf/ByteChunk.java | 937 ---------- .../apache/struts2/util/tomcat/buf/CharChunk.java | 702 -------- .../apache/struts2/util/tomcat/buf/HexUtils.java | 115 -- .../struts2/util/tomcat/buf/MessageBytes.java | 548 ------ .../struts2/util/tomcat/buf/StringCache.java | 697 ------- .../apache/struts2/util/tomcat/buf/UDecoder.java | 423 ----- .../struts2/util/tomcat/buf/Utf8Decoder.java | 295 --- .../apache/struts2/views/jsp/ui/AbstractUITag.java | 9 - .../struts2/views/util/DefaultUrlHelper.java | 241 +-- .../org/apache/struts2/views/util/UrlHelper.java | 18 +- .../org/apache/struts2/views/xslt/XSLTResult.java | 62 +- .../{template/xhtml/script.ftl => author.dtd} | 5 +- .../xwork2/validator/validators/default.xml | 2 +- .../org/apache/struts2/default.properties | 14 + .../struts2/interceptor/debugging/console.ftl | 8 +- core/src/main/resources/struts-2.0.dtd | 8 +- core/src/main/resources/struts-2.1.7.dtd | 2 +- core/src/main/resources/struts-2.1.dtd | 2 +- core/src/main/resources/struts-2.3.dtd | 2 +- core/src/main/resources/struts-2.5.dtd | 2 +- core/src/main/resources/struts-6.0.dtd | 2 +- core/src/main/resources/struts-default.xml | 383 ++-- .../template/archive/xhtml/controlheader.vm | 47 - .../src/main/resources/template/css_xhtml/head.ftl | 2 +- .../main/resources/template/simple/checkbox.ftl | 6 +- .../main/resources/template/simple/combobox.ftl | 14 +- .../template/simple/common-attributes.ftl | 4 +- core/src/main/resources/template/simple/debug.ftl | 16 +- .../resources/template/simple/doubleselect.ftl | 91 +- .../template/simple/form-close-tooltips.ftl | 11 +- .../main/resources/template/simple/form-close.ftl | 4 +- core/src/main/resources/template/simple/head.ftl | 2 +- .../template/simple/inputtransferselect.ftl | 2 +- core/src/main/resources/template/simple/link.ftl | 47 +- core/src/main/resources/template/simple/nonce.ftl | 4 +- .../template/simple/optiontransferselect.ftl | 2 +- core/src/main/resources/template/simple/script.ftl | 33 +- core/src/main/resources/template/simple/select.ftl | 6 +- .../resources/template/simple/updownselect.ftl | 4 +- .../src/main/resources/template/xhtml/checkbox.ftl | 5 +- .../template/xhtml/form-close-validate.ftl | 8 +- .../main/resources/template/xhtml/form-close.ftl | 4 +- .../resources/template/xhtml/form-validate.ftl | 2 +- core/src/main/resources/template/xhtml/head.ftl | 2 +- core/src/main/resources/template/xhtml/link.ftl | 21 - .../main/resources/template/xhtml/validation.js | 4 +- core/src/main/resources/xwork-default.xml | 2 +- core/src/main/resources/xwork-validator-1.0.2.dtd | 6 +- core/src/main/resources/xwork-validator-1.0.3.dtd | 2 +- core/src/main/resources/xwork-validator-1.0.dtd | 6 +- .../main/resources/xwork-validator-config-1.0.dtd | 2 +- .../resources/xwork-validator-definition-1.0.dtd | 2 +- core/src/site/resources/tags/a-attributes.html | 982 +++++----- .../src/site/resources/tags/action-attributes.html | 144 +- .../resources/tags/actionerror-attributes.html | 742 ++++---- .../resources/tags/actionmessage-attributes.html | 742 ++++---- .../src/site/resources/tags/append-attributes.html | 48 +- core/src/site/resources/tags/bean-attributes.html | 64 +- .../site/resources/tags/checkbox-attributes.html | 758 ++++---- .../resources/tags/checkboxlist-attributes.html | 854 +++++---- .../site/resources/tags/combobox-attributes.html | 902 +++++----- .../site/resources/tags/component-attributes.html | 726 ++++---- core/src/site/resources/tags/date-attributes.html | 112 +- .../resources/tags/datetextfield-attributes.html | 742 ++++---- core/src/site/resources/tags/debug-attributes.html | 726 ++++---- .../resources/tags/doubleselect-attributes.html | 1462 ++++++++------- core/src/site/resources/tags/else-attributes.html | 32 +- .../src/site/resources/tags/elseif-attributes.html | 48 +- .../site/resources/tags/fielderror-attributes.html | 758 ++++---- core/src/site/resources/tags/file-attributes.html | 758 ++++---- core/src/site/resources/tags/form-attributes.html | 950 +++++----- .../site/resources/tags/generator-attributes.html | 112 +- core/src/site/resources/tags/head-attributes.html | 726 ++++---- .../src/site/resources/tags/hidden-attributes.html | 726 ++++---- core/src/site/resources/tags/i18n-attributes.html | 48 +- core/src/site/resources/tags/if-attributes.html | 48 +- .../site/resources/tags/include-attributes.html | 48 +- .../tags/inputtransferselect-attributes.html | 1094 ++++++----- .../site/resources/tags/iterator-attributes.html | 128 +- core/src/site/resources/tags/label-attributes.html | 742 ++++---- core/src/site/resources/tags/link-attributes.html | 870 +++++---- core/src/site/resources/tags/merge-attributes.html | 48 +- .../src/site/resources/tags/number-attributes.html | 208 +-- .../site/resources/tags/optgroup-attributes.html | 160 +- .../tags/optiontransferselect-attributes.html | 1894 ++++++++++---------- core/src/site/resources/tags/param-attributes.html | 80 +- .../site/resources/tags/password-attributes.html | 822 +++++---- .../site/resources/tags/property-attributes.html | 128 +- core/src/site/resources/tags/push-attributes.html | 48 +- core/src/site/resources/tags/radio-attributes.html | 854 +++++---- core/src/site/resources/tags/reset-attributes.html | 806 ++++----- .../src/site/resources/tags/script-attributes.html | 886 +++++---- .../src/site/resources/tags/select-attributes.html | 934 +++++----- core/src/site/resources/tags/set-attributes.html | 102 +- core/src/site/resources/tags/sort-attributes.html | 80 +- .../src/site/resources/tags/submit-attributes.html | 822 +++++---- .../src/site/resources/tags/subset-attributes.html | 112 +- core/src/site/resources/tags/text-attributes.html | 128 +- .../site/resources/tags/textarea-attributes.html | 822 +++++---- .../site/resources/tags/textfield-attributes.html | 806 ++++----- core/src/site/resources/tags/token-attributes.html | 726 ++++---- .../resources/tags/updownselect-attributes.html | 1030 ++++++----- core/src/site/resources/tags/url-attributes.html | 278 +-- .../xwork2/DefaultActionInvocationTest.java | 144 +- .../com/opensymphony/xwork2/TestInterceptor.java | 89 - .../config/providers/InterceptorBuilderTest.java | 286 ++- .../providers/InterceptorForTestPurpose.java | 51 +- .../interceptor/ParametersInterceptorTest.java | 33 +- .../opensymphony/xwork2/util/DomHelperTest.java | 56 +- .../util/NamedVariablePatternMatcherTest.java | 27 +- .../org/apache/struts2/components/UIBeanTest.java | 4 +- .../struts2/dispatcher/InitOperationsTest.java | 86 + .../ServletDispatchedTestAssertInterceptor.java | 56 - .../dispatcher/mapper/DefaultActionMapperTest.java | 210 ++- .../mapper/Restful2ActionMapperTest.java | 10 +- .../dispatcher/mapper/RestfulActionMapperTest.java | 21 +- .../struts2/interceptor/BackgroundProcessTest.java | 104 -- .../struts2/interceptor/CoepInterceptorTest.java | 9 - .../struts2/interceptor/CoopInterceptorTest.java | 9 - .../struts2/interceptor/CspInterceptorTest.java | 11 - .../interceptor/ExecuteAndWaitInterceptorTest.java | 46 +- .../interceptor/FetchMetadataInterceptorTest.java | 8 - .../exec/StrutsBackgroundProcessTest.java | 179 ++ .../apache/struts2/result/PostbackResultTest.java | 5 +- .../result/ServletActionRedirectResultTest.java | 111 +- .../result/ServletDispatcherResultTest.java | 21 +- .../struts2/result/ServletRedirectResultTest.java | 14 +- .../struts2/url/StrutsQueryStringBuilderTest.java | 99 + .../struts2/url/StrutsQueryStringParserTest.java | 84 + .../apache/struts2/url/StrutsUrlDecoderTest.java | 120 ++ .../apache/struts2/url/StrutsUrlEncoderTest.java | 97 + .../apache/struts2/util/URLDecoderUtilTest.java | 96 - .../freemarker/FreemarkerResultMockedTest.java | 3 +- .../struts2/views/jsp/AbstractUITagTest.java | 50 +- .../apache/struts2/views/jsp/ui/CheckboxTest.java | 84 +- .../struts2/views/jsp/ui/DoubleSelectTest.java | 233 ++- .../apache/struts2/views/jsp/ui/FormTagTest.java | 24 +- .../org/apache/struts2/views/jsp/ui/LabelTest.java | 10 +- .../apache/struts2/views/jsp/ui/LinkTagTest.java | 6 +- .../apache/struts2/views/jsp/ui/SelectTest.java | 2 +- .../struts2/views/util/DefaultUrlHelperTest.java | 173 +- .../xwork2/ModelDrivenAction-validation.xml | 2 +- .../xwork2/SimpleAction-some-alias-validation.xml | 2 +- .../xwork2/SimpleAction-subproperty-validation.xml | 2 +- .../xwork2/SimpleAction-validation.xml | 2 +- .../SimpleAction-validationAlias-validation.xml | 2 +- .../xwork2/TestBean-anotherContext-validation.xml | 2 +- .../xwork2/TestBean-badtest-validation.xml | 2 +- .../TestBean-beanMessageBundle-validation.xml | 2 +- .../TestBean-expressionValidation-validation.xml | 2 +- .../opensymphony/xwork2/TestBean-validation.xml | 2 +- .../TestBean-visitorChildValidation-validation.xml | 2 +- .../TestBean-visitorValidation-validation.xml | 2 +- .../xwork2/TestChildBean-validation.xml | 4 +- .../xwork2/ValidationOrderAction-validation.xml | 18 +- .../providers/loadorder1/xwork-test-load-order.xml | 2 +- .../providers/loadorder2/xwork-test-load-order.xml | 2 +- .../providers/loadorder3/xwork-test-load-order.xml | 2 +- .../xwork2/config/providers/xwork- test.xml | 2 +- .../providers/xwork-include-after-package-2.xml | 2 +- .../providers/xwork-include-after-package.xml | 2 +- .../providers/xwork-include-before-package-2.xml | 2 +- .../providers/xwork-include-before-package.xml | 2 +- .../config/providers/xwork-include-parent.xml | 2 +- .../config/providers/xwork-test-action-invalid.xml | 2 +- .../xwork-test-actions-packagedefaultclassref.xml | 2 +- .../xwork2/config/providers/xwork-test-actions.xml | 2 +- .../providers/xwork-test-allowed-methods.xml | 2 +- .../providers/xwork-test-bad-inheritance.xml | 4 +- .../config/providers/xwork-test-basic-packages.xml | 2 +- .../providers/xwork-test-default-package.xml | 2 +- .../xwork-test-defaultclassref-package.xml | 4 +- .../providers/xwork-test-envs-substitution.xml | 2 +- .../providers/xwork-test-exception-mappings.xml | 2 +- .../xwork-test-global-result-inheritence.xml | 2 +- .../providers/xwork-test-include-wildcard.xml | 2 +- .../xwork-test-interceptor-defaultref.xml | 2 +- .../xwork-test-interceptor-inheritance.xml | 2 +- .../xwork-test-interceptor-param-overriding.xml | 11 +- .../providers/xwork-test-interceptor-params.xml | 2 +- ...ork-test-interceptor-stack-param-overriding.xml | 2 +- .../providers/xwork-test-interceptors-basic.xml | 2 +- .../providers/xwork-test-interceptors-spring.xml | 2 +- .../config/providers/xwork-test-multilevel.xml | 2 +- .../providers/xwork-test-package-inheritance.xml | 4 +- .../xwork2/config/providers/xwork-test-reload.xml | 2 +- .../providers/xwork-test-result-inheritance.xml | 2 +- .../config/providers/xwork-test-result-names.xml | 2 +- .../config/providers/xwork-test-result-types.xml | 2 +- .../xwork2/config/providers/xwork-test-results.xml | 2 +- .../config/providers/xwork-test-wildcard-1.xml | 2 +- .../config/providers/xwork-test-wildcard-2.xml | 2 +- .../providers/xwork-test-wildcard-include.xml | 4 +- .../providers/xwork-unknownhandler-stack-empty.xml | 2 +- .../providers/xwork-unknownhandler-stack.xml | 2 +- .../xwork2/test/DataAware-validation.xml | 2 +- .../test/DataAware-validationAlias-validation.xml | 2 +- .../xwork2/test/DataAware2-validation.xml | 2 +- .../xwork2/test/Equidae-validation.xml | 2 +- .../xwork2/test/SimpleAction2-validation.xml | 2 +- .../SimpleAction2-validationAlias-validation.xml | 2 +- .../opensymphony/xwork2/test/User-validation.xml | 2 +- .../xwork2/test/UserMarker-validation.xml | 2 +- .../VisitorValidatorModelAction-validation.xml | 2 +- ...atorTestAction-beanMessageBundle-validation.xml | 2 +- ...alidatorTestAction-validateArray-validation.xml | 2 +- ...ValidatorTestAction-validateList-validation.xml | 2 +- .../VisitorValidatorTestAction-validation.xml | 2 +- ...estAction-visitorChildValidation-validation.xml | 2 +- ...atorTestAction-visitorValidation-validation.xml | 2 +- ...estAction-visitorValidationAlias-validation.xml | 2 +- .../xwork2/validator/validator-parser-test.xml | 2 +- .../xwork2/validator/validator-parser-test2.xml | 10 +- .../xwork2/validator/validator-parser-test3.xml | 2 +- .../xwork2/validator/validator-parser-test4.xml | 2 +- .../xwork2/validator/validator-parser-test5.xml | 2 +- .../xwork2/validator/validator-parser-test6.xml | 2 +- .../xwork2/validator/validators-fail.xml | 2 +- core/src/test/resources/includeTest.xml | 2 +- core/src/test/resources/my-validators.xml | 2 +- core/src/test/resources/myOther-validators.xml | 2 +- .../org/apache/struts2/TestAction-validation.xml | 2 +- .../apache/struts2/dispatcher/ng/struts-no-op.xml | 2 +- .../views/freemarker/callActionFreeMarker.ftl | 4 +- .../views/freemarker/callActionFreeMarker2.ftl | 4 +- .../struts2/views/freemarker/customTextField.ftl | 2 - .../struts2/views/freemarker/dynaAttributes.ftl | 2 - .../views/freemarker/incompatible-improvements.ftl | 4 +- .../struts2/views/freemarker/manual-list.ftl | 2 - .../org/apache/struts2/views/freemarker/nested.ftl | 4 +- .../apache/struts2/views/freemarker/nonceTest.ftl | 2 - .../apache/struts2/views/freemarker/something.ftl | 2 - .../org/apache/struts2/views/jsp/WW3090-struts.xml | 2 +- .../apache/struts2/views/jsp/ui/DoubleSelect-5.txt | 2 +- .../apache/struts2/views/jsp/ui/DoubleSelect-6.txt | 42 + .../jsp/ui/DoubleValidationAction-validation.xml | 4 +- .../apache/struts2/views/jsp/ui/HeadTagTest-1.txt | 4 +- .../jsp/ui/IntValidationAction-validation.xml | 2 +- .../struts2/views/jsp/ui/User-validation.xml | 2 +- .../org/apache/struts2/views/jsp/ui/tooltip-1.txt | 2 +- .../org/apache/struts2/views/jsp/ui/tooltip-2.txt | 4 +- .../org/apache/struts2/views/jsp/ui/tooltip-3.txt | 2 +- ...dy.xml => struts-checkbox-submit-unchecked.xml} | 4 +- core/src/test/resources/struts-escape-body.xml | 2 +- .../struts-object-factory-result-builder.xml | 2 +- core/src/test/resources/struts-testing.xml | 2 +- core/src/test/resources/struts.xml | 2 +- core/src/test/resources/validators.xml | 2 +- core/src/test/resources/xwork-class-param-test.xml | 2 +- core/src/test/resources/xwork-param-test.xml | 2 +- core/src/test/resources/xwork-proxyinvoke.xml | 2 +- core/src/test/resources/xwork-sample.xml | 14 +- core/src/test/resources/xwork-test-beans.xml | 2 +- core/src/test/resources/xwork-test-default.xml | 2 +- core/src/test/resources/xwork-test-validation.xml | 4 +- plugins/README.md | 3 + plugins/async/README.md | 6 + plugins/async/pom.xml | 2 +- plugins/async/src/main/resources/struts-plugin.xml | 2 +- plugins/bean-validation/README.md | 7 + plugins/bean-validation/pom.xml | 2 +- .../src/main/resources/struts-plugin.xml | 2 +- .../src/test/resources/bean-validation-test.xml | 2 +- plugins/cdi/README.md | 6 + plugins/cdi/pom.xml | 2 +- plugins/cdi/src/main/resources/struts-plugin.xml | 4 +- plugins/config-browser/README.md | 6 + plugins/config-browser/pom.xml | 2 +- .../resources/config-browser/config-styles.css | 812 --------- .../resources/config-browser/config-styles.ftl | 710 ++++++++ .../main/resources/config-browser/page-header.ftl | 10 +- .../resources/config-browser/showValidators.ftl | 34 +- .../resources/config-browser/validatorDetails.ftl | 8 +- .../src/main/resources/struts-plugin.xml | 12 +- plugins/convention/README.md | 6 + plugins/convention/pom.xml | 2 +- .../src/main/resources/struts-plugin.xml | 2 +- plugins/dwr/README.md | 6 + plugins/dwr/pom.xml | 2 +- plugins/embeddedjsp/README.md | 2 + plugins/embeddedjsp/pom.xml | 3 +- .../main/java/org/apache/struts2/JSPRuntime.java | 13 +- .../src/main/resources/struts-plugin.xml | 2 +- .../org/apache/struts2/EmbeddedJSPResultTest.java | 22 +- .../test/resources/org/apache/struts2/complex0.jsp | 13 +- plugins/gxp/README.md | 2 + plugins/gxp/pom.xml | 2 +- plugins/gxp/src/main/resources/struts-plugin.xml | 4 +- plugins/jasperreports/README.md | 6 + plugins/jasperreports/pom.xml | 2 +- .../src/main/resources/struts-plugin.xml | 6 +- plugins/javatemplates/README.md | 6 + plugins/javatemplates/pom.xml | 2 +- .../src/main/resources/struts-plugin.xml | 4 +- plugins/jfreechart/README.md | 6 + plugins/jfreechart/pom.xml | 2 +- .../src/main/resources/struts-plugin.xml | 6 +- plugins/json/README.md | 6 + plugins/json/pom.xml | 2 +- plugins/json/src/main/resources/struts-plugin.xml | 2 +- .../struts2/json/JSONActionRedirectResultTest.java | 22 +- plugins/junit/README.md | 7 + plugins/junit/pom.xml | 2 +- .../resources/struts-convention-configuration.xml | 2 +- .../test/resources/struts-session-values-test.xml | 2 +- plugins/junit/src/test/resources/struts-test.xml | 2 +- plugins/junit/src/test/resources/struts.xml | 2 +- plugins/osgi/README.md | 2 + plugins/osgi/pom.xml | 2 +- plugins/osgi/src/main/resources/struts-plugin.xml | 6 +- plugins/oval/README.md | 2 + plugins/oval/pom.xml | 8 +- plugins/oval/src/main/resources/struts-plugin.xml | 2 +- plugins/oval/src/test/resources/oval-test.xml | 2 +- plugins/pell-multipart/README.md | 2 + plugins/pell-multipart/pom.xml | 2 +- .../src/main/resources/struts-plugin.xml | 4 +- plugins/plexus/README.md | 2 + plugins/plexus/pom.xml | 2 +- .../plexus/src/main/resources/struts-plugin.xml | 4 +- plugins/pom.xml | 2 +- plugins/portlet-mocks/README.md | 2 + plugins/portlet-mocks/pom.xml | 2 +- plugins/portlet-tiles/README.md | 2 + plugins/portlet-tiles/pom.xml | 2 +- .../src/main/resources/struts-plugin.xml | 2 +- plugins/portlet/README.md | 2 + plugins/portlet/pom.xml | 2 +- .../struts2/components/PortletUrlRenderer.java | 77 +- .../result/PortletActionRedirectResult.java | 247 +-- .../portlet/src/main/resources/struts-plugin.xml | 2 +- plugins/portlet/src/test/resources/struts.xml | 2 +- plugins/rest/README.md | 7 + plugins/rest/pom.xml | 2 +- .../struts2/rest/handler/XStreamHandler.java | 46 +- .../XStreamAllowedClassNames.java} | 4 +- .../XStreamAllowedClasses.java} | 4 +- .../{ => xstream}/XStreamPermissionProvider.java | 2 +- .../rest/handler/xstream/XStreamProvider.java | 54 +- plugins/rest/src/main/resources/struts-plugin.xml | 2 +- .../struts2/rest/handler/XStreamHandlerTest.java | 157 ++ plugins/sitemesh/README.md | 2 + plugins/sitemesh/pom.xml | 2 +- .../sitemesh/src/main/resources/struts-plugin.xml | 2 +- plugins/spring/README.md | 6 + plugins/spring/pom.xml | 2 +- .../spring/src/main/resources/struts-plugin.xml | 8 +- .../xwork2/spring/actionContext-xwork.xml | 4 +- plugins/testng/README.md | 6 + plugins/testng/pom.xml | 2 +- plugins/tiles/README.md | 6 + plugins/tiles/pom.xml | 2 +- plugins/tiles/src/main/resources/struts-plugin.xml | 2 +- plugins/velocity/README.md | 6 + plugins/velocity/pom.xml | 2 +- .../velocity/src/main/resources/struts-plugin.xml | 2 +- pom.xml | 81 +- src/etc/project-suppression.xml | 31 +- 467 files changed, 19442 insertions(+), 22455 deletions(-) create mode 100644 .github/workflows/codeql.yml create mode 100644 .github/workflows/maven.yml create mode 100644 .github/workflows/scorecards-analysis.yaml delete mode 100644 .travis.yml create mode 100644 apps/README.md create mode 100644 apps/showcase/src/main/java/org/apache/struts2/showcase/wait/ThreadPoolExecutorProvider.java create mode 100644 apps/showcase/src/main/webapp/WEB-INF/wait/index.jsp delete mode 100644 apps/showcase/src/main/webapp/wait/index.html create mode 100644 assembly/README.md create mode 100644 bom/README.md create mode 100644 core/README.md copy core/src/main/java/com/opensymphony/xwork2/interceptor/{AbstractInterceptor.java => ConditionalInterceptor.java} (59%) copy core/src/main/java/{com/opensymphony/xwork2/interceptor/AbstractInterceptor.java => org/apache/struts2/interceptor/exec/BackgroundProcess.java} (65%) copy plugins/rest/src/main/java/org/apache/struts2/rest/handler/XStreamPermissionProvider.java => core/src/main/java/org/apache/struts2/interceptor/exec/ExecutorProvider.java (66%) rename core/src/main/java/org/apache/struts2/interceptor/{BackgroundProcess.java => exec/StrutsBackgroundProcess.java} (63%) create mode 100644 core/src/main/java/org/apache/struts2/interceptor/exec/StrutsExecutorProvider.java copy core/src/main/java/{com/opensymphony/xwork2/interceptor/AbstractInterceptor.java => org/apache/struts2/url/QueryStringBuilder.java} (57%) copy core/src/main/java/org/apache/struts2/{components/ExtraParameterProvider.java => url/QueryStringParser.java} (74%) create mode 100644 core/src/main/java/org/apache/struts2/url/StrutsQueryStringBuilder.java create mode 100644 core/src/main/java/org/apache/struts2/url/StrutsQueryStringParser.java create mode 100644 core/src/main/java/org/apache/struts2/url/StrutsUrlDecoder.java create mode 100644 core/src/main/java/org/apache/struts2/url/StrutsUrlEncoder.java create mode 100644 core/src/main/java/org/apache/struts2/url/UrlDecoder.java copy core/src/main/java/{com/opensymphony/xwork2/interceptor/AbstractInterceptor.java => org/apache/struts2/url/UrlEncoder.java} (58%) delete mode 100644 core/src/main/java/org/apache/struts2/util/URLDecoderUtil.java delete mode 100644 core/src/main/java/org/apache/struts2/util/tomcat/buf/Ascii.java delete mode 100644 core/src/main/java/org/apache/struts2/util/tomcat/buf/B2CConverter.java delete mode 100644 core/src/main/java/org/apache/struts2/util/tomcat/buf/ByteChunk.java delete mode 100644 core/src/main/java/org/apache/struts2/util/tomcat/buf/CharChunk.java delete mode 100644 core/src/main/java/org/apache/struts2/util/tomcat/buf/HexUtils.java delete mode 100644 core/src/main/java/org/apache/struts2/util/tomcat/buf/MessageBytes.java delete mode 100644 core/src/main/java/org/apache/struts2/util/tomcat/buf/StringCache.java delete mode 100644 core/src/main/java/org/apache/struts2/util/tomcat/buf/UDecoder.java delete mode 100644 core/src/main/java/org/apache/struts2/util/tomcat/buf/Utf8Decoder.java rename core/src/main/resources/{template/xhtml/script.ftl => author.dtd} (92%) delete mode 100644 core/src/main/resources/template/archive/xhtml/controlheader.vm delete mode 100644 core/src/main/resources/template/xhtml/link.ftl delete mode 100644 core/src/test/java/com/opensymphony/xwork2/TestInterceptor.java create mode 100644 core/src/test/java/org/apache/struts2/dispatcher/InitOperationsTest.java delete mode 100644 core/src/test/java/org/apache/struts2/dispatcher/ServletDispatchedTestAssertInterceptor.java delete mode 100644 core/src/test/java/org/apache/struts2/interceptor/BackgroundProcessTest.java create mode 100644 core/src/test/java/org/apache/struts2/interceptor/exec/StrutsBackgroundProcessTest.java create mode 100644 core/src/test/java/org/apache/struts2/url/StrutsQueryStringBuilderTest.java create mode 100644 core/src/test/java/org/apache/struts2/url/StrutsQueryStringParserTest.java create mode 100644 core/src/test/java/org/apache/struts2/url/StrutsUrlDecoderTest.java create mode 100644 core/src/test/java/org/apache/struts2/url/StrutsUrlEncoderTest.java delete mode 100644 core/src/test/java/org/apache/struts2/util/URLDecoderUtilTest.java create mode 100644 core/src/test/resources/org/apache/struts2/views/jsp/ui/DoubleSelect-6.txt copy core/src/test/resources/{struts-escape-body.xml => struts-checkbox-submit-unchecked.xml} (89%) create mode 100644 plugins/README.md create mode 100644 plugins/async/README.md create mode 100644 plugins/bean-validation/README.md create mode 100644 plugins/cdi/README.md create mode 100644 plugins/config-browser/README.md delete mode 100644 plugins/config-browser/src/main/resources/config-browser/config-styles.css create mode 100644 plugins/config-browser/src/main/resources/config-browser/config-styles.ftl create mode 100644 plugins/convention/README.md create mode 100644 plugins/dwr/README.md create mode 100644 plugins/embeddedjsp/README.md create mode 100644 plugins/gxp/README.md create mode 100644 plugins/jasperreports/README.md create mode 100644 plugins/javatemplates/README.md create mode 100644 plugins/jfreechart/README.md create mode 100644 plugins/json/README.md create mode 100644 plugins/junit/README.md create mode 100644 plugins/osgi/README.md create mode 100644 plugins/oval/README.md create mode 100644 plugins/pell-multipart/README.md create mode 100644 plugins/plexus/README.md create mode 100644 plugins/portlet-mocks/README.md create mode 100644 plugins/portlet-tiles/README.md create mode 100644 plugins/portlet/README.md create mode 100644 plugins/rest/README.md rename plugins/rest/src/main/java/org/apache/struts2/rest/handler/{AllowedClassNames.java => xstream/XStreamAllowedClassNames.java} (90%) rename plugins/rest/src/main/java/org/apache/struts2/rest/handler/{AllowedClasses.java => xstream/XStreamAllowedClasses.java} (90%) rename plugins/rest/src/main/java/org/apache/struts2/rest/handler/{ => xstream}/XStreamPermissionProvider.java (95%) copy core/src/main/java/org/apache/struts2/components/ExtraParameterProvider.java => plugins/rest/src/main/java/org/apache/struts2/rest/handler/xstream/XStreamProvider.java (73%) create mode 100644 plugins/rest/src/test/java/org/apache/struts2/rest/handler/XStreamHandlerTest.java create mode 100644 plugins/sitemesh/README.md create mode 100644 plugins/spring/README.md create mode 100644 plugins/testng/README.md create mode 100644 plugins/tiles/README.md create mode 100644 plugins/velocity/README.md