[struts] branch servlet-3 created (now 059a2a611)

2022-05-14 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

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


  at 059a2a611 WW-5182 Upgrade to Servlet API 3.1

This branch includes the following new commits:

 new 059a2a611 WW-5182 Upgrade to Servlet API 3.1

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] 01/01: WW-5182 Upgrade to Servlet API 3.1

2022-05-14 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

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

commit 059a2a61174611236ae2e004e8a5fd4f9a31e5cc
Author: Lukasz Lenart 
AuthorDate: Sat May 14 09:12:42 2022 +0200

WW-5182 Upgrade to Servlet API 3.1
---
 apps/showcase/pom.xml  |  11 +-
 bundles/pom.xml|   4 +-
 core/pom.xml   |  11 +-
 .../org/apache/struts2/components/Include.java |  15 ++
 .../struts2/components/ServletUrlRenderer.java |   4 +-
 .../java/org/apache/struts2/util/StrutsUtil.java   |  16 ++
 .../main/java/org/apache/struts2/util/URLBean.java |  17 +-
 .../struts2/interceptor/CookieInterceptorTest.java | 231 +
 .../views/jsp/StrutsMockServletContext.java| 159 +-
 plugins/embeddedjsp/pom.xml|   9 -
 plugins/jasperreports/pom.xml  |   6 -
 plugins/jfreechart/pom.xml |  18 +-
 plugins/json/pom.xml   |  17 +-
 plugins/junit/pom.xml  |  15 +-
 plugins/osgi/pom.xml   |   9 -
 plugins/pom.xml|   2 +-
 plugins/portlet-mocks/pom.xml  |  13 +-
 plugins/portlet/pom.xml|  16 +-
 .../portlet/servlet/PortletServletContext.java | 143 +
 .../portlet/servlet/PortletServletInputStream.java |  21 +-
 .../servlet/PortletServletOutputStream.java|  15 +-
 .../portlet/servlet/PortletServletRequest.java | 194 -
 .../portlet/servlet/PortletServletResponse.java|  30 ++-
 plugins/rest/pom.xml   |  10 -
 plugins/spring/pom.xml |  24 +--
 plugins/testng/pom.xml |  17 +-
 plugins/velocity/pom.xml   |  11 +-
 pom.xml|   4 +-
 28 files changed, 710 insertions(+), 332 deletions(-)

diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml
index 5c4c581c8..c2136fe7a 100644
--- a/apps/showcase/pom.xml
+++ b/apps/showcase/pom.xml
@@ -101,7 +101,7 @@
 
 
 javax.servlet
-servlet-api
+javax.servlet-api
 provided
 
 
@@ -155,15 +155,6 @@
 6.1.2.Final
 
 
-
-
-javax.servlet
-javax.servlet-api
-3.1.0
-test
-
-
 
 
 
diff --git a/bundles/pom.xml b/bundles/pom.xml
index 606f2358f..d34c67496 100755
--- a/bundles/pom.xml
+++ b/bundles/pom.xml
@@ -53,12 +53,10 @@
 
 
 javax.servlet
-servlet-api
-2.4
+javax.servlet-api
 provided
 
 
-
 
 
 
diff --git a/core/pom.xml b/core/pom.xml
index 4ae6fa027..f34b8e92e 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -188,7 +188,7 @@
 
 
 javax.servlet
-servlet-api
+javax.servlet-api
 provided
 
 
@@ -345,15 +345,6 @@
 test
 
 
-
-
-javax.servlet
-javax.servlet-api
-3.1.0
-test
-
-
 
 commons-validator
 commons-validator
diff --git a/core/src/main/java/org/apache/struts2/components/Include.java 
b/core/src/main/java/org/apache/struts2/components/Include.java
index 70692bf1e..2e1f862dd 100644
--- a/core/src/main/java/org/apache/struts2/components/Include.java
+++ b/core/src/main/java/org/apache/struts2/components/Include.java
@@ -25,6 +25,7 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.struts2.RequestUtils;
 import org.apache.struts2.StrutsConstants;
+import org.apache.struts2.StrutsException;
 import org.apache.struts2.util.FastByteArrayOutputStream;
 import org.apache.struts2.views.annotations.StrutsTag;
 import org.apache.struts2.views.annotations.StrutsTagAttribute;
@@ -33,6 +34,7 @@ import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletException;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.ServletRequest;
+import javax.servlet.WriteListener;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponseWrapper;
@@ -296,6 +298,19 @@ public class Include extends Component {
 buffer = new FastByteArrayOutputStream();
 }
 
+@Override
+public boolean isReady() {
+return true;
+}
+
+@Override
+public void setWriteListener(WriteListener writeListener) {
+try {
+writeListener.onWritePossible();
+} catch (IOException e) {
+t