Re: Jakarta EE 11 may be changing minimum Java version to 17

2024-02-20 Thread Paul Nicolucci
Hi,

At a minimum could the Expression Language be built to Java 17 bytecode?
There is nothing in the Expression Language that requires Java 21.

I have a branch with some initial changes to get that working here:
https://github.com/pnicolucci/tomcat/commit/cae7f1e02eaeaf16a75395d9bcdddc9a02e65580

Some additional manifest updates will be required that I can work on if the
community is open to this option.

Thanks,

Paul Nicolucci

On Tue, Feb 20, 2024 at 4:48 PM David Blevins 
wrote:

> > On Feb 20, 2024, at 8:08 AM, Mark Thomas  wrote:
> >
> > Looking at the latest version of the Jakarta EE 11 release plan, the
> minimum Java version has been dropped to Java 17.
> >
> > https://jakartaee.github.io/platform/jakartaee11/JakartaEE11ReleasePlan
> >
> > On that basis I think we have no choice but to reduce the minimum Java
> version for Tomcat 11 to Java 17.
>
> Implementations are not required to support Java 17, it is simply now one
> of the allowed options.  We can absolutely continue with java 21 (or any
> JDK 17 or up) if we like.
>
> The decision was made to allow implementations to certify with 17 support
> if they wanted as none of the specs took advantage of Java 21 features, so
> there is no real basis to reject their certification requests.  It is still
> hoped there will be implementations that take advantage of Java 21 features
> and brag publicly about them.
>
>
> -David
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>


Re: [PR] Bump org.apache.commons:commons-compress from 1.25.0 to 1.26.0 [tomcat-jakartaee-migration]

2024-02-20 Thread via GitHub


codecov-commenter commented on PR #53:
URL: 
https://github.com/apache/tomcat-jakartaee-migration/pull/53#issuecomment-1955490302

   ## 
