eclipse-ee4j / jersey

Eclipse Jersey Project - Read our Wiki:
https://github.com/eclipse-ee4j/jersey/wiki
Other
681 stars 339 forks source link

PathProvider supports Path entities, in preparation for future default support in JAX-RS 4.1 / Jersey 4.1 #5674

Closed mkarg closed 1 week ago

mkarg commented 1 month ago

Aim

This PR adds support for Path entity types in analogy to the existing support for File entity types.

Justification

In an attempt to modernize JAX-RS and better align it with modern Java, I soon will file a PR for Jakarta REST 4.1 to natively support Path entity types by all compliant implementations. As an existing implementation is needed before making an API change part of the specification and TCK, I kindly ask to adopt this new feature to Jersey 3.1 already (as it is optional and non-breaking).

Description

This PR only adds optional support for Path, not making it part of MessagingBinders as it is not yet a mandatory element of the JAX-RS specification, neither in 3.x nor 4.0. In a subsequent PR on the 4.x branch I will later add PathProvider to MessagingBinders when agreed to make it part of JAX-RS 4.1.

mkarg commented 1 month ago

@jansupol Kindly asking for adoption of this optional feature to Jersey 3.1.8 and Jersey 4.0, so we have an existing technical base to decide adoption of Path entity type in JAX-RS 4.1. Thank you! :-)

mkarg commented 1 month ago

@jansupol Jenkins says that all tests run fine on JDK 21, but on JDK 11 fails with the below message. I doubt that it is caused by my changes / this PR. But how to proceed now?

BroadcasterExecutorTest.test:177 Client event called from wrong thread ( ) ==> expected: but was:

mkarg commented 3 days ago

Thank you for adopting this into upcomging 3.1.8.

Please find the proposed JAX-RS enhancement proposal here: https://github.com/jakartaee/rest/issues/1274. :-)