Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restful-ws jakarta ee9 namespace support #469

Merged

Conversation

abutch3r
Copy link
Contributor

@abutch3r abutch3r commented Aug 19, 2022

Fixes #468

Add support for newer Jakarta EE versions

This is just a way to show what changes are needed to support the move from the javax -> jakarta namespaces which is required for the latest version of Microprofile and the upcoming Spring-boot 3 and Spring-framework 6. which both support Jakarta EE9 and also with the upcoming JEE10 release.

The PR works by copying the contents of the original restful-ws definitions into a new module and during the copy replaces javax with jakarata. the Pom also depends on a newer jakarta ws-api package that uses the jakarta named packages. This ensures a single code base between the two packages with minimal build overhead

This includes a port of the reasteasy test case as the Jersey scenario requires Java11 and given Spring don't support it yet, that has not been ported either.

The name of the package is just a place holder and more then happy to change to meet the requirements of the project.

  • I am currently working on a microprofile integration test scenario, but this does include an example of Microprofile with OpenLiberty using the new package

@abutch3r abutch3r changed the title restful-ws jakarta ee9 namespace support 468-restful-ws jakarta ee9 namespace support Aug 19, 2022
@pierDipi pierDipi self-requested a review September 5, 2022 11:16
@rvowles
Copy link

rvowles commented Sep 10, 2022

I would also like to see this merged as jakarta has been the new standard for around 2 years now.

Copy link
Member

@pierDipi pierDipi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @abutch3r, thanks for the PR.

I did a quick scan of the PR, one concern that I have is that the new module http/restful-ws-jakarta-integration-tests used for testing different implementations will be published as part of the release even though it is only used for testing.
Can we avoid publishing the new module http/restful-ws-jakarta-integration-tests since it is not meant to be used by users?

http/restful-ws-jakarta/pom.xml Outdated Show resolved Hide resolved
@pierDipi pierDipi self-requested a review September 21, 2022 14:18
@abutch3r abutch3r changed the title 468-restful-ws jakarta ee9 namespace support Restful-ws jakarta ee9 namespace support Sep 22, 2022
abutch3r and others added 12 commits September 22, 2022 11:06
…ta in own module

Add microprofile with openliberty example using new jar

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Port jersey integration tests from javax.* to jakarta.*

Includes port of jersey-junit to support jakarta as no current version exists that does.

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
fix file paths

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Tidy-up pom files and filepaths

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Now checks if `datacontenttype` matches the regex:

`^(application|text)\/([a-zA-Z]+\+)?json$")`

This regex support 
`application/foobar+json`
or standard
```
application/json
text/json
```

Signed-off-by: Isaac Aymerich <isaac.aymerich@roche.com>
Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: pierDipi <pierdipi@redhat.com>
Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Was using `ExtensionParser` instead `ExtensionProvider`

Signed-off-by: Jorge Oliva <Jorge.OlivaFernandez@santander.co.uk>
Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Signed-off-by: Gerard Klijs <gerard.klijs@axoniq.io>
Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Signed-off-by: Vikram Vuppla <naga.vicky@gmail.com>
Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Disable new Jakarta EE 9 + Jersey test case as requires builidng SDK version to be 11 or greater

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
@abutch3r abutch3r force-pushed the 468-restful-ws-jakarta-ee9-support branch from dc71324 to b410cb9 Compare September 22, 2022 10:17
docs/core.md Outdated Show resolved Hide resolved
@pierDipi pierDipi self-requested a review September 22, 2022 15:01
abutch3r and others added 8 commits September 23, 2022 09:59
…ta in own module

Add microprofile with openliberty example using new jar

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Port jersey integration tests from javax.* to jakarta.*

Includes port of jersey-junit to support jakarta as no current version exists that does.

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
fix file paths

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Tidy-up pom files and filepaths

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Disable new Jakarta EE 9 + Jersey test case as requires builidng SDK version to be 11 or greater

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
Copy link
Member

@pierDipi pierDipi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@rvowles do you have any other comments?

@pierDipi pierDipi requested a review from rvowles September 26, 2022 09:50
@rvowles
Copy link

rvowles commented Sep 26, 2022

No @pierDipi looks solid to me!

@pierDipi pierDipi merged commit f08a099 into cloudevents:master Sep 27, 2022
@pierDipi
Copy link
Member

Thanks @abutch3r and @rvowles!

@abutch3r abutch3r deleted the 468-restful-ws-jakarta-ee9-support branch September 27, 2022 08:49
robp94 pushed a commit to robp94/sdk-java that referenced this pull request Apr 28, 2023
* Replace javax restful-ws namespace usage with jakarata in own module
* Add microprofile with openliberty example using new jar
* Update gitignore to cover all copied directories
* Update Jersey Version to support jakarta.* namespace packages
* Port jersey integration tests from javax.* to jakarta.*
* Undo changes to existing integration test package names
* Add Integration test for Microprofile/Liberty for Jee9 package
* Add documentation for new Jakarta package

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
(cherry picked from commit f08a099)
robp94 pushed a commit to robp94/sdk-java that referenced this pull request May 2, 2023
* Replace javax restful-ws namespace usage with jakarata in own module
* Add microprofile with openliberty example using new jar
* Update gitignore to cover all copied directories
* Update Jersey Version to support jakarta.* namespace packages
* Port jersey integration tests from javax.* to jakarta.*
* Undo changes to existing integration test package names
* Add Integration test for Microprofile/Liberty for Jee9 package
* Add documentation for new Jakarta package

Signed-off-by: alex-butcher <21243172+abutch3r@users.noreply.github.com>
(cherry picked from commit f08a099)
Signed-off-by: Robert Pospisil <robert.pospisil@mobilexag.de>
pierDipi pushed a commit that referenced this pull request May 10, 2023
* Replace javax restful-ws namespace usage with jakarata in own module
* Add microprofile with openliberty example using new jar
* Update gitignore to cover all copied directories
* Update Jersey Version to support jakarta.* namespace packages
* Port jersey integration tests from javax.* to jakarta.*
* Undo changes to existing integration test package names
* Add Integration test for Microprofile/Liberty for Jee9 package
* Add documentation for new Jakarta package

Signed-off-by: Robert Pospisil <robert.pospisil@mobilexag.de>
Co-authored-by: Alex Butcher <21243172+abutch3r@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Jakarta EE9 and onwards support for http-restful-ws package
7 participants