CommunityOverCode Asia 2024 is calling for Presentations!

2024-03-29 Thread Huxing Zhang
Hi All,

Community over Code Asia 2024 will be held in person this year in
Hangzhou, China [1].

The CFP will end on April 21st, 2024 11:59 PM (Beijing time - UTC +8).

For details could be found on the website [1].

Note that for the topics that can't be presented in person, a
pre-recorded video is
also acceptable.

Please do not hesitate to submit, including the Web Server/Tomcat
track as well as the others!

[1] https://asia.communityovercode.org/

-- 
Best Regards!
Huxing

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



(tomcat-tck) 01/03: Tabs to 4 spaces

2024-03-29 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat-tck.git

commit 25b4974f095a43db733aaa9cc83feb8ba0548209
Author: Mark Thomas 
AuthorDate: Fri Mar 29 16:37:42 2024 +

Tabs to 4 spaces
---
 .../tck/servlet/TomcatServletTckConfiguration.java | 178 ++---
 .../websocket/TomcatWebSocketTckConfiguration.java |  60 +++
 2 files changed, 119 insertions(+), 119 deletions(-)

diff --git 
a/servlet-tck/src/test/java/org/apache/tomcat/tck/servlet/TomcatServletTckConfiguration.java
 
b/servlet-tck/src/test/java/org/apache/tomcat/tck/servlet/TomcatServletTckConfiguration.java
index f682bef..43e2c1a 100644
--- 
a/servlet-tck/src/test/java/org/apache/tomcat/tck/servlet/TomcatServletTckConfiguration.java
+++ 
b/servlet-tck/src/test/java/org/apache/tomcat/tck/servlet/TomcatServletTckConfiguration.java
@@ -57,77 +57,77 @@ public class TomcatServletTckConfiguration implements 
LoadableExtension {
 public void configureTomcat(@Observes final AfterStart afterStart) {
 Tomcat10EmbeddedContainer container = (Tomcat10EmbeddedContainer) 
afterStart.getDeployableContainer();
 try {
-   // Obtain reference to Tomcat instance
+// Obtain reference to Tomcat instance
 Field tomcatField = 
Tomcat10EmbeddedContainer.class.getDeclaredField("tomcat");
 tomcatField.setAccessible(true);
 Tomcat tomcat = (Tomcat) tomcatField.get(container);
 Connector connectorHttp = tomcat.getConnector();
 int localPort;
 
-   if 
("https".equals(System.getProperty("arquillian.launch"))) {
-   // Need to enabled HTTPS - only used for client-cert 
tests
-   Connector connectorHttps = new Connector();
-   connectorHttps.setPort(0);
-   connectorHttps.setSecure(true);
-   connectorHttps.setProperty("SSLEnabled", "true");
-
-   SSLHostConfig sslHostConfig = new SSLHostConfig();
-   SSLHostConfigCertificate certificateConfig = new 
SSLHostConfigCertificate(sslHostConfig, Type.UNDEFINED);
-   sslHostConfig.addCertificate(certificateConfig);
-   connectorHttps.addSslHostConfig(sslHostConfig);
-
-   // Can't use TLSv1.3 else certificate authentication 
won't work
-   sslHostConfig.setSslProtocol("TLS");
-   sslHostConfig.setProtocols("TLSv1.2");
-
-   // Server trust store needs to contain server root and 
client certificate
-   KeyStore trustStore = KeyStore.getInstance("JKS");
-   trustStore.load(null, null);
-   importKeyStore("/ca.jks", trustStore);
-   importKeyStore("/certificates/clientcert.jks", 
trustStore);
-   sslHostConfig.setTrustStore(trustStore);
-
-   // Server certificate
-   certificateConfig.setCertificateKeystoreFile(
-   
this.getClass().getResource("/localhost-rsa.jks").toExternalForm());
-
-   tomcat.getService().addConnector(connectorHttps);
-   localPort = connectorHttps.getLocalPort();
-
-   // Configure the client
-   // Copy the client certificate from the TCK JAR
-   File clientCertCopy = new File("target/clientcert.jks");
-   if (!clientCertCopy.exists()) {
-   try (InputStream clientCertInputStream =
-   
this.getClass().getResourceAsStream("/certificates/clientcert.jks");
-   OutputStream 
clientCertOutputStream = new FileOutputStream(clientCertCopy)
-   ) {
-   IOTools.flow(clientCertInputStream, 
clientCertOutputStream);
-   }
-   }
-   System.setProperty("javax.net.ssl.keyStore", 
clientCertCopy.getAbsolutePath());
-   System.setProperty("javax.net.ssl.keyStorePassword", 
"changeit");
-   URL trustStoreUrl = 
this.getClass().getResource("/ca.jks");
-   System.setProperty("javax.net.ssl.trustStore", 
trustStoreUrl.getFile());
-
-   // Create the user
-   tomcat.addUser("CN=CTS, OU=Java Software, O=Sun 
Microsystems Inc., L=Burlington, ST=MA, C=US", "must-be-non-null");
-   tomcat.addRole("CN=CTS, OU=Java Software, O=Sun 
Microsystems Inc., L=Burlington, ST=MA, C=US", "Administrator");
-   } else {
- 

(tomcat-tck) 02/03: Add support for running tests in parallel

2024-03-29 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat-tck.git

commit fd064450fe93c31057816d4a2923a12a7ab59056
Author: Mark Thomas 
AuthorDate: Fri Mar 29 16:49:46 2024 +

Add support for running tests in parallel
---
 .../tomcat/tck/jsp/TomcatJspTckConfiguration.java  | 66 ++
 ...org.jboss.arquillian.core.spi.LoadableExtension |  1 +
 jsp-tck/src/test/resources/arquillian.xml  | 11 
 3 files changed, 78 insertions(+)

diff --git 
a/jsp-tck/src/test/java/org/apache/tomcat/tck/jsp/TomcatJspTckConfiguration.java
 
b/jsp-tck/src/test/java/org/apache/tomcat/tck/jsp/TomcatJspTckConfiguration.java
new file mode 100644
index 000..f7dbb38
--- /dev/null
+++ 
b/jsp-tck/src/test/java/org/apache/tomcat/tck/jsp/TomcatJspTckConfiguration.java
@@ -0,0 +1,66 @@
+/*
+ * 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.tomcat.tck.jsp;
+
+import java.lang.reflect.Field;
+import java.net.URL;
+
+import org.apache.catalina.Host;
+import org.apache.catalina.connector.Connector;
+import org.apache.catalina.startup.Tomcat;
+import org.apache.tomcat.util.net.SSLHostConfig;
+import org.apache.tomcat.util.net.SSLHostConfigCertificate;
+import org.apache.tomcat.util.net.SSLHostConfigCertificate.Type;
+import org.apache.tomcat.util.scan.StandardJarScanner;
+import org.jboss.arquillian.container.spi.event.container.BeforeDeploy;
+import org.jboss.arquillian.core.api.annotation.Observes;
+import org.jboss.arquillian.core.spi.LoadableExtension;
+import org.jboss.arquillian.container.tomcat.embedded.EmbeddedContextConfig;
+import 
org.jboss.arquillian.container.tomcat.embedded.Tomcat10EmbeddedContainer;
+
+public class TomcatJspTckConfiguration implements LoadableExtension {
+
+@Override
+public void register(ExtensionBuilder builder) {
+builder.observer(JspObserver.class);
+}
+
+public static class JspObserver {
+
+public void configureContext(@Observes final BeforeDeploy 
beforeDeploy) {
+Tomcat10EmbeddedContainer container = (Tomcat10EmbeddedContainer) 
beforeDeploy.getDeployableContainer();
+try {
+// Obtain reference to Tomcat instance
+Field tomcatField = 
Tomcat10EmbeddedContainer.class.getDeclaredField("tomcat");
+tomcatField.setAccessible(true);
+Tomcat tomcat = (Tomcat) tomcatField.get(container);
+Connector connectorHttp = tomcat.getConnector();
+int localPort = connectorHttp.getLocalPort();
+
+// Update Arquillian configuration with port being used by 
Tomcat
+Field configurationField = 
Tomcat10EmbeddedContainer.class.getDeclaredField("configuration");
+configurationField.setAccessible(true);
+Object configuration = configurationField.get(container);
+Field portField = 
container.getConfigurationClass().getDeclaredField("bindHttpPort");
+portField.setAccessible(true);
+portField.set(configuration, Integer.valueOf(localPort));
+} catch (ReflectiveOperationException e) {
+throw new RuntimeException(e);
+}
+}
+}
+}
diff --git 
a/jsp-tck/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
 
b/jsp-tck/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
new file mode 100644
index 000..9a04876
--- /dev/null
+++ 
b/jsp-tck/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
@@ -0,0 +1 @@
+org.apache.tomcat.tck.jsp.TomcatJspTckConfiguration
\ No newline at end of file
diff --git a/jsp-tck/src/test/resources/arquillian.xml 
b/jsp-tck/src/test/resources/arquillian.xml
new file mode 100644
index 000..9367c9f
--- /dev/null
+++ b/jsp-tck/src/test/resources/arquillian.xml
@@ -0,0 +1,11 @@
+
+http://www.w3.org/2001/XMLSchema-instance;
+xmlns="http://jboss.org/schema/arquillian;
+xsi:schemaLocation="http://jboss.org/schema/arquillian 
http://www.jboss.org/schema/arquillian/arquillian_1_0.xsd;>
+
+  

(tomcat-tck) 03/03: Updates after TCK was moved to JSP project

2024-03-29 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat-tck.git

commit 9834238785170fba5dbe0ba53471c2b42b13fd1a
Author: Mark Thomas 
AuthorDate: Fri Mar 29 16:50:21 2024 +

Updates after TCK was moved to JSP project
---
 jsp-tck/pom.xml | 16 +++-
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/jsp-tck/pom.xml b/jsp-tck/pom.xml
index ed5df5a..79ae323 100644
--- a/jsp-tck/pom.xml
+++ b/jsp-tck/pom.xml
@@ -54,9 +54,10 @@
 test
 
 
-jakarta.tck
-common
-${tck.common.version}
+org.apache.tomcat
+tomcat-jsp-api
+${tomcat.version}
+test
 
 
 org.jboss.arquillian.container
@@ -89,6 +90,10 @@
 junit
 4.13.2
 
+
+org.slf4j
+slf4j-simple
+
 
 
 
@@ -105,6 +110,7 @@
 
 
 
jakarta.tck:jakarta-pages-tck
+5
 false
 
 localhost
@@ -112,8 +118,8 @@
 
8443
 5
 true
-
com.sun.ts.tests.jsp.lib.implementation.sun.common.SunRIURL
-
${settings.localRepository}/org/apache/tomcat/tomcat-jsp-api/${tomcat.version}/tomcat-jsp-api-${tomcat.version}.jar:${settings.localRepository}/org/apache/tomcat/tomcat-el-api/11.0.0-M18-SNAPSHOT/tomcat-el-api-11.0.0-M18-SNAPSHOT.jar:${settings.localRepository}/org/apache/tomcat/tomcat-servlet-api/11.0.0-M18-SNAPSHOT/tomcat-servlet-api-11.0.0-M18-SNAPSHOT.jar:${env.JAVA_HOME}/jmods/java.base
+
ee.jakarta.tck.pages.lib.implementation.sun.common.SunRIURL
+
${settings.localRepository}/org/apache/tomcat/tomcat-jsp-api/${tomcat.version}/tomcat-jsp-api-${tomcat.version}.jar:${settings.localRepository}/org/apache/tomcat/tomcat-el-api/${tomcat.version}/tomcat-el-api-${tomcat.version}.jar:${settings.localRepository}/org/apache/tomcat/tomcat-servlet-api/${tomcat.version}/tomcat-servlet-api-${tomcat.version}.jar:${env.JAVA_HOME}/jmods/java.base
 
 
 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



(tomcat-tck) branch main updated (4e0f906 -> 9834238)

2024-03-29 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat-tck.git


from 4e0f906  Servlet TCK 6.1.0 has been staged
 new 25b4974  Tabs to 4 spaces
 new fd06445  Add support for running tests in parallel
 new 9834238  Updates after TCK was moved to JSP project

The 3 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:
 jsp-tck/pom.xml|  16 +-
 .../tomcat/tck/jsp/TomcatJspTckConfiguration.java  |  66 
 ...org.jboss.arquillian.core.spi.LoadableExtension |   1 +
 .../src/test/resources/arquillian.xml  |   5 -
 .../tck/servlet/TomcatServletTckConfiguration.java | 178 ++---
 .../websocket/TomcatWebSocketTckConfiguration.java |  60 +++
 6 files changed, 197 insertions(+), 129 deletions(-)
 create mode 100644 
jsp-tck/src/test/java/org/apache/tomcat/tck/jsp/TomcatJspTckConfiguration.java
 create mode 100644 
jsp-tck/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
 copy {servlet-tck => jsp-tck}/src/test/resources/arquillian.xml (75%)


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Stop releasing Tomcat 9 or adding back Tomcat 10.0?

2024-03-29 Thread Romain Manni-Bucau
Proposed that as well, not yet sure since means there is no more cetifiable
version but let see.

Romain Manni-Bucau
@rmannibucau  |  Blog
 | Old Blog
 | Github  |
LinkedIn  | Book



Le ven. 29 mars 2024 à 16:51, Christopher Schultz <
ch...@christopherschultz.net> a écrit :

> Romain,
>
> On 3/29/24 08:50, Romain Manni-Bucau wrote:
> > Le ven. 29 mars 2024 à 13:41, Christopher Schultz <
> > ch...@christopherschultz.net> a écrit :
> >
> >> Romain,
> >>
> >> On 3/29/24 03:18, Romain Manni-Bucau wrote:
> >>> Side note: what I meant about ASF is that there was a help habit
> between
> >>> communities. I know it got "broken" (=it is no more a general real
> thing)
> >>> some years ago to isolate all projects (give them a total independency)
> >> but
> >>> I'm clearly not a fan of that, in particular when it deserves the
> project
> >>> but I totally respect your choice, didnt mean anything stronger than a
> >> hope.
> >>
> >> No problem. Adding the smile made it clear you were hoping about me
> >> specifically. But it wasn't clear what you were saying about the
> >> (Tomcat) project itself.
> >>
> >>> On the method addition/ TCK: no issue since signature of the api stays
> >> the
> >>> same.
> >>> Can break tomcat facade object design - but not a big deal for me - but
> >>> clearly not tck compat.
> >>
> >> Okay, I'm not super familiar with the TCK process itself. I had assumed
> >> that if we added arbitrary methods to the jakarta.* public interfaces,
> >> we'd fail the TCK.
> >>
> >
> > This is true but the proposal is more to comply to servlet5 U servlet 6
> > (union) API in tomcat objects.
> > If ServletRequestImpl (RequestFacade mainly) has the union of methods
> then
> > it can run with api 5 or 6 and still repect the compliance of both in the
> > same codebase.
> >
> > Indeed I'm only proposing it cause the diff is very low IMHO otherwise I
> > agree it would be a nightmare.
> >
> >
> >>
> >> If that's not the case, then...
> >>
> >> If you build a patch set for Tomcat 10.1.x to re-add those methods and
> >> it passes your TCK, we can apply them to 10.1 nd see if we also pass the
> >> TCK.
> >>
> >> If it passes both, I have no objection to adding those methods back to
> >> 10.1 to help-out anyone who feels strongly about supporting Servlet 5.
> >> You may find that others on the team are -1 on this; I'm not sure.
> >>
> >> Back to practical things: if you maintain a patch set (which should be
> >> fairly limited, as I asserted and you seem to agree with) that you can
> >> apply in order to pass the TCK and that's neaarly all its for, then I
> >> think it won't be much maintenance for you to keep that set.
> >>
> >> That is, if you either directly-fork Tomcat 10.1 or if your build
> >> process downloads the sources, patches and builds Tomcat locally, then
> >> you will pass the TCK and everyone is happy.
> >>
> >
> > The fork part is the unhappy part, not because of the work but because:
> >
> > * It breaks security scans
> > * It breaks change tracking and needs adjustments (for tomcat you try to
> > limit the diff between branches but as soon the branch is outside the
> > project it will be more complicated and a change can break the downstream
> > project more easily)
> > * It requires yet another release cycle outside of the official project
> > * It confuses end users
> > * It makes it impossible for users to upgrade Tomcat without a release of
> > the fork - what is possible in embedded TomEE or other projects
> >
> > This is why I was looking for another compromise.
>
> Could another compromise be "TomEE ignores Servlet 5 and just goes
> directly to Servlet 6"? That seems to be what Rémy is recommending
> because he obviously has no affection for Servlet 5 :)
>
> -chris
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>


Re: Stop releasing Tomcat 9 or adding back Tomcat 10.0?

2024-03-29 Thread Christopher Schultz

Romain,

On 3/29/24 08:50, Romain Manni-Bucau wrote:

Le ven. 29 mars 2024 à 13:41, Christopher Schultz <
ch...@christopherschultz.net> a écrit :


Romain,

On 3/29/24 03:18, Romain Manni-Bucau wrote:

Side note: what I meant about ASF is that there was a help habit between
communities. I know it got "broken" (=it is no more a general real thing)
some years ago to isolate all projects (give them a total independency)

but

I'm clearly not a fan of that, in particular when it deserves the project
but I totally respect your choice, didnt mean anything stronger than a

hope.

No problem. Adding the smile made it clear you were hoping about me
specifically. But it wasn't clear what you were saying about the
(Tomcat) project itself.


On the method addition/ TCK: no issue since signature of the api stays

the

same.
Can break tomcat facade object design - but not a big deal for me - but
clearly not tck compat.


Okay, I'm not super familiar with the TCK process itself. I had assumed
that if we added arbitrary methods to the jakarta.* public interfaces,
we'd fail the TCK.



This is true but the proposal is more to comply to servlet5 U servlet 6
(union) API in tomcat objects.
If ServletRequestImpl (RequestFacade mainly) has the union of methods then
it can run with api 5 or 6 and still repect the compliance of both in the
same codebase.

Indeed I'm only proposing it cause the diff is very low IMHO otherwise I
agree it would be a nightmare.




If that's not the case, then...

If you build a patch set for Tomcat 10.1.x to re-add those methods and
it passes your TCK, we can apply them to 10.1 nd see if we also pass the
TCK.

If it passes both, I have no objection to adding those methods back to
10.1 to help-out anyone who feels strongly about supporting Servlet 5.
You may find that others on the team are -1 on this; I'm not sure.

Back to practical things: if you maintain a patch set (which should be
fairly limited, as I asserted and you seem to agree with) that you can
apply in order to pass the TCK and that's neaarly all its for, then I
think it won't be much maintenance for you to keep that set.

That is, if you either directly-fork Tomcat 10.1 or if your build
process downloads the sources, patches and builds Tomcat locally, then
you will pass the TCK and everyone is happy.



The fork part is the unhappy part, not because of the work but because:

* It breaks security scans
* It breaks change tracking and needs adjustments (for tomcat you try to
limit the diff between branches but as soon the branch is outside the
project it will be more complicated and a change can break the downstream
project more easily)
* It requires yet another release cycle outside of the official project
* It confuses end users
* It makes it impossible for users to upgrade Tomcat without a release of
the fork - what is possible in embedded TomEE or other projects

This is why I was looking for another compromise.


Could another compromise be "TomEE ignores Servlet 5 and just goes 
directly to Servlet 6"? That seems to be what Rémy is recommending 
because he obviously has no affection for Servlet 5 :)


-chris

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Buildbot failure in on tomcat-9.0.x

2024-03-29 Thread buildbot
Build status: BUILD FAILED: failed compile (failure)
Worker used: bb_worker2_ubuntu
URL: https://ci2.apache.org/#builders/37/builds/901
Blamelist: remm 
Build Text: failed compile (failure)
Status Detected: new failure
Build Source Stamp: [branch 9.0.x] 1ad7d0e3711c001928fed65a7bc2ec90f8d4c810


Steps:

  worker_preparation: 0

  git: 0

  shell: 0

  shell_1: 0

  shell_2: 0

  shell_3: 0

  shell_4: 0

  shell_5: 0

  compile: 1

  shell_6: 0

  shell_7: 0

  shell_8: 0

  shell_9: 0

  Rsync docs to nightlies.apache.org: 0

  shell_10: 0

  Rsync RAT to nightlies.apache.org: 0

  compile_1: 2

  shell_11: 0

  Rsync Logs to nightlies.apache.org: 0


-- ASF Buildbot


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Stop releasing Tomcat 9 or adding back Tomcat 10.0?

2024-03-29 Thread Romain Manni-Bucau
Le ven. 29 mars 2024 à 13:41, Christopher Schultz <
ch...@christopherschultz.net> a écrit :

> Romain,
>
> On 3/29/24 03:18, Romain Manni-Bucau wrote:
> > Side note: what I meant about ASF is that there was a help habit between
> > communities. I know it got "broken" (=it is no more a general real thing)
> > some years ago to isolate all projects (give them a total independency)
> but
> > I'm clearly not a fan of that, in particular when it deserves the project
> > but I totally respect your choice, didnt mean anything stronger than a
> hope.
>
> No problem. Adding the smile made it clear you were hoping about me
> specifically. But it wasn't clear what you were saying about the
> (Tomcat) project itself.
>
> > On the method addition/ TCK: no issue since signature of the api stays
> the
> > same.
> > Can break tomcat facade object design - but not a big deal for me - but
> > clearly not tck compat.
>
> Okay, I'm not super familiar with the TCK process itself. I had assumed
> that if we added arbitrary methods to the jakarta.* public interfaces,
> we'd fail the TCK.
>

This is true but the proposal is more to comply to servlet5 U servlet 6
(union) API in tomcat objects.
If ServletRequestImpl (RequestFacade mainly) has the union of methods then
it can run with api 5 or 6 and still repect the compliance of both in the
same codebase.

Indeed I'm only proposing it cause the diff is very low IMHO otherwise I
agree it would be a nightmare.


>
> If that's not the case, then...
>
> If you build a patch set for Tomcat 10.1.x to re-add those methods and
> it passes your TCK, we can apply them to 10.1 nd see if we also pass the
> TCK.
>
> If it passes both, I have no objection to adding those methods back to
> 10.1 to help-out anyone who feels strongly about supporting Servlet 5.
> You may find that others on the team are -1 on this; I'm not sure.
>
> Back to practical things: if you maintain a patch set (which should be
> fairly limited, as I asserted and you seem to agree with) that you can
> apply in order to pass the TCK and that's neaarly all its for, then I
> think it won't be much maintenance for you to keep that set.
>
> That is, if you either directly-fork Tomcat 10.1 or if your build
> process downloads the sources, patches and builds Tomcat locally, then
> you will pass the TCK and everyone is happy.
>

The fork part is the unhappy part, not because of the work but because:

* It breaks security scans
* It breaks change tracking and needs adjustments (for tomcat you try to
limit the diff between branches but as soon the branch is outside the
project it will be more complicated and a change can break the downstream
project more easily)
* It requires yet another release cycle outside of the official project
* It confuses end users
* It makes it impossible for users to upgrade Tomcat without a release of
the fork - what is possible in embedded TomEE or other projects

This is why I was looking for another compromise.


>
> If your build process is strictly "download Tomcat binaries and use
> them" then of course it will be more complicated.
>
> -chris
>
> > Le jeu. 28 mars 2024 à 23:13, Christopher Schultz <
> > ch...@christopherschultz.net> a écrit :
> >
> >> Romain,
> >>
> >> On 3/27/24 15:29, Romain Manni-Bucau wrote:
> >>> FYI here is the diff between servlet 5 and 6 API jars:
> >>>
> >>> New API: - jakarta.servlet.ServletConnection Deleted API: -
> >>> jakarta.servlet.SingleThreadModel -
> >> jakarta.servlet.http.HttpSessionContext
> >>> - jakarta.servlet.http.HttpUtils Changed API:
> >>> jakarta.servlet.ServletContext Deleted methods: - public abstract
> >>> jakarta.servlet.Servlet
> >>> jakarta.servlet.ServletContext.getServlet(java.lang.String) throws
> >>> jakarta.servlet.ServletException - public abstract
> java.util.Enumeration
> >>> jakarta.servlet.ServletContext.getServletNames() - public abstract
> >>> java.util.Enumeration jakarta.servlet.ServletContext.getServlets() -
> >> public
> >>> abstract void
> >>>
> jakarta.servlet.ServletContext.log(java.lang.Exception,java.lang.String)
> >>> jakarta.servlet.ServletRequest Added methods: - public abstract
> >>> jakarta.servlet.ServletConnection
> >>> jakarta.servlet.ServletRequest.getServletConnection() - public abstract
> >>> java.lang.String jakarta.servlet.ServletRequest.getProtocolRequestId()
> -
> >>> public abstract java.lang.String
> >>> jakarta.servlet.ServletRequest.getRequestId() Deleted methods: - public
> >>> abstract java.lang.String
> >>> jakarta.servlet.ServletRequest.getRealPath(java.lang.String)
> >>> jakarta.servlet.ServletRequestWrapper Added methods: - public
> >>> jakarta.servlet.ServletConnection
> >>> jakarta.servlet.ServletRequestWrapper.getServletConnection() - public
> >>> java.lang.String
> >>> jakarta.servlet.ServletRequestWrapper.getProtocolRequestId() - public
> >>> java.lang.String jakarta.servlet.ServletRequestWrapper.getRequestId()
> >>> Deleted methods: - public java.lang.String
> >>> 

Re: Stop releasing Tomcat 9 or adding back Tomcat 10.0?

2024-03-29 Thread Christopher Schultz

Romain,

On 3/29/24 03:18, Romain Manni-Bucau wrote:

Side note: what I meant about ASF is that there was a help habit between
communities. I know it got "broken" (=it is no more a general real thing)
some years ago to isolate all projects (give them a total independency) but
I'm clearly not a fan of that, in particular when it deserves the project
but I totally respect your choice, didnt mean anything stronger than a hope.


No problem. Adding the smile made it clear you were hoping about me 
specifically. But it wasn't clear what you were saying about the 
(Tomcat) project itself.



On the method addition/ TCK: no issue since signature of the api stays the
same.
Can break tomcat facade object design - but not a big deal for me - but
clearly not tck compat.


Okay, I'm not super familiar with the TCK process itself. I had assumed 
that if we added arbitrary methods to the jakarta.* public interfaces, 
we'd fail the TCK.


If that's not the case, then...

If you build a patch set for Tomcat 10.1.x to re-add those methods and 
it passes your TCK, we can apply them to 10.1 nd see if we also pass the 
TCK.


If it passes both, I have no objection to adding those methods back to 
10.1 to help-out anyone who feels strongly about supporting Servlet 5. 
You may find that others on the team are -1 on this; I'm not sure.


Back to practical things: if you maintain a patch set (which should be 
fairly limited, as I asserted and you seem to agree with) that you can 
apply in order to pass the TCK and that's neaarly all its for, then I 
think it won't be much maintenance for you to keep that set.


That is, if you either directly-fork Tomcat 10.1 or if your build 
process downloads the sources, patches and builds Tomcat locally, then 
you will pass the TCK and everyone is happy.


If your build process is strictly "download Tomcat binaries and use 
them" then of course it will be more complicated.


-chris


Le jeu. 28 mars 2024 à 23:13, Christopher Schultz <
ch...@christopherschultz.net> a écrit :


Romain,

On 3/27/24 15:29, Romain Manni-Bucau wrote:

FYI here is the diff between servlet 5 and 6 API jars:

New API: - jakarta.servlet.ServletConnection Deleted API: -
jakarta.servlet.SingleThreadModel -

jakarta.servlet.http.HttpSessionContext

- jakarta.servlet.http.HttpUtils Changed API:
jakarta.servlet.ServletContext Deleted methods: - public abstract
jakarta.servlet.Servlet
jakarta.servlet.ServletContext.getServlet(java.lang.String) throws
jakarta.servlet.ServletException - public abstract java.util.Enumeration
jakarta.servlet.ServletContext.getServletNames() - public abstract
java.util.Enumeration jakarta.servlet.ServletContext.getServlets() -

public

abstract void
jakarta.servlet.ServletContext.log(java.lang.Exception,java.lang.String)
jakarta.servlet.ServletRequest Added methods: - public abstract
jakarta.servlet.ServletConnection
jakarta.servlet.ServletRequest.getServletConnection() - public abstract
java.lang.String jakarta.servlet.ServletRequest.getProtocolRequestId() -
public abstract java.lang.String
jakarta.servlet.ServletRequest.getRequestId() Deleted methods: - public
abstract java.lang.String
jakarta.servlet.ServletRequest.getRealPath(java.lang.String)
jakarta.servlet.ServletRequestWrapper Added methods: - public
jakarta.servlet.ServletConnection
jakarta.servlet.ServletRequestWrapper.getServletConnection() - public
java.lang.String
jakarta.servlet.ServletRequestWrapper.getProtocolRequestId() - public
java.lang.String jakarta.servlet.ServletRequestWrapper.getRequestId()
Deleted methods: - public java.lang.String
jakarta.servlet.ServletRequestWrapper.getRealPath(java.lang.String)
jakarta.servlet.SessionCookieConfig Added methods: - public abstract
java.lang.String
jakarta.servlet.SessionCookieConfig.getAttribute(java.lang.String) -

public

abstract java.util.Map

jakarta.servlet.SessionCookieConfig.getAttributes()

- public abstract void


jakarta.servlet.SessionCookieConfig.setAttribute(java.lang.String,java.lang.String)

jakarta.servlet.UnavailableException Deleted methods: - public
jakarta.servlet.Servlet jakarta.servlet.UnavailableException.getServlet()
jakarta.servlet.descriptor.JspPropertyGroupDescriptor Added methods: -
public abstract java.lang.String


jakarta.servlet.descriptor.JspPropertyGroupDescriptor.getErrorOnELNotFound()

jakarta.servlet.http.Cookie Added methods: - public boolean
jakarta.servlet.http.Cookie.equals(java.lang.Object) - public int
jakarta.servlet.http.Cookie.hashCode() - public java.lang.String
jakarta.servlet.http.Cookie.getAttribute(java.lang.String) - public
java.lang.String jakarta.servlet.http.Cookie.toString() - public
java.util.Map jakarta.servlet.http.Cookie.getAttributes() - public void


jakarta.servlet.http.Cookie.setAttribute(java.lang.String,java.lang.String)

jakarta.servlet.http.HttpServlet Added fields: - public static final
java.lang.String jakarta.servlet.http.HttpServlet.LEGACY_DO_HEAD Added
methods: - public void

(tomcat) branch 9.0.x updated: Remove override javadoc

2024-03-29 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/9.0.x by this push:
 new 1ad7d0e371 Remove override javadoc
1ad7d0e371 is described below

commit 1ad7d0e3711c001928fed65a7bc2ec90f8d4c810
Author: remm 
AuthorDate: Fri Mar 29 11:52:04 2024 +0100

Remove override javadoc

Remove very outdated boilerplate override javadoc from the
Servlet/Catalina API.
---
 .../apache/catalina/ha/session/DeltaSession.java   | 148 
 .../apache/catalina/session/StandardSession.java   | 259 -
 2 files changed, 407 deletions(-)

diff --git a/java/org/apache/catalina/ha/session/DeltaSession.java 
b/java/org/apache/catalina/ha/session/DeltaSession.java
index 7e6b7e7b6e..b8a355ceef 100644
--- a/java/org/apache/catalina/ha/session/DeltaSession.java
+++ b/java/org/apache/catalina/ha/session/DeltaSession.java
@@ -116,34 +116,16 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 
 // - ReplicatedMapEntry
 
-/**
- * Has the object changed since last replication and is not in a locked 
state
- *
- * @return boolean
- */
 @Override
 public boolean isDirty() {
 return deltaRequest.getSize() > 0;
 }
 
-/**
- * If this returns true, the map will extract the diff using getDiff() 
Otherwise it will serialize the entire
- * object.
- *
- * @return boolean
- */
 @Override
 public boolean isDiffable() {
 return true;
 }
 
-/**
- * Returns a diff and sets the dirty map to false
- *
- * @return a serialized view of the difference
- *
- * @throws IOException IO error serializing
- */
 @Override
 public byte[] getDiff() throws IOException {
 SynchronizedStack deltaRequestPool = null;
@@ -183,15 +165,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 return null;
 }
 
-/**
- * Applies a diff to an existing object.
- *
- * @param diff   Serialized diff data
- * @param offset Array offset
- * @param length Array length
- *
- * @throws IOException IO error deserializing
- */
 @Override
 public void applyDiff(byte[] diff, int offset, int length) throws 
IOException, ClassNotFoundException {
 Thread currentThread = Thread.currentThread();
@@ -267,11 +240,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 }
 
-/**
- * If this returns true, to replicate that an object has been accessed
- *
- * @return boolean
- */
 @Override
 public boolean isAccessReplicate() {
 long replDelta = System.currentTimeMillis() - getLastTimeReplicated();
@@ -281,9 +249,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 return false;
 }
 
-/**
- * Access to an existing object.
- */
 @Override
 public void accessEntry() {
 this.access();
@@ -293,19 +258,11 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 
 // - Session Properties
 
-/**
- * returns true if this session is the primary session, if that is the 
case, the manager can expire it upon timeout.
- */
 @Override
 public boolean isPrimarySession() {
 return isPrimarySession;
 }
 
-/**
- * Sets whether this is the primary session or not.
- *
- * @param primarySession Flag value
- */
 @Override
 public void setPrimarySession(boolean primarySession) {
 this.isPrimarySession = primarySession;
@@ -324,11 +281,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 
 
-/**
- * Set the session identifier for this session.
- *
- * @param id The new session identifier
- */
 @Override
 public void setId(String id) {
 setId(id, true);
@@ -353,11 +305,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 }
 
-/**
- * Set the isNew flag for this session.
- *
- * @param isNew The new value for the isNew flag
- */
 @Override
 public void setNew(boolean isNew) {
 setNew(isNew, true);
@@ -375,13 +322,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 }
 
-/**
- * Set the authenticated Principal that is associated with this Session. 
This provides an Authenticator
- * with a means to cache a previously authenticated Principal, and avoid 
potentially expensive
- * Realm.authenticate() calls on every request.
- *
- * @param principal The new Principal, or null if 

(tomcat) branch 10.1.x updated: Remove override javadoc

2024-03-29 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/10.1.x by this push:
 new f900353ea7 Remove override javadoc
f900353ea7 is described below

commit f900353ea79667ae17c933ee19d08ef04700881c
Author: remm 
AuthorDate: Fri Mar 29 11:52:04 2024 +0100

Remove override javadoc

Remove very outdated boilerplate override javadoc from the
Servlet/Catalina API.
---
 .../apache/catalina/ha/session/DeltaSession.java   | 148 --
 .../apache/catalina/session/StandardSession.java   | 214 -
 2 files changed, 362 deletions(-)

diff --git a/java/org/apache/catalina/ha/session/DeltaSession.java 
b/java/org/apache/catalina/ha/session/DeltaSession.java
index a20d4db0b8..6e18731831 100644
--- a/java/org/apache/catalina/ha/session/DeltaSession.java
+++ b/java/org/apache/catalina/ha/session/DeltaSession.java
@@ -116,34 +116,16 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 
 // - ReplicatedMapEntry
 
-/**
- * Has the object changed since last replication and is not in a locked 
state
- *
- * @return boolean
- */
 @Override
 public boolean isDirty() {
 return deltaRequest.getSize() > 0;
 }
 
-/**
- * If this returns true, the map will extract the diff using getDiff() 
Otherwise it will serialize the entire
- * object.
- *
- * @return boolean
- */
 @Override
 public boolean isDiffable() {
 return true;
 }
 
-/**
- * Returns a diff and sets the dirty map to false
- *
- * @return a serialized view of the difference
- *
- * @throws IOException IO error serializing
- */
 @Override
 public byte[] getDiff() throws IOException {
 SynchronizedStack deltaRequestPool = null;
@@ -183,15 +165,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 return null;
 }
 
-/**
- * Applies a diff to an existing object.
- *
- * @param diff   Serialized diff data
- * @param offset Array offset
- * @param length Array length
- *
- * @throws IOException IO error deserializing
- */
 @Override
 public void applyDiff(byte[] diff, int offset, int length) throws 
IOException, ClassNotFoundException {
 Thread currentThread = Thread.currentThread();
@@ -267,11 +240,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 }
 
-/**
- * If this returns true, to replicate that an object has been accessed
- *
- * @return boolean
- */
 @Override
 public boolean isAccessReplicate() {
 long replDelta = System.currentTimeMillis() - getLastTimeReplicated();
@@ -281,9 +249,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 return false;
 }
 
-/**
- * Access to an existing object.
- */
 @Override
 public void accessEntry() {
 this.access();
@@ -293,19 +258,11 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 
 // - Session Properties
 
-/**
- * returns true if this session is the primary session, if that is the 
case, the manager can expire it upon timeout.
- */
 @Override
 public boolean isPrimarySession() {
 return isPrimarySession;
 }
 
-/**
- * Sets whether this is the primary session or not.
- *
- * @param primarySession Flag value
- */
 @Override
 public void setPrimarySession(boolean primarySession) {
 this.isPrimarySession = primarySession;
@@ -324,11 +281,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 
 
-/**
- * Set the session identifier for this session.
- *
- * @param id The new session identifier
- */
 @Override
 public void setId(String id) {
 setId(id, true);
@@ -353,11 +305,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 }
 
-/**
- * Set the isNew flag for this session.
- *
- * @param isNew The new value for the isNew flag
- */
 @Override
 public void setNew(boolean isNew) {
 setNew(isNew, true);
@@ -375,13 +322,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 }
 
-/**
- * Set the authenticated Principal that is associated with this Session. 
This provides an Authenticator
- * with a means to cache a previously authenticated Principal, and avoid 
potentially expensive
- * Realm.authenticate() calls on every request.
- *
- * @param principal The new Principal, or null 

(tomcat) branch main updated: Remove override javadoc

2024-03-29 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
 new 2c3e8e19d7 Remove override javadoc
2c3e8e19d7 is described below

commit 2c3e8e19d7c67ca6e3e9c319d33c2d6e3f53cbab
Author: remm 
AuthorDate: Fri Mar 29 11:52:04 2024 +0100

Remove override javadoc

Remove very outdated boilerplate override javadoc from the
Servlet/Catalina API.
---
 .../apache/catalina/ha/session/DeltaSession.java   | 148 --
 .../apache/catalina/session/StandardSession.java   | 214 -
 2 files changed, 362 deletions(-)

diff --git a/java/org/apache/catalina/ha/session/DeltaSession.java 
b/java/org/apache/catalina/ha/session/DeltaSession.java
index a20d4db0b8..6e18731831 100644
--- a/java/org/apache/catalina/ha/session/DeltaSession.java
+++ b/java/org/apache/catalina/ha/session/DeltaSession.java
@@ -116,34 +116,16 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 
 // - ReplicatedMapEntry
 
-/**
- * Has the object changed since last replication and is not in a locked 
state
- *
- * @return boolean
- */
 @Override
 public boolean isDirty() {
 return deltaRequest.getSize() > 0;
 }
 
-/**
- * If this returns true, the map will extract the diff using getDiff() 
Otherwise it will serialize the entire
- * object.
- *
- * @return boolean
- */
 @Override
 public boolean isDiffable() {
 return true;
 }
 
-/**
- * Returns a diff and sets the dirty map to false
- *
- * @return a serialized view of the difference
- *
- * @throws IOException IO error serializing
- */
 @Override
 public byte[] getDiff() throws IOException {
 SynchronizedStack deltaRequestPool = null;
@@ -183,15 +165,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 return null;
 }
 
-/**
- * Applies a diff to an existing object.
- *
- * @param diff   Serialized diff data
- * @param offset Array offset
- * @param length Array length
- *
- * @throws IOException IO error deserializing
- */
 @Override
 public void applyDiff(byte[] diff, int offset, int length) throws 
IOException, ClassNotFoundException {
 Thread currentThread = Thread.currentThread();
@@ -267,11 +240,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 }
 
-/**
- * If this returns true, to replicate that an object has been accessed
- *
- * @return boolean
- */
 @Override
 public boolean isAccessReplicate() {
 long replDelta = System.currentTimeMillis() - getLastTimeReplicated();
@@ -281,9 +249,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 return false;
 }
 
-/**
- * Access to an existing object.
- */
 @Override
 public void accessEntry() {
 this.access();
@@ -293,19 +258,11 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 
 // - Session Properties
 
-/**
- * returns true if this session is the primary session, if that is the 
case, the manager can expire it upon timeout.
- */
 @Override
 public boolean isPrimarySession() {
 return isPrimarySession;
 }
 
-/**
- * Sets whether this is the primary session or not.
- *
- * @param primarySession Flag value
- */
 @Override
 public void setPrimarySession(boolean primarySession) {
 this.isPrimarySession = primarySession;
@@ -324,11 +281,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 
 
-/**
- * Set the session identifier for this session.
- *
- * @param id The new session identifier
- */
 @Override
 public void setId(String id) {
 setId(id, true);
@@ -353,11 +305,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 }
 
-/**
- * Set the isNew flag for this session.
- *
- * @param isNew The new value for the isNew flag
- */
 @Override
 public void setNew(boolean isNew) {
 setNew(isNew, true);
@@ -375,13 +322,6 @@ public class DeltaSession extends StandardSession 
implements Externalizable, Clu
 }
 }
 
-/**
- * Set the authenticated Principal that is associated with this Session. 
This provides an Authenticator
- * with a means to cache a previously authenticated Principal, and avoid 
potentially expensive
- * Realm.authenticate() calls on every request.
- *
- * @param principal The new Principal, or null if 

(tomcat) branch 9.0.x updated: Remove override javadoc

2024-03-29 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/9.0.x by this push:
 new 9b9e1ad66e Remove override javadoc
9b9e1ad66e is described below

commit 9b9e1ad66e5dc6f558bcfbd452f5b85815668f8c
Author: remm 
AuthorDate: Fri Mar 29 11:26:25 2024 +0100

Remove override javadoc

Remove very outdated boilerplate override javadoc from the Servlet API.
---
 .../org/apache/catalina/core/ApplicationContext.java | 10 --
 .../apache/catalina/core/ApplicationDispatcher.java  | 20 
 .../apache/catalina/core/ApplicationFilterChain.java | 10 --
 .../catalina/core/ApplicationFilterConfig.java   | 18 --
 java/org/apache/catalina/core/StandardWrapper.java   | 15 ---
 5 files changed, 73 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationContext.java 
b/java/org/apache/catalina/core/ApplicationContext.java
index 7561bb7172..3f38defb05 100644
--- a/java/org/apache/catalina/core/ApplicationContext.java
+++ b/java/org/apache/catalina/core/ApplicationContext.java
@@ -331,11 +331,6 @@ public class ApplicationContext implements ServletContext {
 }
 
 
-/**
- * Return the MIME type of the specified file, or null if the 
MIME type cannot be determined.
- *
- * @param file Filename for which to identify a MIME type
- */
 @Override
 public String getMimeType(String file) {
 
@@ -355,11 +350,6 @@ public class ApplicationContext implements ServletContext {
 }
 
 
-/**
- * Return a RequestDispatcher object that acts as a wrapper 
for the named servlet.
- *
- * @param name Name of the servlet for which a dispatcher is requested
- */
 @Override
 public RequestDispatcher getNamedDispatcher(String name) {
 
diff --git a/java/org/apache/catalina/core/ApplicationDispatcher.java 
b/java/org/apache/catalina/core/ApplicationDispatcher.java
index d50bf7c66f..bd7f3de397 100644
--- a/java/org/apache/catalina/core/ApplicationDispatcher.java
+++ b/java/org/apache/catalina/core/ApplicationDispatcher.java
@@ -267,16 +267,6 @@ final class ApplicationDispatcher implements 
AsyncDispatcher, RequestDispatcher
 // - Public Methods
 
 
-/**
- * Forward this request and response to another resource for processing. 
Any runtime exception, IOException, or
- * ServletException thrown by the called servlet will be propagated to the 
caller.
- *
- * @param request  The servlet request to be forwarded
- * @param response The servlet response to be forwarded
- *
- * @exception IOException  if an input/output error occurs
- * @exception ServletException if a servlet exception occurs
- */
 @Override
 public void forward(ServletRequest request, ServletResponse response) 
throws ServletException, IOException {
 if (Globals.IS_SECURITY_ENABLED) {
@@ -452,16 +442,6 @@ final class ApplicationDispatcher implements 
AsyncDispatcher, RequestDispatcher
 }
 
 
-/**
- * Include the response from another resource in the current response. Any 
runtime exception, IOException, or
- * ServletException thrown by the called servlet will be propagated to the 
caller.
- *
- * @param request  The servlet request that is including this one
- * @param response The servlet response to be appended to
- *
- * @exception IOException  if an input/output error occurs
- * @exception ServletException if a servlet exception occurs
- */
 @Override
 public void include(ServletRequest request, ServletResponse response) 
throws ServletException, IOException {
 if (Globals.IS_SECURITY_ENABLED) {
diff --git a/java/org/apache/catalina/core/ApplicationFilterChain.java 
b/java/org/apache/catalina/core/ApplicationFilterChain.java
index e6a45a05dc..50f7c3ee98 100644
--- a/java/org/apache/catalina/core/ApplicationFilterChain.java
+++ b/java/org/apache/catalina/core/ApplicationFilterChain.java
@@ -117,16 +117,6 @@ public final class ApplicationFilterChain implements 
FilterChain {
 
 //  FilterChain Methods
 
-/**
- * Invoke the next filter in this chain, passing the specified request and 
response. If there are no more filters in
- * this chain, invoke the service() method of the servlet 
itself.
- *
- * @param request  The servlet request we are processing
- * @param response The servlet response we are creating
- *
- * @exception IOException  if an input/output error occurs
- * @exception ServletException if a servlet exception occurs
- */
 @Override
 public void doFilter(ServletRequest request, ServletResponse response) 
throws IOException, ServletException {
 
diff --git 

(tomcat) branch 10.1.x updated: Remove override javadoc

2024-03-29 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/10.1.x by this push:
 new bafc402415 Remove override javadoc
bafc402415 is described below

commit bafc40241579a7349ecec721fac219dc0e71d7da
Author: remm 
AuthorDate: Fri Mar 29 11:26:25 2024 +0100

Remove override javadoc

Remove very outdated boilerplate override javadoc from the Servlet API.
---
 .../org/apache/catalina/core/ApplicationContext.java | 10 --
 .../apache/catalina/core/ApplicationDispatcher.java  | 20 
 .../apache/catalina/core/ApplicationFilterChain.java | 10 --
 .../catalina/core/ApplicationFilterConfig.java   | 18 --
 java/org/apache/catalina/core/StandardWrapper.java   | 15 ---
 5 files changed, 73 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationContext.java 
b/java/org/apache/catalina/core/ApplicationContext.java
index bd8dceb6d3..522d56417a 100644
--- a/java/org/apache/catalina/core/ApplicationContext.java
+++ b/java/org/apache/catalina/core/ApplicationContext.java
@@ -303,11 +303,6 @@ public class ApplicationContext implements ServletContext {
 }
 
 
-/**
- * Return the MIME type of the specified file, or null if the 
MIME type cannot be determined.
- *
- * @param file Filename for which to identify a MIME type
- */
 @Override
 public String getMimeType(String file) {
 
@@ -327,11 +322,6 @@ public class ApplicationContext implements ServletContext {
 }
 
 
-/**
- * Return a RequestDispatcher object that acts as a wrapper 
for the named servlet.
- *
- * @param name Name of the servlet for which a dispatcher is requested
- */
 @Override
 public RequestDispatcher getNamedDispatcher(String name) {
 
diff --git a/java/org/apache/catalina/core/ApplicationDispatcher.java 
b/java/org/apache/catalina/core/ApplicationDispatcher.java
index abb7b2fe4d..e2f1ad3a02 100644
--- a/java/org/apache/catalina/core/ApplicationDispatcher.java
+++ b/java/org/apache/catalina/core/ApplicationDispatcher.java
@@ -250,16 +250,6 @@ final class ApplicationDispatcher implements 
AsyncDispatcher, RequestDispatcher
 // - Public Methods
 
 
-/**
- * Forward this request and response to another resource for processing. 
Any runtime exception, IOException, or
- * ServletException thrown by the called servlet will be propagated to the 
caller.
- *
- * @param request  The servlet request to be forwarded
- * @param response The servlet response to be forwarded
- *
- * @exception IOException  if an input/output error occurs
- * @exception ServletException if a servlet exception occurs
- */
 @Override
 public void forward(ServletRequest request, ServletResponse response) 
throws ServletException, IOException {
 if (Globals.IS_SECURITY_ENABLED) {
@@ -446,16 +436,6 @@ final class ApplicationDispatcher implements 
AsyncDispatcher, RequestDispatcher
 }
 
 
-/**
- * Include the response from another resource in the current response. Any 
runtime exception, IOException, or
- * ServletException thrown by the called servlet will be propagated to the 
caller.
- *
- * @param request  The servlet request that is including this one
- * @param response The servlet response to be appended to
- *
- * @exception IOException  if an input/output error occurs
- * @exception ServletException if a servlet exception occurs
- */
 @Override
 public void include(ServletRequest request, ServletResponse response) 
throws ServletException, IOException {
 if (Globals.IS_SECURITY_ENABLED) {
diff --git a/java/org/apache/catalina/core/ApplicationFilterChain.java 
b/java/org/apache/catalina/core/ApplicationFilterChain.java
index 321be19258..2dc3147781 100644
--- a/java/org/apache/catalina/core/ApplicationFilterChain.java
+++ b/java/org/apache/catalina/core/ApplicationFilterChain.java
@@ -113,16 +113,6 @@ public final class ApplicationFilterChain implements 
FilterChain {
 
 //  FilterChain Methods
 
-/**
- * Invoke the next filter in this chain, passing the specified request and 
response. If there are no more filters in
- * this chain, invoke the service() method of the servlet 
itself.
- *
- * @param request  The servlet request we are processing
- * @param response The servlet response we are creating
- *
- * @exception IOException  if an input/output error occurs
- * @exception ServletException if a servlet exception occurs
- */
 @Override
 public void doFilter(ServletRequest request, ServletResponse response) 
throws IOException, ServletException {
 
diff --git 

(tomcat) branch main updated: Remove override javadoc

2024-03-29 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
 new 156d01a719 Remove override javadoc
156d01a719 is described below

commit 156d01a719c13531917a9d21bf6cdd8ef8062a9a
Author: remm 
AuthorDate: Fri Mar 29 11:26:25 2024 +0100

Remove override javadoc

Remove very outdated boilerplate override javadoc from the Servlet API.
---
 .../org/apache/catalina/core/ApplicationContext.java | 10 --
 .../apache/catalina/core/ApplicationDispatcher.java  | 20 
 .../apache/catalina/core/ApplicationFilterChain.java | 10 --
 .../catalina/core/ApplicationFilterConfig.java   | 18 --
 java/org/apache/catalina/core/StandardWrapper.java   | 15 ---
 5 files changed, 73 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationContext.java 
b/java/org/apache/catalina/core/ApplicationContext.java
index b01ee91382..806ce3710d 100644
--- a/java/org/apache/catalina/core/ApplicationContext.java
+++ b/java/org/apache/catalina/core/ApplicationContext.java
@@ -303,11 +303,6 @@ public class ApplicationContext implements ServletContext {
 }
 
 
-/**
- * Return the MIME type of the specified file, or null if the 
MIME type cannot be determined.
- *
- * @param file Filename for which to identify a MIME type
- */
 @Override
 public String getMimeType(String file) {
 
@@ -327,11 +322,6 @@ public class ApplicationContext implements ServletContext {
 }
 
 
-/**
- * Return a RequestDispatcher object that acts as a wrapper 
for the named servlet.
- *
- * @param name Name of the servlet for which a dispatcher is requested
- */
 @Override
 public RequestDispatcher getNamedDispatcher(String name) {
 
diff --git a/java/org/apache/catalina/core/ApplicationDispatcher.java 
b/java/org/apache/catalina/core/ApplicationDispatcher.java
index 08e43c84a2..245a1a85ea 100644
--- a/java/org/apache/catalina/core/ApplicationDispatcher.java
+++ b/java/org/apache/catalina/core/ApplicationDispatcher.java
@@ -198,16 +198,6 @@ final class ApplicationDispatcher implements 
AsyncDispatcher, RequestDispatcher
 // - Public Methods
 
 
-/**
- * Forward this request and response to another resource for processing. 
Any runtime exception, IOException, or
- * ServletException thrown by the called servlet will be propagated to the 
caller.
- *
- * @param request  The servlet request to be forwarded
- * @param response The servlet response to be forwarded
- *
- * @exception IOException  if an input/output error occurs
- * @exception ServletException if a servlet exception occurs
- */
 @Override
 public void forward(ServletRequest request, ServletResponse response) 
throws ServletException, IOException {
 // Reset any output that has been buffered, but keep headers/cookies
@@ -390,16 +380,6 @@ final class ApplicationDispatcher implements 
AsyncDispatcher, RequestDispatcher
 }
 
 
-/**
- * Include the response from another resource in the current response. Any 
runtime exception, IOException, or
- * ServletException thrown by the called servlet will be propagated to the 
caller.
- *
- * @param request  The servlet request that is including this one
- * @param response The servlet response to be appended to
- *
- * @exception IOException  if an input/output error occurs
- * @exception ServletException if a servlet exception occurs
- */
 @Override
 public void include(ServletRequest request, ServletResponse response) 
throws ServletException, IOException {
 // Set up to handle the specified request and response
diff --git a/java/org/apache/catalina/core/ApplicationFilterChain.java 
b/java/org/apache/catalina/core/ApplicationFilterChain.java
index fd7a892d1a..9d4a3a3437 100644
--- a/java/org/apache/catalina/core/ApplicationFilterChain.java
+++ b/java/org/apache/catalina/core/ApplicationFilterChain.java
@@ -95,16 +95,6 @@ public final class ApplicationFilterChain implements 
FilterChain {
 
 //  FilterChain Methods
 
-/**
- * Invoke the next filter in this chain, passing the specified request and 
response. If there are no more filters in
- * this chain, invoke the service() method of the servlet 
itself.
- *
- * @param request  The servlet request we are processing
- * @param response The servlet response we are creating
- *
- * @exception IOException  if an input/output error occurs
- * @exception ServletException if a servlet exception occurs
- */
 @Override
 public void doFilter(ServletRequest request, ServletResponse response) 
throws IOException, 

(tomcat) branch 9.0.x updated: Remove override javadoc

2024-03-29 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/9.0.x by this push:
 new bd2e5cec01 Remove override javadoc
bd2e5cec01 is described below

commit bd2e5cec0115a6dc526d1646974eb394a22326c6
Author: remm 
AuthorDate: Fri Mar 29 11:05:39 2024 +0100

Remove override javadoc

Remove very outdated boilerplate override javadoc from the Servlet API.
---
 java/org/apache/catalina/connector/Request.java  | 209 ---
 java/org/apache/catalina/connector/Response.java | 161 -
 2 files changed, 370 deletions(-)

diff --git a/java/org/apache/catalina/connector/Request.java 
b/java/org/apache/catalina/connector/Request.java
index e429bd00cf..13761b976e 100644
--- a/java/org/apache/catalina/connector/Request.java
+++ b/java/org/apache/catalina/connector/Request.java
@@ -859,11 +859,6 @@ public class Request implements HttpServletRequest {
 
 // - ServletRequest Methods
 
-/**
- * @return the specified request attribute if it exists; otherwise, return 
null.
- *
- * @param name Name of the request attribute to return
- */
 @Override
 public Object getAttribute(String name) {
 // Special attributes
@@ -967,9 +962,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the character encoding for this Request.
- */
 @Override
 public String getCharacterEncoding() {
 String characterEncoding = coyoteRequest.getCharacterEncoding();
@@ -1013,18 +1005,12 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the content length for this Request.
- */
 @Override
 public int getContentLength() {
 return coyoteRequest.getContentLength();
 }
 
 
-/**
- * @return the content type for this Request.
- */
 @Override
 public String getContentType() {
 return coyoteRequest.getContentType();
@@ -1041,13 +1027,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the servlet input stream for this Request. The default 
implementation returns a servlet input stream
- * created by createInputStream().
- *
- * @exception IllegalStateException if getReader() has 
already been called for this request
- * @exception IOException   if an input/output error occurs
- */
 @Override
 public ServletInputStream getInputStream() throws IOException {
 
@@ -1064,11 +1043,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the preferred Locale that the client will accept content in, 
based on the value for the first
- * Accept-Language header that was encountered. 
If the request did not specify a preferred
- * language, the server's default Locale is returned.
- */
 @Override
 public Locale getLocale() {
 
@@ -1084,11 +1058,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the set of preferred Locales that the client will accept 
content in, based on the values for any
- * Accept-Language headers that were encountered. 
If the request did not specify a
- * preferred language, the server's default Locale is returned.
- */
 @Override
 public Enumeration getLocales() {
 
@@ -1183,24 +1152,12 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the protocol and version used to make this Request.
- */
 @Override
 public String getProtocol() {
 return coyoteRequest.protocol().toStringType();
 }
 
 
-/**
- * Read the Reader wrapping the input stream for this Request. The default 
implementation wraps a
- * BufferedReader around the servlet input stream returned by 
createInputStream().
- *
- * @return a buffered reader for the request
- *
- * @exception IllegalStateException if getInputStream() has 
already been called for this request
- * @exception IOException   if an input/output error occurs
- */
 @Override
 public BufferedReader getReader() throws IOException {
 
@@ -1236,13 +1193,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the real path of the specified virtual path.
- *
- * @param path Path to be translated
- *
- * @deprecated As of version 2.1 of the Java Servlet API, use 
ServletContext.getRealPath().
- */
 @Override
 @Deprecated
 public String getRealPath(String path) {
@@ -1264,9 +1214,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the remote IP address making this Request.
- */
 @Override
 public String 

(tomcat) branch 10.1.x updated: Remove override javadoc

2024-03-29 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/10.1.x by this push:
 new 639ee683b5 Remove override javadoc
639ee683b5 is described below

commit 639ee683b57acfc95b7547e871b3b176edc4f3ca
Author: remm 
AuthorDate: Fri Mar 29 11:05:39 2024 +0100

Remove override javadoc

Remove very outdated boilerplate override javadoc from the Servlet API.
---
 java/org/apache/catalina/connector/Request.java  | 197 ---
 java/org/apache/catalina/connector/Response.java | 152 -
 2 files changed, 349 deletions(-)

diff --git a/java/org/apache/catalina/connector/Request.java 
b/java/org/apache/catalina/connector/Request.java
index a013f88bca..b5240f6602 100644
--- a/java/org/apache/catalina/connector/Request.java
+++ b/java/org/apache/catalina/connector/Request.java
@@ -830,11 +830,6 @@ public class Request implements HttpServletRequest {
 
 // - ServletRequest Methods
 
-/**
- * @return the specified request attribute if it exists; otherwise, return 
null.
- *
- * @param name Name of the request attribute to return
- */
 @Override
 public Object getAttribute(String name) {
 // Special attributes
@@ -938,9 +933,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the character encoding for this Request.
- */
 @Override
 public String getCharacterEncoding() {
 String characterEncoding = coyoteRequest.getCharacterEncoding();
@@ -984,18 +976,12 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the content length for this Request.
- */
 @Override
 public int getContentLength() {
 return coyoteRequest.getContentLength();
 }
 
 
-/**
- * @return the content type for this Request.
- */
 @Override
 public String getContentType() {
 return coyoteRequest.getContentType();
@@ -1012,13 +998,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the servlet input stream for this Request. The default 
implementation returns a servlet input stream
- * created by createInputStream().
- *
- * @exception IllegalStateException if getReader() has 
already been called for this request
- * @exception IOException   if an input/output error occurs
- */
 @Override
 public ServletInputStream getInputStream() throws IOException {
 
@@ -1035,11 +1014,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the preferred Locale that the client will accept content in, 
based on the value for the first
- * Accept-Language header that was encountered. 
If the request did not specify a preferred
- * language, the server's default Locale is returned.
- */
 @Override
 public Locale getLocale() {
 
@@ -1055,11 +1029,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the set of preferred Locales that the client will accept 
content in, based on the values for any
- * Accept-Language headers that were encountered. 
If the request did not specify a
- * preferred language, the server's default Locale is returned.
- */
 @Override
 public Enumeration getLocales() {
 
@@ -1154,24 +1123,12 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the protocol and version used to make this Request.
- */
 @Override
 public String getProtocol() {
 return coyoteRequest.protocol().toStringType();
 }
 
 
-/**
- * Read the Reader wrapping the input stream for this Request. The default 
implementation wraps a
- * BufferedReader around the servlet input stream returned by 
createInputStream().
- *
- * @return a buffered reader for the request
- *
- * @exception IllegalStateException if getInputStream() has 
already been called for this request
- * @exception IOException   if an input/output error occurs
- */
 @Override
 public BufferedReader getReader() throws IOException {
 
@@ -1207,9 +1164,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the remote IP address making this Request.
- */
 @Override
 public String getRemoteAddr() {
 if (remoteAddr == null) {
@@ -1232,9 +1186,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the remote host name making this Request.
- */
 @Override
 public String getRemoteHost() {
 if (remoteHost == null) {
@@ -1248,9 +1199,6 @@ public class Request implements HttpServletRequest {
 return 

(tomcat) branch main updated: Remove override javadoc

2024-03-29 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
 new c327f7be9f Remove override javadoc
c327f7be9f is described below

commit c327f7be9fb77892c4da59d318288ce5bc760a2c
Author: remm 
AuthorDate: Fri Mar 29 11:05:39 2024 +0100

Remove override javadoc

Remove very outdated boilerplate override javadoc from the Servlet API.
---
 java/org/apache/catalina/connector/Request.java  | 197 ---
 java/org/apache/catalina/connector/Response.java | 152 -
 2 files changed, 349 deletions(-)

diff --git a/java/org/apache/catalina/connector/Request.java 
b/java/org/apache/catalina/connector/Request.java
index d78887ce3a..f57888357f 100644
--- a/java/org/apache/catalina/connector/Request.java
+++ b/java/org/apache/catalina/connector/Request.java
@@ -831,11 +831,6 @@ public class Request implements HttpServletRequest {
 
 // - ServletRequest Methods
 
-/**
- * @return the specified request attribute if it exists; otherwise, return 
null.
- *
- * @param name Name of the request attribute to return
- */
 @SuppressWarnings("deprecation")
 @Override
 public Object getAttribute(String name) {
@@ -941,9 +936,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the character encoding for this Request.
- */
 @Override
 public String getCharacterEncoding() {
 String characterEncoding = coyoteRequest.getCharsetHolder().getName();
@@ -977,18 +969,12 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the content length for this Request.
- */
 @Override
 public int getContentLength() {
 return coyoteRequest.getContentLength();
 }
 
 
-/**
- * @return the content type for this Request.
- */
 @Override
 public String getContentType() {
 return coyoteRequest.getContentType();
@@ -1005,13 +991,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the servlet input stream for this Request. The default 
implementation returns a servlet input stream
- * created by createInputStream().
- *
- * @exception IllegalStateException if getReader() has 
already been called for this request
- * @exception IOException   if an input/output error occurs
- */
 @Override
 public ServletInputStream getInputStream() throws IOException {
 
@@ -1028,11 +1007,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the preferred Locale that the client will accept content in, 
based on the value for the first
- * Accept-Language header that was encountered. 
If the request did not specify a preferred
- * language, the server's default Locale is returned.
- */
 @Override
 public Locale getLocale() {
 
@@ -1048,11 +1022,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the set of preferred Locales that the client will accept 
content in, based on the values for any
- * Accept-Language headers that were encountered. 
If the request did not specify a
- * preferred language, the server's default Locale is returned.
- */
 @Override
 public Enumeration getLocales() {
 
@@ -,24 +1080,12 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the protocol and version used to make this Request.
- */
 @Override
 public String getProtocol() {
 return coyoteRequest.protocol().toStringType();
 }
 
 
-/**
- * Read the Reader wrapping the input stream for this Request. The default 
implementation wraps a
- * BufferedReader around the servlet input stream returned by 
createInputStream().
- *
- * @return a buffered reader for the request
- *
- * @exception IllegalStateException if getInputStream() has 
already been called for this request
- * @exception IOException   if an input/output error occurs
- */
 @Override
 public BufferedReader getReader() throws IOException {
 
@@ -1164,9 +1121,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the remote IP address making this Request.
- */
 @Override
 public String getRemoteAddr() {
 if (remoteAddr == null) {
@@ -1189,9 +1143,6 @@ public class Request implements HttpServletRequest {
 }
 
 
-/**
- * @return the remote host name making this Request.
- */
 @Override
 public String getRemoteHost() {
 if (remoteHost == null) {
@@ -1205,9 +1156,6 @@ public class Request implements HttpServletRequest {
 

Re: Stop releasing Tomcat 9 or adding back Tomcat 10.0?

2024-03-29 Thread Romain Manni-Bucau
Side note: what I meant about ASF is that there was a help habit between
communities. I know it got "broken" (=it is no more a general real thing)
some years ago to isolate all projects (give them a total independency) but
I'm clearly not a fan of that, in particular when it deserves the project
but I totally respect your choice, didnt mean anything stronger than a hope.

On the method addition/ TCK: no issue since signature of the api stays the
same.
Can break tomcat facade object design - but not a big deal for me - but
clearly not tck compat.

Le jeu. 28 mars 2024 à 23:13, Christopher Schultz <
ch...@christopherschultz.net> a écrit :

> Romain,
>
> On 3/27/24 15:29, Romain Manni-Bucau wrote:
> > FYI here is the diff between servlet 5 and 6 API jars:
> >
> > New API: - jakarta.servlet.ServletConnection Deleted API: -
> > jakarta.servlet.SingleThreadModel -
> jakarta.servlet.http.HttpSessionContext
> > - jakarta.servlet.http.HttpUtils Changed API:
> > jakarta.servlet.ServletContext Deleted methods: - public abstract
> > jakarta.servlet.Servlet
> > jakarta.servlet.ServletContext.getServlet(java.lang.String) throws
> > jakarta.servlet.ServletException - public abstract java.util.Enumeration
> > jakarta.servlet.ServletContext.getServletNames() - public abstract
> > java.util.Enumeration jakarta.servlet.ServletContext.getServlets() -
> public
> > abstract void
> > jakarta.servlet.ServletContext.log(java.lang.Exception,java.lang.String)
> > jakarta.servlet.ServletRequest Added methods: - public abstract
> > jakarta.servlet.ServletConnection
> > jakarta.servlet.ServletRequest.getServletConnection() - public abstract
> > java.lang.String jakarta.servlet.ServletRequest.getProtocolRequestId() -
> > public abstract java.lang.String
> > jakarta.servlet.ServletRequest.getRequestId() Deleted methods: - public
> > abstract java.lang.String
> > jakarta.servlet.ServletRequest.getRealPath(java.lang.String)
> > jakarta.servlet.ServletRequestWrapper Added methods: - public
> > jakarta.servlet.ServletConnection
> > jakarta.servlet.ServletRequestWrapper.getServletConnection() - public
> > java.lang.String
> > jakarta.servlet.ServletRequestWrapper.getProtocolRequestId() - public
> > java.lang.String jakarta.servlet.ServletRequestWrapper.getRequestId()
> > Deleted methods: - public java.lang.String
> > jakarta.servlet.ServletRequestWrapper.getRealPath(java.lang.String)
> > jakarta.servlet.SessionCookieConfig Added methods: - public abstract
> > java.lang.String
> > jakarta.servlet.SessionCookieConfig.getAttribute(java.lang.String) -
> public
> > abstract java.util.Map
> jakarta.servlet.SessionCookieConfig.getAttributes()
> > - public abstract void
> >
> jakarta.servlet.SessionCookieConfig.setAttribute(java.lang.String,java.lang.String)
> > jakarta.servlet.UnavailableException Deleted methods: - public
> > jakarta.servlet.Servlet jakarta.servlet.UnavailableException.getServlet()
> > jakarta.servlet.descriptor.JspPropertyGroupDescriptor Added methods: -
> > public abstract java.lang.String
> >
> jakarta.servlet.descriptor.JspPropertyGroupDescriptor.getErrorOnELNotFound()
> > jakarta.servlet.http.Cookie Added methods: - public boolean
> > jakarta.servlet.http.Cookie.equals(java.lang.Object) - public int
> > jakarta.servlet.http.Cookie.hashCode() - public java.lang.String
> > jakarta.servlet.http.Cookie.getAttribute(java.lang.String) - public
> > java.lang.String jakarta.servlet.http.Cookie.toString() - public
> > java.util.Map jakarta.servlet.http.Cookie.getAttributes() - public void
> >
> jakarta.servlet.http.Cookie.setAttribute(java.lang.String,java.lang.String)
> > jakarta.servlet.http.HttpServlet Added fields: - public static final
> > java.lang.String jakarta.servlet.http.HttpServlet.LEGACY_DO_HEAD Added
> > methods: - public void
> > jakarta.servlet.http.HttpServlet.init(jakarta.servlet.ServletConfig)
> throws
> > jakarta.servlet.ServletException jakarta.servlet.http.HttpServletRequest
> > Deleted methods: - public abstract boolean
> > jakarta.servlet.http.HttpServletRequest.isRequestedSessionIdFromUrl()
> > jakarta.servlet.http.HttpServletRequestWrapper Deleted methods: - public
> > boolean
> >
> jakarta.servlet.http.HttpServletRequestWrapper.isRequestedSessionIdFromUrl()
> > jakarta.servlet.http.HttpServletResponse Deleted methods: - public
> abstract
> > java.lang.String
> >
> jakarta.servlet.http.HttpServletResponse.encodeRedirectUrl(java.lang.String)
> > - public abstract java.lang.String
> > jakarta.servlet.http.HttpServletResponse.encodeUrl(java.lang.String) -
> > public abstract void
> > jakarta.servlet.http.HttpServletResponse.setStatus(int,java.lang.String)
> > jakarta.servlet.http.HttpServletResponseWrapper Deleted methods: - public
> > java.lang.String
> >
> jakarta.servlet.http.HttpServletResponseWrapper.encodeRedirectUrl(java.lang.String)
> > - public java.lang.String
> >
> jakarta.servlet.http.HttpServletResponseWrapper.encodeUrl(java.lang.String)
> > - public void
> >
>