(struts) branch fix/after-rebase updated (576c06469 -> 660f5376e)

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git


from 576c06469 Replaces empty file upload test with simple one
 add 51a173aa2 Upgrades Maven wrapper
 add 660f5376e Fixes pipeline to properly handle transformed artifacts

No new revisions were added by this update.

Summary of changes:
 .mvn/wrapper/maven-wrapper.properties |   2 +-
 Jenkinsfile   | 111 +-
 2 files changed, 56 insertions(+), 57 deletions(-)



(struts) branch feature/jakarta-modules updated (c25e0e67a -> 41f4485b4)

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch feature/jakarta-modules
in repository https://gitbox.apache.org/repos/asf/struts.git


 discard c25e0e67a Moves JakartaEE related modules into dedicate subdirectory
 add 41f4485b4 Moves JakartaEE related modules into dedicate subdirectory

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   (c25e0e67a)
\
 N -- N -- N   refs/heads/feature/jakarta-modules (41f4485b4)

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.

No new revisions were added by this update.

Summary of changes:
 jakarta/freemarker-jakarta/pom.xml  | 2 +-
 jakarta/sitemesh2-jakarta/pom.xml   | 2 +-
 jakarta/velocity-tools-jsp-jakarta/pom.xml  | 2 +-
 jakarta/velocity-tools-view-jakarta/pom.xml | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)



(struts) 01/01: Moves JakartaEE related modules into dedicate subdirectory

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch feature/jakarta-modules
in repository https://gitbox.apache.org/repos/asf/struts.git

commit c25e0e67a189e75efd63eb12983bcdc559cf3001
Author: Lukasz Lenart 
AuthorDate: Sat Dec 16 17:37:09 2023 +0100

Moves JakartaEE related modules into dedicate subdirectory
---
 freemarker-jakarta/pom.xml | 71 
 .../freemarker-jakarta}/README.md  |  1 +
 jakarta/freemarker-jakarta/pom.xml | 71 
 jakarta/pom.xml| 48 ++
 .../sitemesh2-jakarta}/README.md   |  1 +
 jakarta/sitemesh2-jakarta/pom.xml  | 71 
 .../velocity-tools-jsp-jakarta}/README.md  |  1 +
 jakarta/velocity-tools-jsp-jakarta/pom.xml | 77 ++
 .../velocity-tools-view-jakarta}/README.md |  1 +
 jakarta/velocity-tools-view-jakarta/pom.xml| 71 
 pom.xml| 42 ++--
 sitemesh2-jakarta/pom.xml  | 71 
 velocity-tools-jsp-jakarta/pom.xml | 77 --
 velocity-tools-view-jakarta/pom.xml| 71 
 14 files changed, 362 insertions(+), 312 deletions(-)

diff --git a/freemarker-jakarta/pom.xml b/freemarker-jakarta/pom.xml
deleted file mode 100644
index d4b6b766c..0
--- a/freemarker-jakarta/pom.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-http://maven.apache.org/POM/4.0.0;
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd;>
-  4.0.0
-  
-org.apache.struts
-struts2-parent
-7.0.0-SNAPSHOT
-  
-  struts2-freemarker-jakarta
-  jar
-  Struts 2 Jakarta EE Compatible Freemarker
-
-  
-UTF-8
-true
-true
-  
-
-  
-
-  
-org.eclipse.transformer
-transformer-maven-plugin
-0.5.0
-true
-
-  
-true
-  
-
-
-  
-eclipse-transformer-freemarker-jar
-
-  jar
-
-
-  
-org.freemarker
-freemarker
-${freemarker.version}
-  
-
-  
-
-  
-
-  
-
diff --git a/freemarker-jakarta/README.md b/jakarta/freemarker-jakarta/README.md
similarity index 99%
rename from freemarker-jakarta/README.md
rename to jakarta/freemarker-jakarta/README.md
index 8702074d9..b3bf61124 100644
--- a/freemarker-jakarta/README.md
+++ b/jakarta/freemarker-jakarta/README.md
@@ -1,3 +1,4 @@
 # Struts 2 Freemarker Jakarta
+
 This uses the eclipse transformer maven plugin to make the Freemarker 
dependency Jakarta EE 9+ compatible.
 
diff --git a/jakarta/freemarker-jakarta/pom.xml 
b/jakarta/freemarker-jakarta/pom.xml
new file mode 100644
index 0..32e7e2e09
--- /dev/null
+++ b/jakarta/freemarker-jakarta/pom.xml
@@ -0,0 +1,71 @@
+
+
+http://maven.apache.org/POM/4.0.0;
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd;>
+4.0.0
+
+org.apache.struts
+struts2-parent
+7.0.0-SNAPSHOT
+
+struts2-freemarker-jakarta
+jar
+Struts 2 Jakarta EE Compatible Freemarker
+
+
+UTF-8
+true
+true
+
+
+
+
+
+org.eclipse.transformer
+transformer-maven-plugin
+0.5.0
+true
+
+
+true
+
+
+
+
+eclipse-transformer-freemarker-jar
+
+jar
+
+
+
+org.freemarker
+freemarker
+${freemarker.version}
+
+
+
+
+
+
+
+
diff --git a/jakarta/pom.xml b/jakarta/pom.xml
new file mode 100644
index 0..a4987ae2b
--- /dev/null
+++ b/jakarta/pom.xml
@@ -0,0 +1,48 @@
+
+
+http://maven.apache.org/POM/4.0.0;
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd;>
+4.0.0
+
+org.apache.struts
+struts2-parent
+7.0.0-SNAPSHOT
+
+struts2-jakarta
+pom
+Struts 2 Jakarta EE Compatible modules
+
+
+UTF-8
+true

