Discussion:
[jira] [Created] (ISIS-1779) Transition to JAX-RS 2.0 Client API
Andi Huber (JIRA)
7 years ago
Permalink
Andi Huber created ISIS-1779:
--------------------------------

Summary: Transition to JAX-RS 2.0 Client API
Key: ISIS-1779
URL: https://issues.apache.org/jira/browse/ISIS-1779
Project: Isis
Issue Type: Improvement
Components: Core: Viewer: RestfulObjects
Affects Versions: 1.15.1
Reporter: Andi Huber
Assignee: Andi Huber
Fix For: 2.0.0


RESTEasy's org.jboss.resteasy.client.* was deprecated.

We are using it in core/viewer-resfulobjects.

It seems, this deprecated client API prevents Isis deployment to glassfish 5.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
Andi Huber (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1779:
-----------------------------
Description:
It seems JEE 8 servers (compliant with JAX-RS 2.1 API) conflict with deployment of resteasy-jaxrs.version 3.x (which is JAX-RS 2.0 API)

and JEE 7 servers (compliant with JAX-RS 2.0 API) conflict with deployment of resteasy-jaxrs.version 4.x (which is JAX-RS 2.1 API).

So by now there is no easy way to package a war file with resteasy included, that will run on both JEE 7 and 8.

I've successfully tested
<resteasy-jaxrs.version>4.0.0.Beta1</resteasy-jaxrs.version> on glassfish 5,
<resteasy-jaxrs.version>3.0.17.Final</resteasy-jaxrs.version> on glassfish 4,
<resteasy-jaxrs.version>3.1.4.Final</resteasy-jaxrs.version> on glassfish 4.

org.jboss.resteasy.client.* was deprecated.

We are using it in core/viewer-resfulobjects.



was:
RESTEasy's org.jboss.resteasy.client.* was deprecated.

We are using it in core/viewer-resfulobjects.

It seems, this deprecated client API prevents Isis deployment to glassfish 5.
...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
Andi Huber (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1779:
-----------------------------
Description:
It seems JEE 8 servers (compliant with JAX-RS 2.1 API) conflict with deployment of resteasy-jaxrs.version 3.x (which is JAX-RS 2.0 API)

and JEE 7 servers (compliant with JAX-RS 2.0 API) conflict with deployment of resteasy-jaxrs.version 4.x (which is JAX-RS 2.1 API).

So by now there is no easy way to package a war file with resteasy included, that will run on both JEE 7 and 8.

I've successfully tested
<resteasy-jaxrs.version>4.0.0.Beta1</resteasy-jaxrs.version> on glassfish 5,
<resteasy-jaxrs.version>3.0.17.Final</resteasy-jaxrs.version> on glassfish 4,
<resteasy-jaxrs.version>3.1.4.Final</resteasy-jaxrs.version> on glassfish 4.

Note: transitioning resteasy-jaxrs from 3.0.x to any higher version involves removal of deprecated classes in
org.jboss.resteasy.client.*, which we are using it in core/viewer-resfulobjects-applib.



was:
It seems JEE 8 servers (compliant with JAX-RS 2.1 API) conflict with deployment of resteasy-jaxrs.version 3.x (which is JAX-RS 2.0 API)

and JEE 7 servers (compliant with JAX-RS 2.0 API) conflict with deployment of resteasy-jaxrs.version 4.x (which is JAX-RS 2.1 API).

So by now there is no easy way to package a war file with resteasy included, that will run on both JEE 7 and 8.

I've successfully tested
<resteasy-jaxrs.version>4.0.0.Beta1</resteasy-jaxrs.version> on glassfish 5,
<resteasy-jaxrs.version>3.0.17.Final</resteasy-jaxrs.version> on glassfish 4,
<resteasy-jaxrs.version>3.1.4.Final</resteasy-jaxrs.version> on glassfish 4.

org.jboss.resteasy.client.* was deprecated.

We are using it in core/viewer-resfulobjects.
...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
Andi Huber (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1779:
-----------------------------
Description:
Dedicated Branch
dev/2.0.0/ISIS-1779-jax-rs-2


It seems JEE 8 servers (compliant with JAX-RS 2.1 API) conflict with deployment of resteasy-jaxrs.version 3.x (which is JAX-RS 2.0 API)

and JEE 7 servers (compliant with JAX-RS 2.0 API) conflict with deployment of resteasy-jaxrs.version 4.x (which is JAX-RS 2.1 API).

So by now there is no easy way to package a war file with resteasy included, that will run on both JEE 7 and 8.

I've successfully tested
<resteasy-jaxrs.version>4.0.0.Beta1</resteasy-jaxrs.version> on glassfish 5,
<resteasy-jaxrs.version>3.0.17.Final</resteasy-jaxrs.version> on glassfish 4,
<resteasy-jaxrs.version>3.1.4.Final</resteasy-jaxrs.version> on glassfish 4.

Note: transitioning resteasy-jaxrs from 3.0.x to any higher version involves removal of deprecated classes in
org.jboss.resteasy.client.*, which we are using it in core/viewer-resfulobjects-applib.



was:
It seems JEE 8 servers (compliant with JAX-RS 2.1 API) conflict with deployment of resteasy-jaxrs.version 3.x (which is JAX-RS 2.0 API)

and JEE 7 servers (compliant with JAX-RS 2.0 API) conflict with deployment of resteasy-jaxrs.version 4.x (which is JAX-RS 2.1 API).

So by now there is no easy way to package a war file with resteasy included, that will run on both JEE 7 and 8.

I've successfully tested
<resteasy-jaxrs.version>4.0.0.Beta1</resteasy-jaxrs.version> on glassfish 5,
<resteasy-jaxrs.version>3.0.17.Final</resteasy-jaxrs.version> on glassfish 4,
<resteasy-jaxrs.version>3.1.4.Final</resteasy-jaxrs.version> on glassfish 4.

Note: transitioning resteasy-jaxrs from 3.0.x to any higher version involves removal of deprecated classes in
org.jboss.resteasy.client.*, which we are using it in core/viewer-resfulobjects-applib.
...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
Jörg Rade (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16258919#comment-16258919 ]

Jörg Rade commented on ISIS-1779:
---------------------------------

My2C: Since JEE conformance is a new feature for the framework, it should be OK to just support JEE8.
...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
Andi Huber (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16258940#comment-16258940 ]

Andi Huber commented on ISIS-1779:
----------------------------------

Well the thing is, JEE 8's reference implementation (glassfish 5) was just released. I believe, the vast majority out there uses JEE 7 containers.

In this issue's branch, I removed/replaced code that uses the proprietary resteasy-jaxrs client API, which restricted us to JAX-RS 2.0. While still work in progress, this step makes our source code already compliant with JAX-RS 2.0 and(!) 2.1.

Incompatibility only arises at runtime, because we package Isis web-apps with the resteasy-jaxrs servlet and it's dependencies including the standardized JAX-RS API. Yet one hast to decide which version of resteasy to package with the war file, depending on the target platform JEE 7 or 8.

The challenge for us is to find a clever way to have an Isis web-app packaged in a way, such that it will run on a pure Servlet container as well as on JEE 7+.

What might always work, is to provide different flavors of Isis for different platforms. But this is painful from a maintenance point of view.
...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
ASF subversion and git services (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16312141#comment-16312141 ]

ASF subversion and git services commented on ISIS-1779:
-------------------------------------------------------

Commit 6bb2923582b6e0e5d6745ce8372152ea0088ab2a in isis's branch refs/heads/dev/2.0.0/ISIS-1779-jax-rs-2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=6bb2923 ]

ISIS-1779 Transition to JAX-RS 2.0 Client API
removed dependency on deprecated resteasy client api
...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
Dan Haywood (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Haywood updated ISIS-1779:
------------------------------
Fix Version/s: (was: 2.0.0)
2.0.0-M2
...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
ASF subversion and git services (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16312924#comment-16312924 ]

ASF subversion and git services commented on ISIS-1779:
-------------------------------------------------------

Commit c6aa636e7d6e215ec5318784affdcdf669519a2a in isis's branch refs/heads/ISIS-1779-jax-rs-2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=c6aa636 ]

ISIS-1779 Transition to JAX-RS 2.0 Client API
removed dependency on deprecated resteasy client api
...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
ASF subversion and git services (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16313248#comment-16313248 ]

ASF subversion and git services commented on ISIS-1779:
-------------------------------------------------------

Commit 83cdd6ff1075a5f82297da32fd833fc21d9b9f29 in isis's branch refs/heads/ISIS-1779-jax-rs-2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=83cdd6f ]

ISIS-1779 Transition to JAX-RS 2.0 Client API
removed dependency on deprecated resteasy client api
...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
ASF subversion and git services (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16313539#comment-16313539 ]

ASF subversion and git services commented on ISIS-1779:
-------------------------------------------------------

Commit fd8670e8337f99832f767bf24c26dde33bf34cc5 in isis's branch refs/heads/ISIS-1779-jax-rs-2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=fd8670e ]

ISIS-1779 Transition to JAX-RS 2.0 Client API
removed dependency on deprecated resteasy client api
...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
ASF subversion and git services (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16364318#comment-16364318 ]

ASF subversion and git services commented on ISIS-1779:
-------------------------------------------------------

Commit 72f34526c4880bca27376178b22c9aed4939ca54 in isis's branch refs/heads/ISIS-1779-jax-rs-2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=72f3452 ]

ISIS-1779 Transition to JAX-RS 2.0 Client API
removed dependency on deprecated resteasy client api
...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16373336#comment-16373336 ]

ASF subversion and git services commented on ISIS-1779:
-------------------------------------------------------

Commit 3d7b6fd96c88945651ce039015c4af04e124441a in isis's branch refs/heads/ISIS-1779-jax-rs-2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=3d7b6fd ]

ISIS-1779 introduce resteasy legacy layer

introduces o.a.i.viewer.legacy.RestEasyLegacy
as a resteasy legacy layer to ease transition

replaces jboss-jaxrs-api_2.0_spec (1.0.0.Final)
with jboss-jaxrs-api (3.0.12.Final)

adding a lot of TODO markers

replace org.jboss.resteasy.client.core.executors.ApacheHttpClient4Executor
with new o.a.i.viewer.legacy.ClientExecutor
...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16384895#comment-16384895 ]

ASF subversion and git services commented on ISIS-1779:
-------------------------------------------------------

Commit 9df916160144de08ceb3ec030181b3def7eef5f6 in isis's branch refs/heads/master from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=9df9161 ]

ISIS-1779 client compatibility layer
...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1779:
-----------------------------
Fix Version/s: (was: 2.0.0-M2)
2.0.0-M1
...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16384905#comment-16384905 ]

ASF subversion and git services commented on ISIS-1779:
-------------------------------------------------------

Commit c57491ba01c4a7adf7a4d4f9ca38b54b79b5446b in isis's branch refs/heads/master from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=c57491b ]

ISIS-1891 ISIS-1779 intergate jax-rs plugin into ro-viewer

integrate resteasy compatibility layer
...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16392852#comment-16392852 ]

ASF subversion and git services commented on ISIS-1779:
-------------------------------------------------------

Commit 91a82598c668dc900e6702188162aba084ec5454 in isis's branch refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=91a8259 ]

ISIS-1779: factors failing RO applib tests into contract tests.

also:
- updates gitlab ci yml, skiptests for now
...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16392882#comment-16392882 ]

ASF subversion and git services commented on ISIS-1779:
-------------------------------------------------------

Commit 41e1082d669404c6a21e38af61281a67ab2e306d in isis's branch refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=41e1082 ]

ISIS-1779: more contract tests for JAX-RS plugins
...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber resolved ISIS-1779.
------------------------------
Resolution: Done

Jax-rs client code was re-implemented. Currently I'd say the state is *experimental*!

However I'm resolving this task. Should any issues pop-up, we deal with them separately.
...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Dan Haywood (JIRA)
7 years ago
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Haywood closed ISIS-1779.
-----------------------------
...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Loading...