[Codecov](https://app.codecov.io/gh/apache/tomcat-jakartaee-migration/pull/53?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   All modified and coverable lines are covered by tests :white_check_mark:
   > Comparison is base 
[(`a3b920c`)](https://app.codecov.io/gh/apache/tomcat-jakartaee-migration/commit/a3b920c20fc0dfabffdb7149eaac3dc0753b42a3?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 71.02% compared to head 
[(`e73fab6`)](https://app.codecov.io/gh/apache/tomcat-jakartaee-migration/pull/53?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 71.02%.
   
   
   Additional details and impacted files
   
   
   ```diff
   @@Coverage Diff@@
   ##   main  #53   +/-   ##
   =
 Coverage 71.02%   71.02%   
 Complexity  132  132   
   =
 Files14   14   
 Lines   642  642   
 Branches111  111   
   =
 Hits456  456   
 Misses  139  139   
 Partials 47   47   
   ```
   
   
   
   
   
   [:umbrella: View full report in Codecov by 
Sentry](https://app.codecov.io/gh/apache/tomcat-jakartaee-migration/pull/53?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   
   :loudspeaker: Have feedback on the report? [Share it 
here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



(tomcat-jakartaee-migration) branch dependabot/maven/org.apache.commons-commons-compress-1.26.0 created (now e73fab6)

2024-02-20 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/maven/org.apache.commons-commons-compress-1.26.0
in repository https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git


  at e73fab6  Bump org.apache.commons:commons-compress from 1.25.0 to 1.26.0

No new revisions were added by this update.


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



[PR] Bump org.apache.commons:commons-compress from 1.25.0 to 1.26.0 [tomcat-jakartaee-migration]

2024-02-20 Thread via GitHub


dependabot[bot] opened a new pull request, #53:
URL: https://github.com/apache/tomcat-jakartaee-migration/pull/53

   Bumps org.apache.commons:commons-compress from 1.25.0 to 1.26.0.
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.apache.commons:commons-compress=maven=1.25.0=1.26.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
   
   Dependabot will resolve any conflicts with this PR as long as you don't 
alter it yourself. You can also trigger a rebase manually by commenting 
`@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   
   Dependabot commands and options
   
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that 
have been made to it
   - `@dependabot merge` will merge this PR after your CI passes on it
   - `@dependabot squash and merge` will squash and merge this PR after your CI 
passes on it
   - `@dependabot cancel merge` will cancel a previously requested merge and 
block automerging
   - `@dependabot reopen` will reopen this PR if it is closed
   - `@dependabot close` will close this PR and stop Dependabot recreating it. 
You can achieve the same result by closing it manually
   - `@dependabot show  ignore conditions` will show all of 
the ignore conditions of the specified dependency
   - `@dependabot ignore this major version` will close this PR and stop 
Dependabot creating any more for this major version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this minor version` will close this PR and stop 
Dependabot creating any more for this minor version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this dependency` will close this PR and stop 
Dependabot creating any more for this dependency (unless you reopen the PR or 
upgrade to it yourself)
   You can disable automated security fix PRs for this repo from the [Security 
Alerts 
page](https://github.com/apache/tomcat-jakartaee-migration/network/alerts).
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: Jakarta EE 11 may be changing minimum Java version to 17

2024-02-20 Thread David Blevins
> On Feb 20, 2024, at 8:08 AM, Mark Thomas  wrote:
> 
> Looking at the latest version of the Jakarta EE 11 release plan, the minimum 
> Java version has been dropped to Java 17.
> 
> https://jakartaee.github.io/platform/jakartaee11/JakartaEE11ReleasePlan
> 
> On that basis I think we have no choice but to reduce the minimum Java 
> version for Tomcat 11 to Java 17.

Implementations are not required to support Java 17, it is simply now one of 
the allowed options.  We can absolutely continue with java 21 (or any JDK 17 or 
up) if we like.

The decision was made to allow implementations to certify with 17 support if 
they wanted as none of the specs took advantage of Java 21 features, so there 
is no real basis to reject their certification requests.  It is still hoped 
there will be implementations that take advantage of Java 21 features and brag 
publicly about them.


-David


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



(tomcat-tck) branch main updated: Update to latest dev build

2024-02-20 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


The following commit(s) were added to refs/heads/main by this push:
 new b55df72  Update to latest dev build
b55df72 is described below

commit b55df72bff57056fa4cfbb6e138a0082cec69d83
Author: Mark Thomas 
AuthorDate: Tue Feb 20 17:04:24 2024 +

Update to latest dev build
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 431a884..6336c6c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@
 21
 21
 
-11.0.0-M16
+11.0.0-M18-SNAPSHOT
 
 6.0.0-SNAPSHOT
 10.0.0-SNAPSHOT


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



(tomcat) branch 8.5.x updated: Refactor to make use of {@inheritDoc} better

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

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


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 2d065f07dc Refactor to make use of {@inheritDoc} better
2d065f07dc is described below

commit 2d065f07dc3bb139b1cfb50bc1ef03ad0ef3cbff
Author: Mark Thomas 
AuthorDate: Tue Feb 20 12:45:56 2024 +

Refactor to make use of {@inheritDoc} better
---
 java/javax/el/ELResolver.java | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/java/javax/el/ELResolver.java b/java/javax/el/ELResolver.java
index 59c568ec39..4061288061 100644
--- a/java/javax/el/ELResolver.java
+++ b/java/javax/el/ELResolver.java
@@ -45,7 +45,7 @@ public abstract class ELResolver {
 public abstract Object getValue(ELContext context, Object base, Object 
property);
 
 /**
- * Invokes a method on the the given object. This default implementation 
always returns null.
+ * Invokes a method on the the given object.
  *
  * @param contextThe EL context for this evaluation
  * @param base   The base object on which the method is to be found
@@ -53,7 +53,7 @@ public abstract class ELResolver {
  * @param paramTypes The types of the parameters of the method to invoke
  * @param params The parameters with which to invoke the method
  *
- * @return Always null
+ * @return This default implementation always returns null
  *
  * @since EL 2.2
  */
@@ -134,13 +134,13 @@ public abstract class ELResolver {
 public abstract Class getCommonPropertyType(ELContext context, Object 
base);
 
 /**
- * Converts the given object to the given type. This default 
implementation always returns null.
+ * Converts the given object to the given type.
  *
  * @param context The EL context for this evaluation
  * @param obj The object to convert
  * @param typeThe type to which the object should be converted
  *
- * @return Always null
+ * @return This default implementation always returns null
  *
  * @since EL 3.0
  */


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



(tomcat) branch 9.0.x updated: Refactor to make use of {@inheritDoc} better

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

markt 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 06aa789082 Refactor to make use of {@inheritDoc} better
06aa789082 is described below

commit 06aa789082e560f4cad14752069f412ceda0a9e4
Author: Mark Thomas 
AuthorDate: Tue Feb 20 12:45:56 2024 +

Refactor to make use of {@inheritDoc} better
---
 java/javax/el/ELResolver.java | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/java/javax/el/ELResolver.java b/java/javax/el/ELResolver.java
index 59c568ec39..4061288061 100644
--- a/java/javax/el/ELResolver.java
+++ b/java/javax/el/ELResolver.java
@@ -45,7 +45,7 @@ public abstract class ELResolver {
 public abstract Object getValue(ELContext context, Object base, Object 
property);
 
 /**
- * Invokes a method on the the given object. This default implementation 
always returns null.
+ * Invokes a method on the the given object.
  *
  * @param contextThe EL context for this evaluation
  * @param base   The base object on which the method is to be found
@@ -53,7 +53,7 @@ public abstract class ELResolver {
  * @param paramTypes The types of the parameters of the method to invoke
  * @param params The parameters with which to invoke the method
  *
- * @return Always null
+ * @return This default implementation always returns null
  *
  * @since EL 2.2
  */
@@ -134,13 +134,13 @@ public abstract class ELResolver {
 public abstract Class getCommonPropertyType(ELContext context, Object 
base);
 
 /**
- * Converts the given object to the given type. This default 
implementation always returns null.
+ * Converts the given object to the given type.
  *
  * @param context The EL context for this evaluation
  * @param obj The object to convert
  * @param typeThe type to which the object should be converted
  *
- * @return Always null
+ * @return This default implementation always returns null
  *
  * @since EL 3.0
  */


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



(tomcat) branch 10.1.x updated: Refactor to make use of {@inheritDoc} better

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

markt 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 ba0c608bea Refactor to make use of {@inheritDoc} better
ba0c608bea is described below

commit ba0c608bea9eea347cdb20ee31a5c2a96a8af844
Author: Mark Thomas 
AuthorDate: Tue Feb 20 12:45:56 2024 +

Refactor to make use of {@inheritDoc} better
---
 java/jakarta/el/ELResolver.java | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/java/jakarta/el/ELResolver.java b/java/jakarta/el/ELResolver.java
index cdc933bd4d..ee01d3134a 100644
--- a/java/jakarta/el/ELResolver.java
+++ b/java/jakarta/el/ELResolver.java
@@ -45,7 +45,7 @@ public abstract class ELResolver {
 public abstract Object getValue(ELContext context, Object base, Object 
property);
 
 /**
- * Invokes a method on the the given object. This default implementation 
always returns null.
+ * Invokes a method on the the given object.
  *
  * @param contextThe EL context for this evaluation
  * @param base   The base object on which the method is to be found
@@ -53,7 +53,7 @@ public abstract class ELResolver {
  * @param paramTypes The types of the parameters of the method to invoke
  * @param params The parameters with which to invoke the method
  *
- * @return Always null
+ * @return This default implementation always returns null
  *
  * @since EL 2.2
  */
@@ -141,14 +141,14 @@ public abstract class ELResolver {
 public abstract Class getCommonPropertyType(ELContext context, Object 
base);
 
 /**
- * Converts the given object to the given type. This default 
implementation always returns null.
+ * Converts the given object to the given type.
  *
  * @param  The type to which the object should be converted
  * @param context The EL context for this evaluation
  * @param obj The object to convert
  * @param typeThe type to which the object should be converted
  *
- * @return Always null
+ * @return This default implementation always returns null
  *
  * @since EL 3.0
  */


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



Re: Jakarta EE 11 may be changing minimum Java version to 17

2024-02-20 Thread Rémy Maucherat
On Tue, Feb 20, 2024 at 5:08 PM Mark Thomas  wrote:
>
> Looking at the latest version of the Jakarta EE 11 release plan, the
> minimum Java version has been dropped to Java 17.
>
> https://jakartaee.github.io/platform/jakartaee11/JakartaEE11ReleasePlan
>
> On that basis I think we have no choice but to reduce the minimum Java
> version for Tomcat 11 to Java 17.
>
> I have a branch with this change already in place. If there are no
> objections I'll merge those changes later this week.

+1 if you have already done it. (otherwise I could work on it)

Rémy

> Mark
>
>
> On 19/01/2024 16:45, Volodymyr Siedlecki wrote:
> > Hi,
> >
> > This is more compliance than function, unfortunately. Open Liberty
> > plans to pass the TCK under both 17 and 21 (although only one is
> > required).
> >
> > If the EL jar we use is Java 21 byte code, then we wouldn't be able to
> > run the Jakarta EE 11 features on 17.
> >
> > If Tomcat could compile EL against 17, that would be a huge help. If
> > not, we have workarounds.
> >
> > Volodymyr
> >
> >
> > On Fri, Jan 19, 2024 at 9:41 AM Mark Thomas  wrote:
> >
> >> On 19/01/2024 14:20, Volodymyr Siedlecki wrote:
> >>> Hi Mark,
> >>>
> >>> I understand your perspective about changing 21 to 17 so late.
> >>>
> >>> Open Liberty uses Tomcat's Expression Language and we would prefer to
> >>> use a Java 17 binary. However, there are workarounds for us.
> >>
> >> Ack.
> >>
> >> I'll note that the EL code will compile quite happily with Java 17 or
> >> Java 21.
> >>
> >> Can you expand on why you'd prefer Java 17? Ignoring how late in the
> >> process this change is being made, I've yet to hear a logically
> >> consistent argument for selecting Java 17 over Java 21.
> >>
> >>> As for the EL TCK issue, I'd be happy to take a look if you push up a
> >> branch.
> >>
> >> Thanks for the offer but I have already fixed the issue.
> >>
> >> Mark
> >>
> >>
> >>>
> >>> Thank you,
> >>>
> >>> Volodymyr
> >>>
> >>>
> >>> On Fri, Jan 19, 2024 at 6:38 AM Mark Thomas  wrote:
> >>>
>  On 16/01/2024 11:44, Rémy Maucherat wrote:
> > On Tue, Jan 16, 2024 at 11:59 AM Mark Thomas  wrote:
> >>
> >> Hi all,
> >>
> >> I'm not sure what is going on as there has been one significant change
> >> in the announcement already but it looks to me as if the minimum Java
> >> version for Jakarta EE 11 is changing to Java 17 rather than Java 21.
> >>
> >> https://www.eclipse.org/lists/jakartaee-platform-dev/msg04371.html
> >>
> >> It seems far too late in the day for this change to me but I'm not
> >> sure
> >> that view is going to carry much weight.
> >>
> >> I've taken a quick look at the Tomcat 11 code base and a JreCompat for
> >> Java 21 shouldn't be too much work. I'm not planning on doing anything
> >> on this until the intentions of the Jakarta EE platform team are
>  clearer.
> >
> > That's annoying ... The virtual threads are in the 21 compat. The
> > Panama for Java 22 and building releases with 22+ should not require
> > any additional changes.
> 
>  I'm going to be looking at switching Java 17 locally as I have an EL TCK
>  issue I need to investigate that only happens on Java 17. I can push
>  that branch to GitHub if there is interest. However, I am a long way
>  from being ready to support that change for 11.0.x.
> 
>  I ma trying to think about this in terms of what would be best for our
>  user community.
> 
>  Working to a minimum of Java 17 would make Tomcat 11 an option for those
>  using willing to move to Java 17 but unwilling to move to Java 21. What
>  I am not sure about is how big a proportion of our community that is. If
>  I had to guess, I'd say very small.
> 
>  Working to a minimum of Java 21 would mean users could be sure that
>  anything claiming Jakarta 11 compliance would work with Tomcat - whether
>  it required Java 17 or Java 21 as a minimum.
> 
>  Given the above, I'm leaning towards sticking with Java 21 as the
>  minimum unless there is user demand for Java 17. I'll note that we can
>  always reduce the minimum version at any point in the future - even
>  between stable point releases.
> 
>  Mark
> 
>  -
>  To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
>  For additional commands, e-mail: dev-h...@tomcat.apache.org
> 
> 
> >>>
> >>
> >> -
> >> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> >> For additional commands, e-mail: dev-h...@tomcat.apache.org
> >>
> >>
> >
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>


Re: Jakarta EE 11 may be changing minimum Java version to 17

2024-02-20 Thread Mark Thomas
Looking at the latest version of the Jakarta EE 11 release plan, the 
minimum Java version has been dropped to Java 17.


https://jakartaee.github.io/platform/jakartaee11/JakartaEE11ReleasePlan

On that basis I think we have no choice but to reduce the minimum Java 
version for Tomcat 11 to Java 17.


I have a branch with this change already in place. If there are no 
objections I'll merge those changes later this week.


Mark


On 19/01/2024 16:45, Volodymyr Siedlecki wrote:

Hi,

This is more compliance than function, unfortunately. Open Liberty
plans to pass the TCK under both 17 and 21 (although only one is
required).

If the EL jar we use is Java 21 byte code, then we wouldn't be able to
run the Jakarta EE 11 features on 17.

If Tomcat could compile EL against 17, that would be a huge help. If
not, we have workarounds.

Volodymyr


On Fri, Jan 19, 2024 at 9:41 AM Mark Thomas  wrote:


On 19/01/2024 14:20, Volodymyr Siedlecki wrote:

Hi Mark,

I understand your perspective about changing 21 to 17 so late.

Open Liberty uses Tomcat's Expression Language and we would prefer to
use a Java 17 binary. However, there are workarounds for us.


Ack.

I'll note that the EL code will compile quite happily with Java 17 or
Java 21.

Can you expand on why you'd prefer Java 17? Ignoring how late in the
process this change is being made, I've yet to hear a logically
consistent argument for selecting Java 17 over Java 21.


As for the EL TCK issue, I'd be happy to take a look if you push up a

branch.

Thanks for the offer but I have already fixed the issue.

Mark




Thank you,

Volodymyr


On Fri, Jan 19, 2024 at 6:38 AM Mark Thomas  wrote:


On 16/01/2024 11:44, Rémy Maucherat wrote:

On Tue, Jan 16, 2024 at 11:59 AM Mark Thomas  wrote:


Hi all,

I'm not sure what is going on as there has been one significant change
in the announcement already but it looks to me as if the minimum Java
version for Jakarta EE 11 is changing to Java 17 rather than Java 21.

https://www.eclipse.org/lists/jakartaee-platform-dev/msg04371.html

It seems far too late in the day for this change to me but I'm not

sure

that view is going to carry much weight.

I've taken a quick look at the Tomcat 11 code base and a JreCompat for
Java 21 shouldn't be too much work. I'm not planning on doing anything
on this until the intentions of the Jakarta EE platform team are

clearer.


That's annoying ... The virtual threads are in the 21 compat. The
Panama for Java 22 and building releases with 22+ should not require
any additional changes.


I'm going to be looking at switching Java 17 locally as I have an EL TCK
issue I need to investigate that only happens on Java 17. I can push
that branch to GitHub if there is interest. However, I am a long way
from being ready to support that change for 11.0.x.

I ma trying to think about this in terms of what would be best for our
user community.

Working to a minimum of Java 17 would make Tomcat 11 an option for those
using willing to move to Java 17 but unwilling to move to Java 21. What
I am not sure about is how big a proportion of our community that is. If
I had to guess, I'd say very small.

Working to a minimum of Java 21 would mean users could be sure that
anything claiming Jakarta 11 compliance would work with Tomcat - whether
it required Java 17 or Java 21 as a minimum.

Given the above, I'm leaning towards sticking with Java 21 as the
minimum unless there is user demand for Java 17. I'll note that we can
always reduce the minimum version at any point in the future - even
between stable point releases.

Mark

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






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






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



(tomcat) branch main updated (5c3695e8dc -> 9784bafa94)

2024-02-20 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.git


from 5c3695e8dc Remove useless import
 new 799eea5b1b Code clean-up. Formatting. No functional change.
 new 8916733c05 Refactor to make use of {@@inheritDoc} better
 new 9784bafa94 Add method invocation support to OptionalELREsolver

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:
 java/jakarta/el/ELResolver.java  |   8 +-
 java/jakarta/el/OptionalELResolver.java  | 135 +++
 java/jakarta/el/RecordELResolver.java|  18 ++-
 java/jakarta/el/Util.java|   4 +-
 test/jakarta/el/TestOptionalELResolver.java  |  76 -
 test/jakarta/el/TestOptionalELResolverInJsp.java |  18 +--
 test/jakarta/el/TesterBeanB.java |   4 +
 test/webapp/el-optional.jsp  |   8 ++
 webapps/docs/changelog.xml   |  11 ++
 9 files changed, 209 insertions(+), 73 deletions(-)


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



(tomcat) 01/03: Code clean-up. Formatting. No functional change.

2024-02-20 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.git

commit 799eea5b1ba1a2dcf5fb592a178a8cd768358bb8
Author: Mark Thomas 
AuthorDate: Tue Feb 20 12:45:18 2024 +

Code clean-up. Formatting. No functional change.
---
 java/jakarta/el/RecordELResolver.java | 18 +++---
 java/jakarta/el/Util.java |  4 ++--
 2 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/java/jakarta/el/RecordELResolver.java 
b/java/jakarta/el/RecordELResolver.java
index 6a5683924f..fcb70fe7e9 100644
--- a/java/jakarta/el/RecordELResolver.java
+++ b/java/jakarta/el/RecordELResolver.java
@@ -22,9 +22,9 @@ import java.util.Objects;
 /**
  * Defines property resolution behavior on instances of {@link Record}.
  * 
- * The resolver handles base objects of type {@link Record}. It accepts any 
non-{@code null} object as a property and coerces it to a
- * String using {@link Object#toString()}. The property string is used to find 
an accessor method for a field
- * with the same name.
+ * The resolver handles base objects of type {@link Record}. It accepts any 
non-{@code null} object as a property and
+ * coerces it to a String using {@link Object#toString()}. The property string 
is used to find an accessor method for a
+ * field with the same name.
  * 
  * This resolver is always read-only since {@link Record}s are always 
read-only.
  * 
@@ -67,8 +67,7 @@ public class RecordELResolver extends ELResolver {
 method = base.getClass().getMethod(propertyName);
 } catch (NoSuchMethodException nsme) {
 throw new PropertyNotFoundException(
-Util.message(context, "propertyNotFound", 
base.getClass().getName(), propertyName),
-nsme);
+Util.message(context, "propertyNotFound", 
base.getClass().getName(), propertyName), nsme);
 }
 
 try {
@@ -112,8 +111,7 @@ public class RecordELResolver extends ELResolver {
 base.getClass().getMethod(propertyName);
 } catch (NoSuchMethodException nsme) {
 throw new PropertyNotFoundException(
-Util.message(context, "propertyNotFound", 
base.getClass().getName(), propertyName),
-nsme);
+Util.message(context, "propertyNotFound", 
base.getClass().getName(), propertyName), nsme);
 }
 }
 return null;
@@ -150,8 +148,7 @@ public class RecordELResolver extends ELResolver {
 base.getClass().getMethod(propertyName);
 } catch (NoSuchMethodException nsme) {
 throw new PropertyNotFoundException(
-Util.message(context, "propertyNotFound", 
base.getClass().getName(), propertyName),
-nsme);
+Util.message(context, "propertyNotFound", 
base.getClass().getName(), propertyName), nsme);
 }
 
 throw new PropertyNotWritableException(
@@ -187,8 +184,7 @@ public class RecordELResolver extends ELResolver {
 base.getClass().getMethod(propertyName);
 } catch (NoSuchMethodException nsme) {
 throw new PropertyNotFoundException(
-Util.message(context, "propertyNotFound", 
base.getClass().getName(), propertyName),
-nsme);
+Util.message(context, "propertyNotFound", 
base.getClass().getName(), propertyName), nsme);
 }
 
 return true;
diff --git a/java/jakarta/el/Util.java b/java/jakarta/el/Util.java
index f44b662063..c168de6e5b 100644
--- a/java/jakarta/el/Util.java
+++ b/java/jakarta/el/Util.java
@@ -494,8 +494,8 @@ class Util {
  */
 private static boolean isCoercibleFrom(ELContext context, Object src, 
Class target) {
 /*
- *  TODO: This isn't pretty but it works. Significant refactoring 
would be required to avoid the exception. See
- *also OptionalELResolver.convertToType().
+ * TODO: This isn't pretty but it works. Significant refactoring would 
be required to avoid the exception. See
+ * also OptionalELResolver.convertToType().
  */
 try {
 context.convertToType(src, target);


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



(tomcat) 02/03: Refactor to make use of {@@inheritDoc} better

2024-02-20 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.git

commit 8916733c05f9896b328d28fe02aa4910a889766a
Author: Mark Thomas 
AuthorDate: Tue Feb 20 12:45:56 2024 +

Refactor to make use of {@@inheritDoc} better
---
 java/jakarta/el/ELResolver.java | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/java/jakarta/el/ELResolver.java b/java/jakarta/el/ELResolver.java
index c356fb379d..d8fb0a04b0 100644
--- a/java/jakarta/el/ELResolver.java
+++ b/java/jakarta/el/ELResolver.java
@@ -43,7 +43,7 @@ public abstract class ELResolver {
 public abstract Object getValue(ELContext context, Object base, Object 
property);
 
 /**
- * Invokes a method on the the given object. This default implementation 
always returns null.
+ * Invokes a method on the the given object.
  *
  * @param contextThe EL context for this evaluation
  * @param base   The base object on which the method is to be found
@@ -51,7 +51,7 @@ public abstract class ELResolver {
  * @param paramTypes The types of the parameters of the method to invoke
  * @param params The parameters with which to invoke the method
  *
- * @return Always null
+ * @return This default implementation always returns null
  *
  * @since EL 2.2
  */
@@ -122,14 +122,14 @@ public abstract class ELResolver {
 public abstract Class getCommonPropertyType(ELContext context, Object 
base);
 
 /**
- * Converts the given object to the given type. This default 
implementation always returns null.
+ * Converts the given object to the given type.
  *
  * @param  The type to which the object should be converted
  * @param context The EL context for this evaluation
  * @param obj The object to convert
  * @param typeThe type to which the object should be converted
  *
- * @return Always null
+ * @return This default implementation always returns null
  *
  * @since EL 3.0
  */


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



(tomcat) 03/03: Add method invocation support to OptionalELREsolver

2024-02-20 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.git

commit 9784bafa940938ebfca20a0cb914a64e3dc28a62
Author: Mark Thomas 
AuthorDate: Tue Feb 20 15:07:20 2024 +

Add method invocation support to OptionalELREsolver

Ensure consistent behaviour and ensure that the OptionalELResolver never
returns an Optional instance.
Ensure coerceToType coerces empty Optional instances based on a value of
null rather than just returning null.
Improve Javadoc
Add/update tests for new/changed behaviour
---
 java/jakarta/el/OptionalELResolver.java  | 135 +++
 test/jakarta/el/TestOptionalELResolver.java  |  76 -
 test/jakarta/el/TestOptionalELResolverInJsp.java |  18 +--
 test/jakarta/el/TesterBeanB.java |   4 +
 test/webapp/el-optional.jsp  |   8 ++
 webapps/docs/changelog.xml   |  11 ++
 6 files changed, 196 insertions(+), 56 deletions(-)

diff --git a/java/jakarta/el/OptionalELResolver.java 
b/java/jakarta/el/OptionalELResolver.java
index c16c8f781b..f8ff316305 100644
--- a/java/jakarta/el/OptionalELResolver.java
+++ b/java/jakarta/el/OptionalELResolver.java
@@ -20,32 +20,36 @@ import java.util.Objects;
 import java.util.Optional;
 
 /**
- * Defines property resolution behaviour on {@link Optional}s.
+ * Defines property resolution, method invocation and type conversion 
behaviour on {@link Optional}s.
  * 
  * This resolver handles base objects that are instances of {@link Optional}.
  * 
- * If the {@link Optional#isEmpty()} is {@code true} for the base object and 
the property is {@code null} then the
- * resulting value is {@code null}.
- * 
- * If the {@link Optional#isEmpty()} is {@code true} for the base object and 
the property is not {@code null} then the
- * resulting value is the base object (an empty {@link Optional}).
- * 
- * If the {@link Optional#isPresent()} is {@code true} for the base object and 
the property is {@code null} then the
- * resulting value is the result of calling {@link Optional#get()} on the base 
object.
- * 
- * If the {@link Optional#isPresent()} is {@code true} for the base object and 
the property is not {@code null} then the
- * resulting value is the result of calling {@link 
ELResolver#getValue(ELContext, Object, Object)} using the
- * {@link ELResolver} obtained from {@link ELContext#getELResolver()} with the 
following parameters:
- * 
- * The {@link ELContext} is the current context
- * The base object is the result of calling {@link Optional#get()} on the 
current base object
- * The property object is the current property object
- * 
- * 
- * This resolver is always a read-only resolver.
+ * This resolver is always a read-only resolver since {@link Optional} 
instances are immutable.
  */
 public class OptionalELResolver extends ELResolver {
 
+/**
+ * {@inheritDoc}
+ *
+ * @return If the base object is an {@link Optional} and {@link 
Optional#isEmpty()} returns {@code true} then the
+ * resulting value is {@code null}.
+ * 
+ * If the base object is an {@link Optional}, {@link 
Optional#isPresent()} returns {@code true} and the
+ * property is {@code null} then the resulting value is the 
result of calling {@link Optional#get()} on
+ * the base object.
+ * 
+ * If the base object is an {@link Optional}, {@link 
Optional#isPresent()} returns {@code true} and the
+ * property is not {@code null} then the resulting value is 
the result of calling
+ * {@link ELResolver#getValue(ELContext, Object, Object)} 
using the {@link ELResolver} obtained from
+ * {@link ELContext#getELResolver()} with the following 
parameters:
+ * 
+ * The {@link ELContext} is the current context
+ * The base object is the result of calling {@link 
Optional#get()} on the current base object
+ * The property object is the current property object
+ * 
+ * 
+ * If the base object is not an {@link Optional} then the 
return value is undefined.
+ */
 @Override
 public Object getValue(ELContext context, Object base, Object property) {
 Objects.requireNonNull(context);
@@ -55,8 +59,6 @@ public class OptionalELResolver extends ELResolver {
 if (((Optional) base).isEmpty()) {
 if (property == null) {
 return null;
-} else {
-return base;
 }
 } else {
 if (property == null) {
@@ -74,9 +76,11 @@ public class OptionalELResolver extends ELResolver {
 
 /**
  * {@inheritDoc}
- * 
- * If the base object is an {@link Optional} this 

Buildbot success in on tomcat-11.0.x

2024-02-20 Thread buildbot
Build status: Build succeeded!
Worker used: bb_worker2_ubuntu
URL: https://ci2.apache.org/#builders/112/builds/944
Blamelist: remm 
Build Text: build successful
Status Detected: restored build
Build Source Stamp: [branch main] eeb4e761abb1cbc2c0797dac558cd91fb3ef44ab


Steps:

  worker_preparation: 0

  git: 0

  shell: 0

  shell_1: 0

  shell_2: 0

  shell_3: 0

  shell_4: 0

  shell_5: 0

  shell_6: 0

  compile: 1

  shell_7: 0

  shell_8: 0

  shell_9: 0

  shell_10: 0

  Rsync docs to nightlies.apache.org: 0

  shell_11: 0

  Rsync RAT to nightlies.apache.org: 0

  compile_1: 1

  shell_12: 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



(tomcat) 02/02: Remove useless import

2024-02-20 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

commit 3a7deb32cb8fe13b07d3496733f64b3ec1c343fe
Author: remm 
AuthorDate: Tue Feb 20 14:25:05 2024 +0100

Remove useless import
---
 java/org/apache/catalina/mbeans/MBeanUtils.java | 1 -
 1 file changed, 1 deletion(-)

diff --git a/java/org/apache/catalina/mbeans/MBeanUtils.java 
b/java/org/apache/catalina/mbeans/MBeanUtils.java
index 5097dad0ef..7ebf332173 100644
--- a/java/org/apache/catalina/mbeans/MBeanUtils.java
+++ b/java/org/apache/catalina/mbeans/MBeanUtils.java
@@ -27,7 +27,6 @@ import javax.management.ObjectName;
 import org.apache.catalina.Container;
 import org.apache.catalina.Context;
 import org.apache.catalina.Group;
-import org.apache.catalina.Loader;
 import org.apache.catalina.Role;
 import org.apache.catalina.Server;
 import org.apache.catalina.User;


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



(tomcat) 01/02: Cleanup fixmes

2024-02-20 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

commit 00b54f45151a788ec095100629687e60c1dc2b8f
Author: remm 
AuthorDate: Tue Feb 20 14:08:58 2024 +0100

Cleanup fixmes
---
 .../apache/catalina/core/ApplicationContext.java   |  2 --
 .../catalina/core/ApplicationFilterFactory.java| 10 --
 .../apache/catalina/core/LocalStrings.properties   |  2 ++
 java/org/apache/catalina/core/StandardContext.java |  1 -
 java/org/apache/catalina/core/StandardWrapper.java |  2 --
 java/org/apache/catalina/mbeans/MBeanFactory.java  |  5 +
 java/org/apache/catalina/mbeans/MBeanUtils.java| 23 --
 .../apache/catalina/session/StandardSession.java   |  2 +-
 java/org/apache/catalina/startup/Bootstrap.java|  3 ---
 .../org/apache/catalina/startup/ContextConfig.java |  3 +--
 .../apache/catalina/valves/JsonAccessLogValve.java |  2 --
 java/org/apache/naming/NamingContext.java  |  1 -
 12 files changed, 13 insertions(+), 43 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationContext.java 
b/java/org/apache/catalina/core/ApplicationContext.java
index d3841d45b2..bd8dceb6d3 100644
--- a/java/org/apache/catalina/core/ApplicationContext.java
+++ b/java/org/apache/catalina/core/ApplicationContext.java
@@ -624,7 +624,6 @@ public class ApplicationContext implements ServletContext {
 } catch (Throwable t) {
 ExceptionUtils.handleThrowable(t);
 context.fireContainerEvent("afterContextAttributeRemoved", 
listener);
-// FIXME - should we do anything besides log these?
 log(sm.getString("applicationContext.attributeEvent"), t);
 }
 }
@@ -687,7 +686,6 @@ public class ApplicationContext implements ServletContext {
 } else {
 context.fireContainerEvent("afterContextAttributeAdded", 
listener);
 }
-// FIXME - should we do anything besides log these?
 log(sm.getString("applicationContext.attributeEvent"), t);
 }
 }
diff --git a/java/org/apache/catalina/core/ApplicationFilterFactory.java 
b/java/org/apache/catalina/core/ApplicationFilterFactory.java
index a40a5016c8..d71220de8e 100644
--- a/java/org/apache/catalina/core/ApplicationFilterFactory.java
+++ b/java/org/apache/catalina/core/ApplicationFilterFactory.java
@@ -23,7 +23,10 @@ import jakarta.servlet.ServletRequest;
 import org.apache.catalina.Globals;
 import org.apache.catalina.Wrapper;
 import org.apache.catalina.connector.Request;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.descriptor.web.FilterMap;
+import org.apache.tomcat.util.res.StringManager;
 
 /**
  * Factory for the creation and caching of Filters and creation of Filter 
Chains.
@@ -33,6 +36,9 @@ import org.apache.tomcat.util.descriptor.web.FilterMap;
  */
 public final class ApplicationFilterFactory {
 
+private static final Log log = 
LogFactory.getLog(ApplicationFilterFactory.class);
+private static final StringManager sm = 
StringManager.getManager(ApplicationFilterFactory.class);
+
 private ApplicationFilterFactory() {
 // Prevent instance creation. This is a utility class.
 }
@@ -108,7 +114,7 @@ public final class ApplicationFilterFactory {
 ApplicationFilterConfig filterConfig =
 (ApplicationFilterConfig) 
context.findFilterConfig(filterMap.getFilterName());
 if (filterConfig == null) {
-// FIXME - log configuration problem
+
log.warn(sm.getString("applicationFilterFactory.noFilterConfig", 
filterMap.getFilterName()));
 continue;
 }
 filterChain.addFilter(filterConfig);
@@ -125,7 +131,7 @@ public final class ApplicationFilterFactory {
 ApplicationFilterConfig filterConfig =
 (ApplicationFilterConfig) 
context.findFilterConfig(filterMap.getFilterName());
 if (filterConfig == null) {
-// FIXME - log configuration problem
+
log.warn(sm.getString("applicationFilterFactory.noFilterConfig", 
filterMap.getFilterName()));
 continue;
 }
 filterChain.addFilter(filterConfig);
diff --git a/java/org/apache/catalina/core/LocalStrings.properties 
b/java/org/apache/catalina/core/LocalStrings.properties
index a407310206..b4cdf612ec 100644
--- a/java/org/apache/catalina/core/LocalStrings.properties
+++ b/java/org/apache/catalina/core/LocalStrings.properties
@@ -55,6 +55,8 @@ applicationFilterConfig.jmxUnregisterFail=JMX de-registration 
failed for filter
 applicationFilterConfig.preDestroy=Failed the call to preDestroy for the 
filter named [{0}] of type [{1}]
 applicationFilterConfig.release=Failed to destroy the filter named [{0}] of 

(tomcat) 01/02: Cleanup fixmes

2024-02-20 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

commit a4e58aced8b027b29b58d7ba3fe36dadcda0b2f8
Author: remm 
AuthorDate: Tue Feb 20 14:08:58 2024 +0100

Cleanup fixmes
---
 .../apache/catalina/core/ApplicationContext.java   |  2 --
 .../catalina/core/ApplicationFilterFactory.java| 10 --
 .../apache/catalina/core/LocalStrings.properties   |  2 ++
 java/org/apache/catalina/core/StandardContext.java |  1 -
 java/org/apache/catalina/core/StandardWrapper.java |  2 --
 java/org/apache/catalina/mbeans/MBeanFactory.java  |  5 +
 java/org/apache/catalina/mbeans/MBeanUtils.java| 23 --
 .../apache/catalina/session/StandardSession.java   |  2 +-
 java/org/apache/catalina/startup/Bootstrap.java|  3 ---
 .../org/apache/catalina/startup/ContextConfig.java |  3 +--
 .../apache/catalina/valves/JsonAccessLogValve.java |  2 --
 java/org/apache/naming/NamingContext.java  |  1 -
 12 files changed, 13 insertions(+), 43 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationContext.java 
b/java/org/apache/catalina/core/ApplicationContext.java
index 1f00282154..7561bb7172 100644
--- a/java/org/apache/catalina/core/ApplicationContext.java
+++ b/java/org/apache/catalina/core/ApplicationContext.java
@@ -680,7 +680,6 @@ public class ApplicationContext implements ServletContext {
 } catch (Throwable t) {
 ExceptionUtils.handleThrowable(t);
 context.fireContainerEvent("afterContextAttributeRemoved", 
listener);
-// FIXME - should we do anything besides log these?
 log(sm.getString("applicationContext.attributeEvent"), t);
 }
 }
@@ -743,7 +742,6 @@ public class ApplicationContext implements ServletContext {
 } else {
 context.fireContainerEvent("afterContextAttributeAdded", 
listener);
 }
-// FIXME - should we do anything besides log these?
 log(sm.getString("applicationContext.attributeEvent"), t);
 }
 }
diff --git a/java/org/apache/catalina/core/ApplicationFilterFactory.java 
b/java/org/apache/catalina/core/ApplicationFilterFactory.java
index ad723df92e..8bcd9390f5 100644
--- a/java/org/apache/catalina/core/ApplicationFilterFactory.java
+++ b/java/org/apache/catalina/core/ApplicationFilterFactory.java
@@ -23,7 +23,10 @@ import javax.servlet.ServletRequest;
 import org.apache.catalina.Globals;
 import org.apache.catalina.Wrapper;
 import org.apache.catalina.connector.Request;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.descriptor.web.FilterMap;
+import org.apache.tomcat.util.res.StringManager;
 
 /**
  * Factory for the creation and caching of Filters and creation of Filter 
Chains.
@@ -33,6 +36,9 @@ import org.apache.tomcat.util.descriptor.web.FilterMap;
  */
 public final class ApplicationFilterFactory {
 
+private static final Log log = 
LogFactory.getLog(ApplicationFilterFactory.class);
+private static final StringManager sm = 
StringManager.getManager(ApplicationFilterFactory.class);
+
 private ApplicationFilterFactory() {
 // Prevent instance creation. This is a utility class.
 }
@@ -107,7 +113,7 @@ public final class ApplicationFilterFactory {
 ApplicationFilterConfig filterConfig =
 (ApplicationFilterConfig) 
context.findFilterConfig(filterMap.getFilterName());
 if (filterConfig == null) {
-// FIXME - log configuration problem
+
log.warn(sm.getString("applicationFilterFactory.noFilterConfig", 
filterMap.getFilterName()));
 continue;
 }
 filterChain.addFilter(filterConfig);
@@ -124,7 +130,7 @@ public final class ApplicationFilterFactory {
 ApplicationFilterConfig filterConfig =
 (ApplicationFilterConfig) 
context.findFilterConfig(filterMap.getFilterName());
 if (filterConfig == null) {
-// FIXME - log configuration problem
+
log.warn(sm.getString("applicationFilterFactory.noFilterConfig", 
filterMap.getFilterName()));
 continue;
 }
 filterChain.addFilter(filterConfig);
diff --git a/java/org/apache/catalina/core/LocalStrings.properties 
b/java/org/apache/catalina/core/LocalStrings.properties
index 13c7c2dc30..eb54a58eb2 100644
--- a/java/org/apache/catalina/core/LocalStrings.properties
+++ b/java/org/apache/catalina/core/LocalStrings.properties
@@ -55,6 +55,8 @@ applicationFilterConfig.jmxUnregisterFail=JMX de-registration 
failed for filter
 applicationFilterConfig.preDestroy=Failed the call to preDestroy for the 
filter named [{0}] of type [{1}]
 applicationFilterConfig.release=Failed to destroy the filter named [{0}] of 
type 

(tomcat) branch 9.0.x updated (ab8bfdac9b -> 3a7deb32cb)

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

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


from ab8bfdac9b Add release date for 9.0.86
 new a4e58aced8 Cleanup fixmes
 new 3a7deb32cb Remove useless import

The 2 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:
 .../apache/catalina/core/ApplicationContext.java   |  2 --
 .../catalina/core/ApplicationFilterFactory.java| 10 +++--
 .../apache/catalina/core/LocalStrings.properties   |  2 ++
 java/org/apache/catalina/core/StandardContext.java |  1 -
 java/org/apache/catalina/core/StandardWrapper.java |  2 --
 java/org/apache/catalina/mbeans/MBeanFactory.java  |  5 +
 java/org/apache/catalina/mbeans/MBeanUtils.java| 24 --
 .../apache/catalina/session/StandardSession.java   |  2 +-
 java/org/apache/catalina/startup/Bootstrap.java|  3 ---
 .../org/apache/catalina/startup/ContextConfig.java |  3 +--
 .../apache/catalina/valves/JsonAccessLogValve.java |  2 --
 java/org/apache/naming/NamingContext.java  |  1 -
 12 files changed, 13 insertions(+), 44 deletions(-)


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



(tomcat) 02/02: Remove useless import

2024-02-20 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

commit a09a453098d550392f870481af19243452c40fec
Author: remm 
AuthorDate: Tue Feb 20 14:25:05 2024 +0100

Remove useless import
---
 java/org/apache/catalina/mbeans/MBeanUtils.java | 1 -
 1 file changed, 1 deletion(-)

diff --git a/java/org/apache/catalina/mbeans/MBeanUtils.java 
b/java/org/apache/catalina/mbeans/MBeanUtils.java
index 5097dad0ef..7ebf332173 100644
--- a/java/org/apache/catalina/mbeans/MBeanUtils.java
+++ b/java/org/apache/catalina/mbeans/MBeanUtils.java
@@ -27,7 +27,6 @@ import javax.management.ObjectName;
 import org.apache.catalina.Container;
 import org.apache.catalina.Context;
 import org.apache.catalina.Group;
-import org.apache.catalina.Loader;
 import org.apache.catalina.Role;
 import org.apache.catalina.Server;
 import org.apache.catalina.User;


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



(tomcat) branch 10.1.x updated (57278a5712 -> a09a453098)

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

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


from 57278a5712 Add instructions for comparing release artifacts with a 
local release build.
 new 00b54f4515 Cleanup fixmes
 new a09a453098 Remove useless import

The 2 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:
 .../apache/catalina/core/ApplicationContext.java   |  2 --
 .../catalina/core/ApplicationFilterFactory.java| 10 +++--
 .../apache/catalina/core/LocalStrings.properties   |  2 ++
 java/org/apache/catalina/core/StandardContext.java |  1 -
 java/org/apache/catalina/core/StandardWrapper.java |  2 --
 java/org/apache/catalina/mbeans/MBeanFactory.java  |  5 +
 java/org/apache/catalina/mbeans/MBeanUtils.java| 24 --
 .../apache/catalina/session/StandardSession.java   |  2 +-
 java/org/apache/catalina/startup/Bootstrap.java|  3 ---
 .../org/apache/catalina/startup/ContextConfig.java |  3 +--
 .../apache/catalina/valves/JsonAccessLogValve.java |  2 --
 java/org/apache/naming/NamingContext.java  |  1 -
 12 files changed, 13 insertions(+), 44 deletions(-)


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



(tomcat) branch main updated: Remove useless import

2024-02-20 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 5c3695e8dc Remove useless import
5c3695e8dc is described below

commit 5c3695e8dcfa5e6ba4674f61d6322587f77c18a1
Author: remm 
AuthorDate: Tue Feb 20 14:25:05 2024 +0100

Remove useless import
---
 java/org/apache/catalina/mbeans/MBeanUtils.java | 1 -
 1 file changed, 1 deletion(-)

diff --git a/java/org/apache/catalina/mbeans/MBeanUtils.java 
b/java/org/apache/catalina/mbeans/MBeanUtils.java
index 63fb904594..c4477a8f2e 100644
--- a/java/org/apache/catalina/mbeans/MBeanUtils.java
+++ b/java/org/apache/catalina/mbeans/MBeanUtils.java
@@ -27,7 +27,6 @@ import javax.management.ObjectName;
 import org.apache.catalina.Container;
 import org.apache.catalina.Context;
 import org.apache.catalina.Group;
-import org.apache.catalina.Loader;
 import org.apache.catalina.Role;
 import org.apache.catalina.Server;
 import org.apache.catalina.User;


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



(tomcat) branch main updated: Cleanup fixmes

2024-02-20 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 eeb4e761ab Cleanup fixmes
eeb4e761ab is described below

commit eeb4e761abb1cbc2c0797dac558cd91fb3ef44ab
Author: remm 
AuthorDate: Tue Feb 20 14:08:58 2024 +0100

Cleanup fixmes
---
 .../apache/catalina/core/ApplicationContext.java   |  2 --
 .../catalina/core/ApplicationFilterFactory.java| 10 --
 .../apache/catalina/core/LocalStrings.properties   |  2 ++
 java/org/apache/catalina/core/StandardContext.java |  1 -
 java/org/apache/catalina/core/StandardWrapper.java |  2 --
 java/org/apache/catalina/mbeans/MBeanFactory.java  |  5 +
 java/org/apache/catalina/mbeans/MBeanUtils.java| 23 --
 .../apache/catalina/session/StandardSession.java   |  2 +-
 java/org/apache/catalina/startup/Bootstrap.java|  3 ---
 .../org/apache/catalina/startup/ContextConfig.java |  3 +--
 .../apache/catalina/valves/JsonAccessLogValve.java |  2 --
 java/org/apache/naming/NamingContext.java  |  1 -
 12 files changed, 13 insertions(+), 43 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationContext.java 
b/java/org/apache/catalina/core/ApplicationContext.java
index 2ebe16c967..b01ee91382 100644
--- a/java/org/apache/catalina/core/ApplicationContext.java
+++ b/java/org/apache/catalina/core/ApplicationContext.java
@@ -624,7 +624,6 @@ public class ApplicationContext implements ServletContext {
 } catch (Throwable t) {
 ExceptionUtils.handleThrowable(t);
 context.fireContainerEvent("afterContextAttributeRemoved", 
listener);
-// FIXME - should we do anything besides log these?
 log(sm.getString("applicationContext.attributeEvent"), t);
 }
 }
@@ -687,7 +686,6 @@ public class ApplicationContext implements ServletContext {
 } else {
 context.fireContainerEvent("afterContextAttributeAdded", 
listener);
 }
-// FIXME - should we do anything besides log these?
 log(sm.getString("applicationContext.attributeEvent"), t);
 }
 }
diff --git a/java/org/apache/catalina/core/ApplicationFilterFactory.java 
b/java/org/apache/catalina/core/ApplicationFilterFactory.java
index e3d48e54eb..26a3e9c01d 100644
--- a/java/org/apache/catalina/core/ApplicationFilterFactory.java
+++ b/java/org/apache/catalina/core/ApplicationFilterFactory.java
@@ -23,7 +23,10 @@ import jakarta.servlet.ServletRequest;
 import org.apache.catalina.Globals;
 import org.apache.catalina.Wrapper;
 import org.apache.catalina.connector.Request;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.descriptor.web.FilterMap;
+import org.apache.tomcat.util.res.StringManager;
 
 /**
  * Factory for the creation and caching of Filters and creation of Filter 
Chains.
@@ -33,6 +36,9 @@ import org.apache.tomcat.util.descriptor.web.FilterMap;
  */
 public final class ApplicationFilterFactory {
 
+private static final Log log = 
LogFactory.getLog(ApplicationFilterFactory.class);
+private static final StringManager sm = 
StringManager.getManager(ApplicationFilterFactory.class);
+
 private ApplicationFilterFactory() {
 // Prevent instance creation. This is a utility class.
 }
@@ -103,7 +109,7 @@ public final class ApplicationFilterFactory {
 ApplicationFilterConfig filterConfig =
 (ApplicationFilterConfig) 
context.findFilterConfig(filterMap.getFilterName());
 if (filterConfig == null) {
-// FIXME - log configuration problem
+
log.warn(sm.getString("applicationFilterFactory.noFilterConfig", 
filterMap.getFilterName()));
 continue;
 }
 filterChain.addFilter(filterConfig);
@@ -120,7 +126,7 @@ public final class ApplicationFilterFactory {
 ApplicationFilterConfig filterConfig =
 (ApplicationFilterConfig) 
context.findFilterConfig(filterMap.getFilterName());
 if (filterConfig == null) {
-// FIXME - log configuration problem
+
log.warn(sm.getString("applicationFilterFactory.noFilterConfig", 
filterMap.getFilterName()));
 continue;
 }
 filterChain.addFilter(filterConfig);
diff --git a/java/org/apache/catalina/core/LocalStrings.properties 
b/java/org/apache/catalina/core/LocalStrings.properties
index 8704f4b5b4..a335cdcd34 100644
--- a/java/org/apache/catalina/core/LocalStrings.properties
+++ b/java/org/apache/catalina/core/LocalStrings.properties
@@ -55,6 +55,8 @@ applicationFilterConfig.jmxUnregisterFail=JMX de-registration 
failed for filter
 applicationFilterConfig.preDestroy=Failed the call to 

Community Over Code Asia 2024 Travel Assistance Applications now open!

2024-02-20 Thread Gavin McDonald
Hello to all users, contributors and Committers!

The Travel Assistance Committee (TAC) are pleased to announce that
travel assistance applications for Community over Code Asia 2024 are now
open!

We will be supporting Community over Code Asia, Hangzhou, China
July 26th - 28th, 2024.

TAC exists to help those that would like to attend Community over Code
events, but are unable to do so for financial reasons. For more info
on this year's applications and qualifying criteria, please visit the
TAC website at < https://tac.apache.org/ >. Applications are already
open on https://tac-apply.apache.org/, so don't delay!

The Apache Travel Assistance Committee will only be accepting
applications from those people that are able to attend the full event.

Important: Applications close on Friday, May 10th, 2024.

Applicants have until the the closing date above to submit their
applications (which should contain as much supporting material as
required to efficiently and accurately process their request), this
will enable TAC to announce successful applications shortly
afterwards.

As usual, TAC expects to deal with a range of applications from a
diverse range of backgrounds; therefore, we encourage (as always)
anyone thinking about sending in an application to do so ASAP.

For those that will need a Visa to enter the Country - we advise you to
apply
now so that you have enough time in case of interview delays. So do not
wait until you know if you have been accepted or not.

We look forward to greeting many of you in Hangzhou, China in July, 2024!

Kind Regards,

Gavin

(On behalf of the Travel Assistance Committee)


Re: [PR] Added option to use custom SSLContext [tomcat]

2024-02-20 Thread via GitHub


markt-asf commented on PR #673:
URL: https://github.com/apache/tomcat/pull/673#issuecomment-1953742188

   You're welcome. I didn't do much here. I just tweaked the original PR.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



JDK 22 Release Candidates & Virtual Threads pinning heads-up

2024-02-20 Thread David Delabassee
Welcome to the latest OpenJDK Quality Outreach update!

The first JDK 22 Release Candidates builds are now available [1]. At this 
stage, only P1 issues will still be evaluated. And with the JDK 22 General 
Availability set for March 19th, it is now time to fully focus on JDK 23. At 
the time of writing, one JEP has already been integrated in JDK 23, i.e., JEP 
455: 'Primitive Types in Patterns, instanceof, and switch (Preview)' [2]. But 
new JEP candidates [3][4] have recently been announced, so things should evolve 
rapidly.

I'd like to thank those of you who have already provided feedback on the JDK 22 
EA builds. Feedback is always extremely useful, even more, when it comes early 
in the development cycle. Another area where we need your help is Loom. So, 
please make sure to check the heads-up below that discusses the so-called 
Virtual Threads "pinning" issue.

[1] https://openjdk.org/projects/jdk/22/
[2] https://openjdk.org/jeps/455
[3] https://openjdk.org/jeps/465
[4] https://openjdk.org/jeps/466


## Heads-up: Virtual Threads “Pinning” Issue

Virtual threads became a permanent feature in JDK 21. This feature has been 
extremely well received by the Java ecosystem but there are still a few pain 
points. Much has been written about the so-called "pinning" issue that arises 
with synchronized methods or synchronized statements. The two most common cases 
are (a) a virtual thread parks (ex. doing socket I/O) while in a synchronized 
method, and (b) a virtual thread blocks entering a synchronized method because 
the object's associated monitor is held by another thread. In both cases, the 
underlying carrier/native thread is not "released" to do other work. 
Performance and scalability may suffer and in some cases, starvation and 
deadlock might happen. This recent "Virtual Threads Next Steps" video [5] 
explains in more details the why's and discusses some potential solutions.

New Loom early-access builds haven been recently published [6]. Those Loom EA 
builds have changes to the object monitor implementation that do not pin for 
these two common cases. The Loom team needs your help to test these updated 
object monitors with code that you know is using virtual threads and with 
libraries that are heavily synchronized. The goal is to gauge both reliability 
and performance.

The simplest way to report an issue or feedback is to use the Loom mailing list 
[7]. For the VM savvy, testing with both `-XX:LockingMode=1` (current default) 
and `-XX:LockingMode=2` would be extremely helpful as that would exercise the 
two locking modes currently implemented by the HotSpot VM.

[5] https://inside.java/2024/02/17/virtual-threads-next-steps/
[6] https://jdk.java.net/loom/
[7] https://mail.openjdk.org/pipermail/loom-dev/


## JDK 22 Release Candidates

The JDK 22 Release Candidate builds (builds 36) are available [8] and are 
provided under the GNU General Public License v2, with the Classpath Exception. 
The Release Notes are available here [9], and the javadocs here [10].

[8] https://jdk.java.net/22/
[9] https://jdk.java.net/22/release-notes
[10] https://download.java.net/java/early_access/jdk22/docs/api/


## JDK 23 Early-Access Builds

The JDK 23 Early-Access builds 10 are available [11], and are provided under 
the GNU General Public License v2, with the Classpath Exception. The Release 
Notes are available here [12].

### Changes in recent JDK 23 builds that may be of interest:

- JDK-8324287: Record total and free swap space in JFR
- JDK-8275338: Add JFR events for notable serialization situations
- JDK-8324665: Loose matching of space separators in the lenient date/time 
parsing mode
- JDK-8324066: "clhsdb jstack" should not by default scan for j.u.c locks 
because it can be very slow
- JDK-8323699: MessageFormat.toPattern() generates non-equivalent MessageFormat 
pattern
- JDK-8325221: Obsolete TLABStats
- JDK-8322535: Change default AArch64 SpinPause instruction
- JDK-8323746: Add PathElement hashCode and equals
- JDK-8325570: Update to Graphviz 9.0.0
- JDK-8303866: Allow ZipInputStream.readEnd to parse small Zip64 ZIP files
- JDK-8320458: Improve structural navigation in API documentation
- JDK-8324068: Improve references to tags in the Doc Comment Spec
- JDK-8322366: Add IEEE rounding mode corruption check to JNI checks
- JDK-8321545: Override toString() for Format subclasses
- JDK-8324301: Obsolete MaxGCMinorPauseMillis
- JDK-8324632: Update Zlib Data Compression Library to Version 1.3.1
- JDK-8324771: Obsolete RAMFraction related flags
- JDK-8323645: Remove unused internal sun.net.www.protocol.jar.URLJarFileCa…
- JDK-8325150: (tz) Update Timezone Data to 2024a
- JDK-8324571: JDK 23 L10n resource files update

Note: Complete list of changes can be found here [13].

[11] https://jdk.java.net/23/
[12] https://jdk.java.net/23/release-notes
[13] https://github.com/openjdk/jdk/compare/jdk-23+6...jdk-23+10


## JavaFX Early-Access Builds:

These are early access builds of the JavaFX 22 & 23 Runtime