(struts) branch feature/jakarta-modules created (now c25e0e67a)

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch feature/jakarta-modules
in repository https://gitbox.apache.org/repos/asf/struts.git


  at c25e0e67a Moves JakartaEE related modules into dedicate subdirectory

This branch includes the following new commits:

 new c25e0e67a Moves JakartaEE related modules into dedicate subdirectory

The 1 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.




(struts) 05/11: WW-5370 Simplifies error handling logic

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git

commit e0f77c11b5d4f7643a9e4164ff065014d918c802
Author: Lukasz Lenart 
AuthorDate: Fri Dec 15 09:38:43 2023 +0100

WW-5370 Simplifies error handling logic
---
 .../struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java  | 1 -
 1 file changed, 1 deletion(-)

diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
index 689968f29..80ef58097 100644
--- 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
+++ 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
@@ -48,7 +48,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
-import java.util.stream.Collectors;
 
 /**
  * Multi-part form data request adapter for Jakarta Commons FileUpload package 
that



(struts) 07/11: WW-5371 Migrates modern upload change to JakartaEE

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 31a582eee5a85bf7d9f5634006cda1859cedc1ef
Author: Lukasz Lenart 
AuthorDate: Sat Dec 16 16:11:37 2023 +0100

WW-5371 Migrates modern upload change to JakartaEE
---
 .../multipart/AbstractMultiPartRequest.java|  2 +
 .../multipart/JakartaMultiPartRequest.java | 57 +-
 .../org/apache/struts2/struts-messages.properties  | 50 ---
 .../ActionFileUploadInterceptorTest.java   | 10 ++--
 .../interceptor/FileUploadInterceptorTest.java | 10 ++--
 5 files changed, 94 insertions(+), 35 deletions(-)

diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
index e46470ea2..256fea051 100644
--- 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
+++ 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
@@ -36,6 +36,8 @@ import java.util.Locale;
  */
 public abstract class AbstractMultiPartRequest implements MultiPartRequest {
 
+protected static final String 
STRUTS_MESSAGES_UPLOAD_ERROR_PARAMETER_TOO_LONG_KEY = 
"struts.messages.upload.error.parameter.too.long";
+
 private static final Logger LOG = 
LogManager.getLogger(AbstractMultiPartRequest.class);
 
 /**
diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java
 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java
index 09c068471..ca5afd9dd 100644
--- 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java
+++ 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java
@@ -18,23 +18,12 @@
  */
 package org.apache.struts2.dispatcher.multipart;
 
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UncheckedIOException;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import jakarta.servlet.http.HttpServletRequest;
 import org.apache.commons.fileupload2.core.DiskFileItem;
 import org.apache.commons.fileupload2.core.DiskFileItemFactory;
 import org.apache.commons.fileupload2.core.FileItem;
 import org.apache.commons.fileupload2.core.FileUploadByteCountLimitException;
+import org.apache.commons.fileupload2.core.FileUploadContentTypeException;
 import org.apache.commons.fileupload2.core.FileUploadException;
 import org.apache.commons.fileupload2.core.FileUploadFileCountLimitException;
 import org.apache.commons.fileupload2.core.FileUploadSizeException;
@@ -45,7 +34,18 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.struts2.dispatcher.LocalizedMessage;
 
-import jakarta.servlet.http.HttpServletRequest;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UncheckedIOException;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * Multipart form data request adapter for Jakarta Commons Fileupload package.
@@ -77,13 +77,24 @@ public class JakartaMultiPartRequest extends 
AbstractMultiPartRequest {
 LocalizedMessage errorMessage;
 if (e instanceof FileUploadByteCountLimitException) {
 FileUploadByteCountLimitException ex = 
(FileUploadByteCountLimitException) e;
-errorMessage = buildErrorMessage(e, new 
Object[]{ex.getFileName(), ex.getPermitted(), ex.getActualSize()});
+errorMessage = buildErrorMessage(e, new Object[]{
+ex.getFieldName(), ex.getFileName(), 
ex.getPermitted(), ex.getActualSize()
+});
 } else if (e instanceof FileUploadFileCountLimitException) {
 FileUploadFileCountLimitException ex = 
(FileUploadFileCountLimitException) e;
-errorMessage = buildErrorMessage(e, new 
Object[]{ex.getPermitted()});
+errorMessage = buildErrorMessage(e, new Object[]{
+ex.getPermitted(), ex.getActualSize()
+});
 } else if (e instanceof FileUploadSizeException) {
 FileUploadSizeException ex = (FileUploadSizeException) e;
-errorMessage = buildErrorMessage(e, new 
Object[]{ex.getPermitted(), ex.getActualSize()});
+errorMessage = buildErrorMessage(e, new Object[]{
+

(struts) 09/11: WW-5339 Add option to block custom OGNL maps

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git

commit b087006a41004fd97d7baa7ca5269df620a5a43c
Author: Kusal Kithul-Godage 
AuthorDate: Tue Dec 5 13:06:33 2023 +1100

WW-5339 Add option to block custom OGNL maps
---
 .../com/opensymphony/xwork2/ognl/MyCustomMap.java  | 28 ++
 1 file changed, 28 insertions(+)

diff --git a/core/src/test/java/com/opensymphony/xwork2/ognl/MyCustomMap.java 
b/core/src/test/java/com/opensymphony/xwork2/ognl/MyCustomMap.java
new file mode 100644
index 0..ef5683386
--- /dev/null
+++ b/core/src/test/java/com/opensymphony/xwork2/ognl/MyCustomMap.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+package com.opensymphony.xwork2.ognl;
+
+import java.util.HashMap;
+
+public class MyCustomMap extends HashMap {
+@Override
+public V get(Object key) {
+return (V) "System compromised";
+}
+}



(struts) 02/11: WW-5371 Uses the new upload mechanism in Showcase app

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 86d4a520176b03aeac79f26ebe09b5f22ca91023
Author: Lukasz Lenart 
AuthorDate: Mon Dec 11 07:56:38 2023 +0100

WW-5371 Uses the new upload mechanism in Showcase app



(struts) 04/11: WW-5371 Document how to use the new file upload logic

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 2009e58924d798ae1671dab28362dd6eb8134e16
Author: Lukasz Lenart 
AuthorDate: Tue Dec 12 08:35:31 2023 +0100

WW-5371 Document how to use the new file upload logic
---
 core/src/main/java/org/apache/struts2/action/UploadedFilesAware.java| 2 +-
 .../struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/core/src/main/java/org/apache/struts2/action/UploadedFilesAware.java 
b/core/src/main/java/org/apache/struts2/action/UploadedFilesAware.java
index 635e0b2d4..92ec9c98b 100644
--- a/core/src/main/java/org/apache/struts2/action/UploadedFilesAware.java
+++ b/core/src/main/java/org/apache/struts2/action/UploadedFilesAware.java
@@ -33,7 +33,7 @@ public interface UploadedFilesAware {
  * Notifies action about the multiple uploaded files, when a single file 
is uploaded
  * the list will have just one element
  *
- * @param uploadedFiles a list of {@link UploadedFile}.
+ * @param uploadedFiles a list of {@link UploadedFile}, cannot be null. It 
can be empty.
  */
 void withUploadedFiles(List uploadedFiles);
 
diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
index 80ef58097..689968f29 100644
--- 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
+++ 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
@@ -48,6 +48,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 /**
  * Multi-part form data request adapter for Jakarta Commons FileUpload package 
that



(struts) 08/11: WW-5364 fixes automatically populated OGNL allowlist

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 83874c331804ef16f01387074a475c73803e37c2
Author: Lukasz Lenart 
AuthorDate: Sat Dec 16 16:12:46 2023 +0100

WW-5364 fixes automatically populated OGNL allowlist
---
 .../ConfigurationProviderOgnlAllowlistTest.java|  2 +-
 .../util/SecurityMemberAccessInServletsTest.java   | 10 ++---
 .../config/providers/xwork-test-allowlist-2.xml| 41 ++
 .../config/providers/xwork-test-allowlist.xml  | 48 ++
 4 files changed, 93 insertions(+), 8 deletions(-)

diff --git 
a/core/src/test/java/com/opensymphony/xwork2/config/providers/ConfigurationProviderOgnlAllowlistTest.java
 
b/core/src/test/java/com/opensymphony/xwork2/config/providers/ConfigurationProviderOgnlAllowlistTest.java
index 4fa4aad8b..d2c8bc3fe 100644
--- 
a/core/src/test/java/com/opensymphony/xwork2/config/providers/ConfigurationProviderOgnlAllowlistTest.java
+++ 
b/core/src/test/java/com/opensymphony/xwork2/config/providers/ConfigurationProviderOgnlAllowlistTest.java
@@ -40,7 +40,7 @@ public class ConfigurationProviderOgnlAllowlistTest extends 
XWorkJUnit4TestCase
 }
 
 @Test
-public void allowlist() throws Exception {
+public void allowList() throws Exception {
 loadConfigurationProviders(testXml1, testXml2);
 providerAllowlist = container.getInstance(ProviderAllowlist.class);
 
diff --git 
a/core/src/test/java/org/apache/struts2/util/SecurityMemberAccessInServletsTest.java
 
b/core/src/test/java/org/apache/struts2/util/SecurityMemberAccessInServletsTest.java
index 5154a0b92..9d934c36e 100644
--- 
a/core/src/test/java/org/apache/struts2/util/SecurityMemberAccessInServletsTest.java
+++ 
b/core/src/test/java/org/apache/struts2/util/SecurityMemberAccessInServletsTest.java
@@ -19,10 +19,10 @@
 package org.apache.struts2.util;
 
 import com.opensymphony.xwork2.ognl.SecurityMemberAccess;
+import jakarta.servlet.jsp.tagext.TagSupport;
 import org.apache.struts2.StrutsInternalTestCase;
 import org.apache.struts2.views.jsp.ActionTag;
 
-import jakarta.servlet.jsp.tagext.TagSupport;
 import java.lang.reflect.Member;
 import java.util.HashMap;
 import java.util.Map;
@@ -40,9 +40,7 @@ public class SecurityMemberAccessInServletsTest extends 
StrutsInternalTestCase {
 // given
 SecurityMemberAccess sma = new SecurityMemberAccess(true);
 
-Set excluded = new HashSet();
-
excluded.add(Pattern.compile("^(?!jakarta\\.servlet\\..+)(jakarta\\..+)"));
-sma.useExcludedPackageNamePatterns(excluded);
+
sma.useExcludedPackageNamePatterns("^(?!jakarta\\.servlet\\..+)(jakarta\\..+)");
 
 String propertyName = "value";
 Member member = TagSupport.class.getMethod("doStartTag");
@@ -58,9 +56,7 @@ public class SecurityMemberAccessInServletsTest extends 
StrutsInternalTestCase {
 // given
 SecurityMemberAccess sma = new SecurityMemberAccess(true);
 
-Set excluded = new HashSet<>();
-excluded.add(Pattern.compile("^jakarta\\..+"));
-sma.useExcludedPackageNamePatterns(excluded);
+sma.useExcludedPackageNamePatterns("^jakarta\\..+");
 
 String propertyName = "value";
 Member member = TagSupport.class.getMethod("doStartTag");
diff --git 
a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowlist-2.xml
 
b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowlist-2.xml
new file mode 100644
index 0..f5e9b184d
--- /dev/null
+++ 
b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowlist-2.xml
@@ -0,0 +1,41 @@
+
+
+https://struts.apache.org/dtds/struts-6.0.dtd;>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git 
a/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowlist.xml
 
b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowlist.xml
new file mode 100644
index 0..1de061efd
--- /dev/null
+++ 
b/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowlist.xml
@@ -0,0 +1,48 @@
+
+
+https://struts.apache.org/dtds/struts-6.0.dtd;>
+
+
+
+
+
+
+
+
+fooDefault
+
+
+
+
+
+
+
+
+18
+24
+
+
+
+
+



(struts) 11/11: Replaces empty file upload test with simple one

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 576c0646958de04891c0eca6db562478d57de337
Author: Lukasz Lenart 
AuthorDate: Sat Dec 16 16:48:51 2023 +0100

Replaces empty file upload test with simple one
---
 apps/showcase/pom.xml  |  8 ++-
 .../apache/struts2/showcase/FileUploadTest.java| 25 --
 2 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml
index 2745be15e..d715790cd 100644
--- a/apps/showcase/pom.xml
+++ b/apps/showcase/pom.xml
@@ -129,6 +129,12 @@
test

 
+   
+   org.assertj
+   assertj-core
+   test
+   
+

org.htmlunit
htmlunit
@@ -231,7 +237,7 @@
 
 8090
 
-10
+10
 
${basedir}/src/main/webapp/
 
   
diff --git 
a/apps/showcase/src/test/java/it/org/apache/struts2/showcase/FileUploadTest.java
 
b/apps/showcase/src/test/java/it/org/apache/struts2/showcase/FileUploadTest.java
index b5246ae2d..fdbc1c311 100644
--- 
a/apps/showcase/src/test/java/it/org/apache/struts2/showcase/FileUploadTest.java
+++ 
b/apps/showcase/src/test/java/it/org/apache/struts2/showcase/FileUploadTest.java
@@ -19,35 +19,46 @@
 package it.org.apache.struts2.showcase;
 
 import java.io.File;
+import java.io.FileWriter;
 
 import org.htmlunit.WebClient;
-import org.htmlunit.html.DomElement;
 import org.htmlunit.html.HtmlFileInput;
 import org.htmlunit.html.HtmlForm;
 import org.htmlunit.html.HtmlInput;
 import org.htmlunit.html.HtmlPage;
 import org.htmlunit.html.HtmlSubmitInput;
-import org.junit.Assert;
 import org.junit.Test;
 
+import static org.assertj.core.api.Assertions.assertThat;
+
 public class FileUploadTest {
 
 @Test
-public void testEmptyFile() throws Exception {
+public void testSimpleFileUpload() throws Exception {
 try (final WebClient webClient = new WebClient()) {
 final HtmlPage page = 
webClient.getPage(ParameterUtils.getBaseUrl() + "/fileupload/doUpload.action");
 final HtmlForm form = page.getFormByName("doUpload");
 HtmlInput captionInput = form.getInputByName("caption");
 HtmlFileInput uploadInput = form.getInputByName("upload");
 captionInput.type("some caption");
-File tempFile = File.createTempFile("testEmptyFile", ".tmp");
+File tempFile = File.createTempFile("testEmptyFile", ".txt");
 tempFile.deleteOnExit();
+
+try (FileWriter writer = new FileWriter(tempFile)) {
+writer.append("Some strings");
+}
+
 uploadInput.setValue(tempFile.getAbsolutePath());
 final HtmlSubmitInput button = form.getInputByValue("Submit");
 final HtmlPage resultPage = button.click();
-DomElement errorMessage = 
resultPage.getFirstByXPath("//span[@class='errorMessage']");
-Assert.assertNotNull(errorMessage);
-Assert.assertEquals("File cannot be empty", 
errorMessage.getVisibleText());
+
+String content = resultPage.getVisibleText();
+System.out.println(content);
+assertThat(content).contains(
+"ContentType: text/plain",
+"Original FileName: " + tempFile.getName(),
+"Caption:some caption"
+);
 }
 }
 



(struts) 01/11: WW-5371 Implements action based file upload

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 94a4f559e9f7c386570dbcab2180d515ab2ccb59
Author: Lukasz Lenart 
AuthorDate: Mon Dec 11 07:37:38 2023 +0100

WW-5371 Implements action based file upload
---
 .../apache/struts2/action/UploadedFilesAware.java  | 40 ++
 1 file changed, 40 insertions(+)

diff --git 
a/core/src/main/java/org/apache/struts2/action/UploadedFilesAware.java 
b/core/src/main/java/org/apache/struts2/action/UploadedFilesAware.java
new file mode 100644
index 0..635e0b2d4
--- /dev/null
+++ b/core/src/main/java/org/apache/struts2/action/UploadedFilesAware.java
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+package org.apache.struts2.action;
+
+import org.apache.struts2.dispatcher.multipart.UploadedFile;
+
+import java.util.List;
+
+/**
+ * Actions that want to be aware of all the uploaded file should implement 
this interface.
+ * The {@link org.apache.struts2.interceptor.ActionFileUploadInterceptor} will 
use the interface
+ * to notify action about the multiple uploaded files.
+ */
+public interface UploadedFilesAware {
+
+/**
+ * Notifies action about the multiple uploaded files, when a single file 
is uploaded
+ * the list will have just one element
+ *
+ * @param uploadedFiles a list of {@link UploadedFile}.
+ */
+void withUploadedFiles(List uploadedFiles);
+
+}



(struts) 10/11: Adds missing import

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 938f8eadb9a373d9b8f8798dc15eae90593a995f
Author: Lukasz Lenart 
AuthorDate: Sat Dec 16 16:22:15 2023 +0100

Adds missing import
---
 plugins/junit/src/main/java/org/apache/struts2/junit/StrutsTestCase.java | 1 +
 1 file changed, 1 insertion(+)

diff --git 
a/plugins/junit/src/main/java/org/apache/struts2/junit/StrutsTestCase.java 
b/plugins/junit/src/main/java/org/apache/struts2/junit/StrutsTestCase.java
index 2b40f26a6..6267a1d44 100644
--- a/plugins/junit/src/main/java/org/apache/struts2/junit/StrutsTestCase.java
+++ b/plugins/junit/src/main/java/org/apache/struts2/junit/StrutsTestCase.java
@@ -21,6 +21,7 @@ package org.apache.struts2.junit;
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionProxy;
 import com.opensymphony.xwork2.ActionProxyFactory;
+import com.opensymphony.xwork2.XWorkTestCase;
 import com.opensymphony.xwork2.config.Configuration;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.dispatcher.Dispatcher;



(struts) 06/11: WW-5371 Migrates modern upload change to JakartaEE

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 19642a5e6979471459b1bfa81de70762b7689152
Author: Lukasz Lenart 
AuthorDate: Sat Dec 16 13:58:52 2023 +0100

WW-5371 Migrates modern upload change to JakartaEE
---
 .../multipart/JakartaStreamMultiPartRequest.java   | 13 +---
 .../multipart/MultiPartRequestWrapper.java | 20 ++---
 .../interceptor/ActionFileUploadInterceptor.java   |  9 +--
 .../ActionFileUploadInterceptorTest.java   | 87 +++---
 4 files changed, 61 insertions(+), 68 deletions(-)

diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
index 80ef58097..90ef7a047 100644
--- 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
+++ 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
@@ -18,17 +18,12 @@
  */
 package org.apache.struts2.dispatcher.multipart;
 
+import org.apache.commons.fileupload2.core.DiskFileItem;
+import org.apache.commons.fileupload2.core.DiskFileItemFactory;
 import org.apache.commons.fileupload2.jakarta.JakartaServletFileUpload;
 import org.apache.commons.fileupload2.core.FileUploadSizeException;
 import org.apache.commons.fileupload2.core.FileItemInputIterator;
 import org.apache.commons.fileupload2.core.FileItemInput;
-import org.apache.commons.fileupload.FileItemIterator;
-import org.apache.commons.fileupload.FileItemStream;
-import org.apache.commons.fileupload.FileUploadBase;
-import 
org.apache.commons.fileupload.FileUploadBase.FileSizeLimitExceededException;
-import org.apache.commons.fileupload.FileUploadException;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.commons.fileupload.util.Streams;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.struts2.dispatcher.LocalizedMessage;
@@ -223,7 +218,7 @@ public class JakartaStreamMultiPartRequest extends 
AbstractMultiPartRequest {
 
 // Interface with Commons FileUpload API
 // Using the Streaming API
-JakartaServletFileUpload servletFileUpload = new 
JakartaServletFileUpload();
+JakartaServletFileUpload 
servletFileUpload = new JakartaServletFileUpload<>();
 if (maxSize != null) {
 servletFileUpload.setSizeMax(maxSize);
 }
@@ -447,8 +442,6 @@ public class JakartaStreamMultiPartRequest extends 
AbstractMultiPartRequest {
  */
 public static class FileInfo implements Serializable {
 
-private static final long serialVersionUID = 1083158552766906037L;
-
 private final File file;
 private final String contentType;
 private final String originalName;
diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
index c2871d423..c4f7b9dc6 100644
--- 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
+++ 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
@@ -55,9 +55,9 @@ public class MultiPartRequestWrapper extends 
StrutsRequestWrapper {
 
 protected static final Logger LOG = 
LogManager.getLogger(MultiPartRequestWrapper.class);
 
-private Collection errors;
-private MultiPartRequest multi;
-private Locale defaultLocale = Locale.ENGLISH;
+private final Collection errors;
+private final MultiPartRequest multi;
+private Locale defaultLocale;
 
 /**
  * Process file downloads and log any errors.
@@ -84,7 +84,7 @@ public class MultiPartRequestWrapper extends 
StrutsRequestWrapper {
 } catch (IOException e) {
 LOG.warn(e.getMessage(), e);
 addError(buildErrorMessage(e, new Object[] {e.getMessage()}));
-} 
+}
 }
 
 public MultiPartRequestWrapper(MultiPartRequest multiPartRequest, 
HttpServletRequest request, String saveDir, LocaleProvider provider) {
@@ -185,12 +185,12 @@ public class MultiPartRequestWrapper extends 
StrutsRequestWrapper {
 /**
  * @see jakarta.servlet.http.HttpServletRequest#getParameterMap()
  */
-public Map getParameterMap() {
+public Map getParameterMap() {
 Map map = new HashMap<>();
-Enumeration enumeration = getParameterNames();
+Enumeration enumeration = getParameterNames();
 
 while (enumeration.hasMoreElements()) {
-String name = (String) enumeration.nextElement();
+String name = enumeration.nextElement();
 map.put(name, this.getParameterValues(name));
 }
 
@@ -200,7 +200,7 @@ public 

(struts) branch fix/after-rebase created (now 576c06469)

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git


  at 576c06469 Replaces empty file upload test with simple one

This branch includes the following new commits:

 new 94a4f559e WW-5371 Implements action based file upload
 new 86d4a5201 WW-5371 Uses the new upload mechanism in Showcase app
 new 7f4c37b86 WW-5371 Simplifies file upload logic and extracts constants
 new 2009e5892 WW-5371 Document how to use the new file upload logic
 new e0f77c11b WW-5370 Simplifies error handling logic
 new 19642a5e6 WW-5371 Migrates modern upload change to JakartaEE
 new 31a582eee WW-5371 Migrates modern upload change to JakartaEE
 new 83874c331 WW-5364 fixes automatically populated OGNL allowlist
 new b087006a4 WW-5339 Add option to block custom OGNL maps
 new 938f8eadb Adds missing import
 new 576c06469 Replaces empty file upload test with simple one

The 11 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.




(struts) 03/11: WW-5371 Simplifies file upload logic and extracts constants

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/after-rebase
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 7f4c37b86a062bf5fa6d245222fc7c94734860ff
Author: Lukasz Lenart 
AuthorDate: Mon Dec 11 08:55:20 2023 +0100

WW-5371 Simplifies file upload logic and extracts constants



(struts) branch release/struts-7-0-x updated (c1054ada2 -> 5e187ad12)

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch release/struts-7-0-x
in repository https://gitbox.apache.org/repos/asf/struts.git


 discard c1054ada2 Merge pull request #778 from jdyer1/feature/WN-5141
omit ba45c36a9 WN-5141
omit 397c5491b Merge branch 'release/struts-7-0-x' into feature/WN-5141
omit cde3c4f12 Merge pull request #803 from apache/feature/update-htmlunit
omit cbb6b91f8 Upgrades Htmlunit to version 3.6.0
omit 4e22a87b1 WN-5141
omit fde15d3b8 Merge branch 'release/struts-7-0-x' into feature/WN-5141
omit cd93e4bb9 Delete remaining deprecated plugins
omit a1ff157cb Delete unused files missed in previous PR
omit 886290d68 [WW-5141] Removes deprecated plugins (#798)
omit 8e7dceb45 WW-5335 Reverts adding release/struts-7-0-x branch to 
scorecards analysis Only the main branch is supported by this action
omit 0fa58eab8 WW-5335 Prepares for Java 17 & Struts 7.x
omit 84ab6e966 Merge branch 'release/struts-7-0-x' into feature/WN-5141
omit bf2d85ebe [WW-5141] Removes deprecated plugins (#798)
omit dd45eb9f6 Merge branch 'release/struts-7-0-x' into feature/WN-5141
omit 0321d2777 Merge pull request #797 from apache/merge-forward-master
omit 219049773 Merge remote-tracking branch 'origin/master' into 
merge-forward-master
omit 50f724e66 WN-5141
omit 3651f62f5 WN-5141
omit 646ad0f54 Revert "WN-5141"
omit 0c5e9c34d WN-5141
omit 4f9febb54 WN-5141
omit 1080579db WN-5141
omit 5d19c7335 Revert "WN-5141"
omit c66f2a2a9 WN-5141
omit bb4237155 Revert "WN-5141"
omit 6b38a1e91 Revert "WN-5141"
omit aea173c89 Revert "WN-5141"
omit 9439e675c WN-5141
omit 334ed173c WN-5141
omit d6d0c5111 WN-5141
omit 7ae89828b Merge branch 'release/struts-7-0-x' into feature/WN-5141
omit e87806436 WN-5141
omit bde4eb37c WN-5141
omit 4aa8ccacf WN-5141
omit 0af312f0f WW-5335 Reverts adding release/struts-7-0-x branch to 
scorecards analysis Only the main branch is supported by this action
omit 0845c6af6 WW-5335 Prepares for Java 17 & Struts 7.x
omit ed04c009c Merge pull request #794 from apache/fix/WW-5335-scorecards
omit 55a304bf0 WW-5335 Reverts adding release/struts-7-0-x branch to 
scorecards analysis Only the main branch is supported by this action
omit 321cf4634 Merge pull request #785 from apache/feature/prepares-for-7
omit 5a34bc8e0 WN-5141
omit 89717a58c WN-5141
omit 6140e5d73 WN-5141
omit e3f463548 Revert "WN-5141"
omit deebfc346 WN-5141
omit 818ca1f26 WN-5141
omit 107eeb199 WN-5141
omit bbc4d1dbb WN-5141
omit 7c81d066e Revert "WN-5141"
omit 99a482d0f Revert "WN-5141"
omit 010192a1e Revert "WN-5141"
omit c990edad1 Revert "WN-5141"
omit 62c63a676 Revert "WN-5141"
omit 24519a97d Revert "WN-5141"
omit 8cd3245cf WN-5141
omit 77df10b9a Merge branch 'master' into feature/WN-5141
omit f17124c23 WN-5141
omit 98665848c WN-5141
omit 1aa997474 Merge pull request #1 from tyme-dev/feature/WN-5141
omit dc13abaf8 WW-5335 Prepares for Java 17 & Struts 7.x
omit 334c4090c conversion to fileupload2
omit 74cf21a4f Merge remote-tracking branch 'origin' into feature/WN-5141
omit 315eb49f0 WN-5141
omit f4bd1462e WN-5141
omit 3383ff552 WN-5141
omit 7f12f15d9 WN-5141
omit f2459c07c WN-5141
omit 908d06483 WN-5141
omit cb476c8a9 WN-5141
omit 46a0037a3 WN-5141
omit 4e8dbe0c9 WN-5141
omit f0df35f2e WN-5141
omit e4fa6e40e WN-5141
omit ea722cb35 WN-5141
omit 1c43fd1dc WN-5141
omit 8d465c66a WN-5141
omit 73b6a5831 IPAGE-5141
omit 27a2a4390 WN-5141
omit c322f7f4a WN-5141
omit 261cfe549 WN-5141
omit ba75db010 WN-5141
omit 861e8f98b WN-5141
omit eb16ed49a WN-5141
omit 9d873e506 Revert "WN-5141"
omit 57032d9d1 WN-5141
omit 5d1aa6edc WN-5141
omit cdb0820e6 WN-5141
omit d5e766e43 WN-5141
omit 8d3880a67 WN-5141
omit 1c66e692c WN-5141
omit 1fc70af56 WN-5141
omit def5254a5 WN-5141
omit 3a4c1dd6f WN-5141
omit 625a81e59 Revert "WN-5141"
omit b8b9f8aa3 WN-5141
omit 5ccaf2449 WN-5141
omit d132c4386 WN-5141
omit 6f609dea6 WN-5141
omit b10b49160 WN-5141
omit 20f8a0096 WN-5141
omit 33c1afad0 WN-5141
omit 0295f0728 WN-5141
omit e00457ee4 WN-5141
omit a900d7b7d WN-5141
omit 666e17845 WN-5141
omit 307829c5f WN-5141
omit af70ececd IPAGE-5141
omit 81a765cde WN-5141
omit c4cc465e1 WN-5141
omit 9ea5ffc5c Merge remote-tracking branch 'origin/master' into 
feature/WN-5141
omit 86c72097c WN-5141
 add 79ffc86b6 WW-5343 Delete unused code and consolidate constructors
 add 082532995 WW-5343 Extract ConfigParseUtil
 add b0b80bac7 WW-5343 Extract deprecated methods as default interface 
methods
 add 9e556e9ed WW-5343 Deprecate unnecessary setter
 add 90344b381 WW-5343 Make 

(struts) branch release/struts-7-0-x updated (cde3c4f12 -> c1054ada2)

2023-12-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch release/struts-7-0-x
in repository https://gitbox.apache.org/repos/asf/struts.git


from cde3c4f12 Merge pull request #803 from apache/feature/update-htmlunit
 new 86c72097c WN-5141
 new 9ea5ffc5c Merge remote-tracking branch 'origin/master' into 
feature/WN-5141
 new c4cc465e1 WN-5141
 new 81a765cde WN-5141
 new af70ececd IPAGE-5141
 new 307829c5f WN-5141
 new 666e17845 WN-5141
 new a900d7b7d WN-5141
 new e00457ee4 WN-5141
 new 0295f0728 WN-5141
 new 33c1afad0 WN-5141
 new 20f8a0096 WN-5141
 new b10b49160 WN-5141
 new 6f609dea6 WN-5141
 new d132c4386 WN-5141
 new 5ccaf2449 WN-5141
 new b8b9f8aa3 WN-5141
 new 625a81e59 Revert "WN-5141"
 new 3a4c1dd6f WN-5141
 new def5254a5 WN-5141
 new 1fc70af56 WN-5141
 new 1c66e692c WN-5141
 new 8d3880a67 WN-5141
 new d5e766e43 WN-5141
 new cdb0820e6 WN-5141
 new 5d1aa6edc WN-5141
 new 57032d9d1 WN-5141
 new 9d873e506 Revert "WN-5141"
 new eb16ed49a WN-5141
 new 861e8f98b WN-5141
 new ba75db010 WN-5141
 new 261cfe549 WN-5141
 new c322f7f4a WN-5141
 new 27a2a4390 WN-5141
 new 73b6a5831 IPAGE-5141
 new 8d465c66a WN-5141
 new 1c43fd1dc WN-5141
 new ea722cb35 WN-5141
 new e4fa6e40e WN-5141
 new f0df35f2e WN-5141
 new 4e8dbe0c9 WN-5141
 new 46a0037a3 WN-5141
 new cb476c8a9 WN-5141
 new 908d06483 WN-5141
 new f2459c07c WN-5141
 new 7f12f15d9 WN-5141
 new 3383ff552 WN-5141
 new f4bd1462e WN-5141
 new 315eb49f0 WN-5141
 new 74cf21a4f Merge remote-tracking branch 'origin' into feature/WN-5141
 new 334c4090c conversion to fileupload2
 new 1aa997474 Merge pull request #1 from tyme-dev/feature/WN-5141
 new 98665848c WN-5141
 new f17124c23 WN-5141
 new 77df10b9a Merge branch 'master' into feature/WN-5141
 new 8cd3245cf WN-5141
 new 24519a97d Revert "WN-5141"
 new 62c63a676 Revert "WN-5141"
 new c990edad1 Revert "WN-5141"
 new 010192a1e Revert "WN-5141"
 new 99a482d0f Revert "WN-5141"
 new 7c81d066e Revert "WN-5141"
 new bbc4d1dbb WN-5141
 new 107eeb199 WN-5141
 new 818ca1f26 WN-5141
 new deebfc346 WN-5141
 new e3f463548 Revert "WN-5141"
 new 6140e5d73 WN-5141
 new 89717a58c WN-5141
 new 5a34bc8e0 WN-5141
 new 0845c6af6 WW-5335 Prepares for Java 17 & Struts 7.x
 new 0af312f0f WW-5335 Reverts adding release/struts-7-0-x branch to 
scorecards analysis Only the main branch is supported by this action
 new 4aa8ccacf WN-5141
 new bde4eb37c WN-5141
 new e87806436 WN-5141
 new dc13abaf8 WW-5335 Prepares for Java 17 & Struts 7.x
 new 321cf4634 Merge pull request #785 from apache/feature/prepares-for-7
 new 55a304bf0 WW-5335 Reverts adding release/struts-7-0-x branch to 
scorecards analysis Only the main branch is supported by this action
 new ed04c009c Merge pull request #794 from apache/fix/WW-5335-scorecards
 new 7ae89828b Merge branch 'release/struts-7-0-x' into feature/WN-5141
 new d6d0c5111 WN-5141
 new 334ed173c WN-5141
 new 9439e675c WN-5141
 new aea173c89 Revert "WN-5141"
 new 6b38a1e91 Revert "WN-5141"
 new bb4237155 Revert "WN-5141"
 new c66f2a2a9 WN-5141
 new 5d19c7335 Revert "WN-5141"
 new 1080579db WN-5141
 new 4f9febb54 WN-5141
 new 0c5e9c34d WN-5141
 new 646ad0f54 Revert "WN-5141"
 new 3651f62f5 WN-5141
 new 50f724e66 WN-5141
 new 219049773 Merge remote-tracking branch 'origin/master' into 
merge-forward-master
 new 0321d2777 Merge pull request #797 from apache/merge-forward-master
 new dd45eb9f6 Merge branch 'release/struts-7-0-x' into feature/WN-5141
 new bf2d85ebe [WW-5141] Removes deprecated plugins (#798)
 new 84ab6e966 Merge branch 'release/struts-7-0-x' into feature/WN-5141
 new fde15d3b8 Merge branch 'release/struts-7-0-x' into feature/WN-5141
 new 4e22a87b1 WN-5141
 new 397c5491b Merge branch 'release/struts-7-0-x' into feature/WN-5141
 new ba45c36a9 WN-5141
 new c1054ada2 Merge pull request #778 from jdyer1/feature/WN-5141

The 7019 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:
 apps/rest-showcase/pom.xml |   2 +-
 apps/showcase/pom.xml  |  67 +++-
 .../apache/struts2/showcase/async/AsyncFilter.java |  14 +-
 .../struts2/showcase/chat/ChatSessionListener.java |   6 +-
 .../freemarker/CustomFreemarkerManager.java|   4 +-
 .../struts2/showcase/servlet/TestServlet.java  |   8 +-
 .../struts2/showcase/source/ViewSourceAction.java  |   2 +-
 .../validation/BeanValidationExampleAction.java|