You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/02/21 09:39:01 UTC
[isis] branch ISIS-1779-jax-rs-2 updated (5aab42f -> b268520)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a change to branch ISIS-1779-jax-rs-2
in repository https://gitbox.apache.org/repos/asf/isis.git.
discard 5aab42f ISIS-1779 introduce resteasy legacy layer
discard 058b998 ISIS-1756 backporting proper life-cycling from jax-rs-2 branch
discard 4300e7e ISIS-1744 updating DN versions
discard 9007d0f ISIS-1841 remove unused import
discard a90d651 ISIS-1841 remove unnecessary null-check + simplify
discard f4eab6a ISIS-1841 clean up Internal API after rebase/merge
discard 124d029 ISIS-1841 use _Context to store Isis default class loader
discard e7c5736 ISIS-1811: updates versions to 2.0.0-M2-SNAPSHOT
discard 50a22fa ISIS-1744: removes work-around code for prior to DN 5.1.5
discard 0b8611c ISIS-1744: updates to DN 5.1.5
discard 37937ea ISIS-1767: fixes dependency convergence issue with com.sun.mail
discard c5d6e02 ISIS-1756 remove reflective access to DN's EnhancementHelper since we've got a dedicated method instead
discard 02e0422 ISIS-1755 veto ExceptionRecognizer on CDI scan
discard a89cb4e ISIS-1754 proper DN class-loading
discard 4559466 ISIS-1775 added license
discard 2bfc658 ISIS-1775 Honor web-app's context path when configuring swagger.
discard 65468d7 ISIS-1755 TomEE requires Service Providers to be public classes
discard 14f4563 rebase 2.0.0-M2 on top of 2.0.0-M1 (master)
discard dffff65 ISIS-1756 utilize IsisWicketApplication's life-cycle instead of providing a life-cycle CDI Bean
discard 6d00c67 ISIS-1756 prevent SQLException on schema creation if config is missing
discard 46cee7b ISIS-1756 - fix typo
discard c498506 ISIS-1755 JEE 7+ allow coexistence of CDI and Isis' ServiceInjector
discard f6fd626 ISIS-1756 JEE 7+ Isis App life-cycling
discard baa3fb8 ISIS-1767 JEE 7+ added dependency on javaee-api to core/runtime
discard 4d17b70 ISIS-1728: uses typesafe queries for helloworld
discard 1a0c3eb ISIS-1726: generalizes the logic that searches for @PersistenceCapable entities, to also take into account meta-annotations.
discard 2c872e8 ISIS-1727: uses lambda in IsisSessionFactoryBuilder
discard f2bc631 ISIS-1725: requires that an AppManifest is supplied (used to obtain list of entities).
discard f882c42 ISIS-1724: removes the deprecated IsisJdoSupport in the jdo applib
discard cd2f87d ISIS-1723: removes jdo applib's Auditable interface and @Auditable annotation
discard 279ad1f ISIS-1276: fixes algorithm for lookup of datastore id's, at least
discard 9fadf6e ISIS-1276: fixes compile issues in metamodel and runtime
discard f31a5f9 ISIS-1276: updates applib, replaces references of TypesafeQuery to be instead JDOQLTypedQuery
discard 50a8947 ISIS-1276: updates core to compile under JDK 1.8 only
discard 766f10a ISIS-1276: updates references for datanucleus.
add 57dc852 ISIS-1827 RepositoryService: split out deprecated methods
add 270abd0 ISIS-1276: updates references for datanucleus.
add 9509c9c ISIS-1276: updates core to compile under JDK 1.8 only
add cbfbf54 ISIS-1276: updates applib, replaces references of TypesafeQuery to be instead JDOQLTypedQuery
add 8dcc249 ISIS-1276: fixes compile issues in metamodel and runtime
add a352a0f ISIS-1276: fixes algorithm for lookup of datastore id's, at least
add 2670a69 ISIS-1723: removes jdo applib's Auditable interface and @Auditable annotation
add 23144b3 ISIS-1724: removes the deprecated IsisJdoSupport in the jdo applib
add 4828a2c ISIS-1725: requires that an AppManifest is supplied (used to obtain list of entities).
add 5f8258a ISIS-1727: uses lambda in IsisSessionFactoryBuilder
add 627ee81 ISIS-1726: generalizes the logic that searches for @PersistenceCapable entities, to also take into account meta-annotations.
add 266a145 ISIS-1728: uses typesafe queries for helloworld
add 05c9ce9 ISIS-1767 JEE 7+ added dependency on javaee-api to core/runtime
add 1efa068 ISIS-1756 JEE 7+ Isis App life-cycling
add d13d241 ISIS-1755 JEE 7+ allow coexistence of CDI and Isis' ServiceInjector
add a78d891 ISIS-1756 - fix typo
add e809ddd ISIS-1756 prevent SQLException on schema creation if config is missing
add f740597 ISIS-1756 utilize IsisWicketApplication's life-cycle instead of providing a life-cycle CDI Bean
add 497976c rebase 2.0.0-M2 on top of 2.0.0-M1 (master)
add 59f2c28 ISIS-1755 TomEE requires Service Providers to be public classes
add 44077f9 ISIS-1775 Honor web-app's context path when configuring swagger.
add 53a565a ISIS-1775 added license
add 7a012d3 ISIS-1754 proper DN class-loading
add 9acf9bc ISIS-1755 veto ExceptionRecognizer on CDI scan
add e180741 ISIS-1756 remove reflective access to DN's EnhancementHelper since we've got a dedicated method instead
add 02c0877 ISIS-1767: fixes dependency convergence issue with com.sun.mail
add 0c1d308 ISIS-1744: updates to DN 5.1.5
add 1eb7392 ISIS-1744: removes work-around code for prior to DN 5.1.5
add a481770 ISIS-1811: updates versions to 2.0.0-M2-SNAPSHOT
add 939e6d5 ISIS-1841 use _Context to store Isis default class loader
add 9a1839c ISIS-1841 clean up Internal API after rebase/merge
add 539a760 ISIS-1841 remove unnecessary null-check + simplify
add 17b86dc ISIS-1841 remove unused import
add 9b129d9 ISIS-1744 updating DN versions
add 50b3d27 ISIS-1756 backporting proper life-cycling from jax-rs-2 branch
new f9f9031 ISIS-1756 JEE 7+ Isis App life-cycling
new 932602f ISIS-1756 - fix typo
new 18ca140 ISIS-1779 introduce resteasy legacy layer
new b268520 ISIS-1779 remove helper no longer needed
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (5aab42f)
\
N -- N -- N refs/heads/ISIS-1779-jax-rs-2 (b268520)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 4 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:
.../services/repository/RepositoryService.java | 47 -------------------
...ryService.java => RepositoryServiceLegacy.java} | 33 ++++---------
.../RepositoryServiceInternalDefault.java | 54 ----------------------
...=> RepositoryServiceLegacyInternalDefault.java} | 34 ++++----------
4 files changed, 18 insertions(+), 150 deletions(-)
copy core/applib/src/main/java/org/apache/isis/applib/services/repository/{RepositoryService.java => RepositoryServiceLegacy.java} (90%)
copy core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/{RepositoryServiceInternalDefault.java => RepositoryServiceLegacyInternalDefault.java} (91%)
--
To stop receiving notification emails like this one, please contact
ahuber@apache.org.
[isis] 04/04: ISIS-1779 remove helper no longer needed
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch ISIS-1779-jax-rs-2
in repository https://gitbox.apache.org/repos/asf/isis.git
commit b268520ecd37b58ef60a2df1388968db159cf72d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Feb 21 10:38:36 2018 +0100
ISIS-1779 remove helper no longer needed
---
.../webapp/jee/IsisDomainAppLifecycleBean.java | 61 ----------------------
1 file changed, 61 deletions(-)
diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/jee/IsisDomainAppLifecycleBean.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/jee/IsisDomainAppLifecycleBean.java
deleted file mode 100644
index 416b11f..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/webapp/jee/IsisDomainAppLifecycleBean.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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.isis.core.webapp.jee;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.ejb.Singleton;
-import javax.ejb.Startup;
-import javax.enterprise.context.ApplicationScoped;
-
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- *
- * JEE singleton that hooks into an Isis-Application's life-cycle.
- *
- * <p>
- * This CDI managed Bean ensures proper destruction of Isis's context.
- * </p>
- *
- * @author ahuber@apache.org
- *
- */
-@Singleton
-@Startup
-@ApplicationScoped
-public class IsisDomainAppLifecycleBean {
-
- private static final Logger log = LoggerFactory.getLogger(IsisDomainAppLifecycleBean.class);
-
- @PostConstruct
- public void init() {
- log.info("initializing ...");
- }
-
- @PreDestroy
- public void destroy() {
- IsisContext.destroy();
- log.info("destroyed.");
- }
-
-}
--
To stop receiving notification emails like this one, please contact
ahuber@apache.org.
[isis] 02/04: ISIS-1756 - fix typo
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch ISIS-1779-jax-rs-2
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 932602f250ce72c7a9c1fab2cae6ae6d9c55aa81
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Oct 29 10:25:52 2017 +0100
ISIS-1756 - fix typo
---
.../org/apache/isis/core/webapp/jee/IsisDomainAppLifecycleBean.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/jee/IsisDomainAppLifecycleBean.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/jee/IsisDomainAppLifecycleBean.java
index 07881e3..416b11f 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/webapp/jee/IsisDomainAppLifecycleBean.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/jee/IsisDomainAppLifecycleBean.java
@@ -55,7 +55,7 @@ public class IsisDomainAppLifecycleBean {
@PreDestroy
public void destroy() {
IsisContext.destroy();
- log.info("detroyed.");
+ log.info("destroyed.");
}
}
--
To stop receiving notification emails like this one, please contact
ahuber@apache.org.
[isis] 01/04: ISIS-1756 JEE 7+ Isis App life-cycling
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch ISIS-1779-jax-rs-2
in repository https://gitbox.apache.org/repos/asf/isis.git
commit f9f9031422938aedad90b0babe3e2fe7ff43f399
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Oct 29 09:29:38 2017 +0100
ISIS-1756 JEE 7+ Isis App life-cycling
---
.../webapp/jee/IsisDomainAppLifecycleBean.java | 61 ++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/jee/IsisDomainAppLifecycleBean.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/jee/IsisDomainAppLifecycleBean.java
new file mode 100644
index 0000000..07881e3
--- /dev/null
+++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/jee/IsisDomainAppLifecycleBean.java
@@ -0,0 +1,61 @@
+/*
+ * 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.isis.core.webapp.jee;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.ejb.Singleton;
+import javax.ejb.Startup;
+import javax.enterprise.context.ApplicationScoped;
+
+import org.apache.isis.core.runtime.system.context.IsisContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ *
+ * JEE singleton that hooks into an Isis-Application's life-cycle.
+ *
+ * <p>
+ * This CDI managed Bean ensures proper destruction of Isis's context.
+ * </p>
+ *
+ * @author ahuber@apache.org
+ *
+ */
+@Singleton
+@Startup
+@ApplicationScoped
+public class IsisDomainAppLifecycleBean {
+
+ private static final Logger log = LoggerFactory.getLogger(IsisDomainAppLifecycleBean.class);
+
+ @PostConstruct
+ public void init() {
+ log.info("initializing ...");
+ }
+
+ @PreDestroy
+ public void destroy() {
+ IsisContext.destroy();
+ log.info("detroyed.");
+ }
+
+}
--
To stop receiving notification emails like this one, please contact
ahuber@apache.org.
[isis] 03/04: ISIS-1779 introduce resteasy legacy layer
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch ISIS-1779-jax-rs-2
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 18ca140e0d060c69b56763e72a964b42e8a676bc
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Feb 20 09:00:02 2018 +0100
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
---
core/applib/pom.xml | 9 +-
core/pom.xml | 17 +++
.../apache/isis/viewer/legacy/ClientExecutor.java | 121 +++++++++++++++++++++
.../ClientRequest.java} | 34 +++---
.../ClientRequestFactory.java} | 43 ++++----
.../apache/isis/viewer/legacy/RestEasyLegacy.java | 87 +++++++++++++++
.../restfulobjects/applib/LinkRepresentation.java | 3 +-
.../restfulobjects/applib/RestfulHttpMethod.java | 2 +-
.../applib/client/ClientRequestConfigurer.java | 15 +--
.../applib/client/RestfulClient.java | 32 ++----
.../applib/client/RestfulRequest.java | 10 +-
.../applib/domainobjects/DomainObjectResource.java | 30 +++--
.../domainobjects/DomainServiceResource.java | 14 +--
.../applib/domaintypes/DomainTypeResource.java | 19 ++--
.../applib/homepage/HomePageResource.java | 12 +-
.../restfulobjects/applib/user/UserResource.java | 6 +-
.../restfulobjects/applib/util/JsonMapper.java | 6 +-
.../applib/version/VersionResource.java | 3 +-
.../conneg/IsisPrettyPrintingProcessor.java | 2 +-
.../PreProcessInterceptorForIsisSession.java | 14 ++-
20 files changed, 351 insertions(+), 128 deletions(-)
diff --git a/core/applib/pom.xml b/core/applib/pom.xml
index 7fa9feb..8a37233 100644
--- a/core/applib/pom.xml
+++ b/core/applib/pom.xml
@@ -79,10 +79,17 @@
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jcdi_1.0_spec</artifactId>
</dependency>
+
+ <!-- replaced since Isis 2.0.0 by org.jboss.resteasy:jaxrs-api
<dependency>
<groupId>org.jboss.spec.javax.ws.rs</groupId>
<artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
- </dependency>
+ </dependency> -->
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>jaxrs-api</artifactId>
+ </dependency>
+
<dependency>
<groupId>org.axonframework</groupId>
diff --git a/core/pom.xml b/core/pom.xml
index 3533f66..4a14d62 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -141,6 +141,12 @@
<log4jdbc-remix.version>0.2.7</log4jdbc-remix.version>
<resteasy-jaxrs.version>3.0.24.Final</resteasy-jaxrs.version>
+ <!-- for JEE 7 JAX-RS API 2.0 -->
+ <!-- <resteasy-jaxrs.version>3.1.4.Final</resteasy-jaxrs.version> -->
+
+ <!-- for JEE 8 JAX-RS API 2.1 -->
+ <resteasy-jaxrs.version>4.0.0.Beta1</resteasy-jaxrs.version>
+
<jetty.version>9.4.3.v20170317</jetty.version>
<wicket.version>7.9.0</wicket.version>
@@ -185,7 +191,11 @@
<javax-mail.version>1.4.7</javax-mail.version>
+ <!-- replaced since Isis 2.0.0 by jboss-jaxrs-api
<jboss-jaxrs-api_2.0_spec.version>1.0.0.Final</jboss-jaxrs-api_2.0_spec.version>
+ -->
+ <jboss-jaxrs-api.version>3.0.12.Final</jboss-jaxrs-api.version>
+
</properties>
<scm>
@@ -2017,11 +2027,18 @@ ${license.additional-notes}
<version>${geronimo-jcdi_1.0_spec.version}</version>
</dependency>
+ <!-- replaced since Isis 2.0.0 by org.jboss.resteasy:jaxrs-api
<dependency>
<groupId>org.jboss.spec.javax.ws.rs</groupId>
<artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
<version>${jboss-jaxrs-api_2.0_spec.version}</version>
</dependency>
+ -->
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>jaxrs-api</artifactId>
+ <version>${jboss-jaxrs-api.version}</version>
+ </dependency>
<!-- javax APIs -->
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientExecutor.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientExecutor.java
new file mode 100644
index 0000000..2f18caa
--- /dev/null
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientExecutor.java
@@ -0,0 +1,121 @@
+/*
+ * 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.isis.viewer.legacy;
+
+import java.net.URI;
+import java.util.AbstractMap;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.client.Invocation.Builder;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriBuilder;
+
+/**
+ * Compatibility layer, legacy of deprecated resteasy client API.
+ *
+ */
+public interface ClientExecutor {
+
+ ClientRequest createRequest(UriBuilder uriBuilder);
+ WebTarget webTarget(URI baseUri);
+
+ static ClientExecutor of(final Client client) {
+ return new ClientExecutor() {
+
+ @Override
+ public ClientRequest createRequest(UriBuilder uriBuilder) {
+
+ return new ClientRequest() {
+
+ final WebTarget target = client.target(uriBuilder);
+
+ final List<MediaType> accept = new ArrayList<>();
+ final List<Map.Entry<String, String>> header = new ArrayList<>();
+
+ private Entity<String> payload;
+
+ // TODO [andi-huber] just a wild guess
+ private String method = "get";
+
+ @Override
+ public String getHttpMethod() {
+ return method;
+ }
+
+ @Override
+ public void setHttpMethod(String method) {
+ this.method = method;
+ }
+
+ @Override
+ public void accept(MediaType mediaType) {
+ accept.add(mediaType);
+ }
+
+ @Override
+ public void header(String headerName, String value) {
+ header.add(new AbstractMap.SimpleEntry<String, String>(headerName, value));
+ }
+
+ @Override
+ public void addQueryParameter(String param, String arg) {
+ target.queryParam(param, arg);
+ }
+
+ @Override
+ public void jsonPayload(String jsonString) {
+ payload = Entity.json(jsonString);
+ }
+
+ @Override
+ public Response execute() {
+ final Builder builder = target.request();
+
+ accept.stream()
+ .forEach(builder::accept);
+ header.stream()
+ .forEach(e->builder.header(e.getKey(), e.getValue()));
+
+ final Invocation invocation = payload==null
+ ? builder.build(method)
+ : builder.build(method, payload);
+
+ return invocation.invoke();
+ }
+
+ };
+ }
+
+ @Override
+ public WebTarget webTarget(URI baseUri) {
+ return client.target(baseUri);
+ }
+
+ };
+ }
+
+
+}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequest.java
similarity index 59%
copy from core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
copy to core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequest.java
index 535fc72..3fe5886 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequest.java
@@ -16,30 +16,28 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.viewer.restfulobjects.applib.version;
+package org.apache.isis.viewer.legacy;
-import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
-import org.jboss.resteasy.annotations.ClientResponseType;
-
-@Path("/version")
-public interface VersionResource {
+/**
+ * Compatibility layer, legacy of deprecated resteasy client API.
+ *
+ */
+public interface ClientRequest {
- @GET
- @Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_VERSION })
- @ClientResponseType(entityType = String.class)
- public Response version();
+ void accept(MediaType mediaType);
- @DELETE
- public Response deleteVersionNotAllowed();
+ void header(String headerName, String value);
- @PUT
- public Response putVersionNotAllowed();
+ void setHttpMethod(String httpMethod);
+ String getHttpMethod();
+
+ void addQueryParameter(String param, String arg);
+
+ void jsonPayload(String jsonString);
- @POST
- public Response postVersionNotAllowed();
+ Response execute();
-}
\ No newline at end of file
+}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequestFactory.java
similarity index 55%
copy from core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
copy to core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequestFactory.java
index 535fc72..2830622 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequestFactory.java
@@ -16,30 +16,35 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.viewer.restfulobjects.applib.version;
+package org.apache.isis.viewer.legacy;
-import javax.ws.rs.*;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import java.net.URI;
-import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
-import org.jboss.resteasy.annotations.ClientResponseType;
+/**
+ * Compatibility layer, legacy of deprecated resteasy client API.
+ *
+ */
+public interface ClientRequestFactory {
-@Path("/version")
-public interface VersionResource {
+ <T> T createProxy(Class<T> clazz);
- @GET
- @Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_VERSION })
- @ClientResponseType(entityType = String.class)
- public Response version();
+ URI getBase();
- @DELETE
- public Response deleteVersionNotAllowed();
+ static ClientRequestFactory of(final ClientExecutor clientExecutor, final URI baseUri) {
+
+ return new ClientRequestFactory() {
- @PUT
- public Response putVersionNotAllowed();
+ @Override
+ public <T> T createProxy(Class<T> clazz) {
+ return RestEasyLegacy.proxy(clientExecutor.webTarget(baseUri), clazz);
+ }
- @POST
- public Response postVersionNotAllowed();
+ @Override
+ public URI getBase() {
+ return baseUri;
+ }
+
+ };
+ }
-}
\ No newline at end of file
+}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/RestEasyLegacy.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/RestEasyLegacy.java
new file mode 100644
index 0000000..a9cd4b6
--- /dev/null
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/RestEasyLegacy.java
@@ -0,0 +1,87 @@
+/*
+ * 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.isis.viewer.legacy;
+
+import java.lang.reflect.Method;
+
+import javax.ws.rs.NotSupportedException;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.Response;
+
+/**
+ * Compatibility layer, legacy of deprecated resteasy client API.
+ *
+ */
+public class RestEasyLegacy {
+
+ public static String getEntityAsStringFrom(Response response) {
+
+ final Object result = response.getEntity();
+
+ if(result == null)
+ return null;
+
+ if(result instanceof String) {
+ return (String) result;
+ }
+
+ // TODO [andi-huber] just a wild guess
+ return response.readEntity(String.class);
+
+ // legacy code ...
+ // final ClientResponse<?> clientResponse = (ClientResponse<?>) response;
+ // return clientResponse.getEntity(String.class);
+ }
+
+ public static void setReturnTypeToString(Response response) {
+
+ // TODO [andi-huber] why is this needed at all?
+
+ // legacy code ...
+ // final BaseClientResponse<String> restEasyResponse = (BaseClientResponse<String>) response;
+ // restEasyResponse.setReturnType(String.class);
+
+ System.err.println("WARN RestEasyLegacy - setReturnTypeToString(Response) not implemented!");
+
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> T proxy(WebTarget webTarget, Class<T> clazz) {
+
+ // legacy of
+ // final org.jboss.resteasy.client.jaxrs.ResteasyWebTarget target =
+ // (org.jboss.resteasy.client.jaxrs.ResteasyWebTarget) webTarget;
+ // return target.proxy(clazz);
+
+ try {
+ // [andi-huber] resort to reflection, since we wan't to get rid of resteasy legacy
+ // first step is to remove compile time dependencies
+
+ final Method proxyMethod =
+ webTarget.getClass().getMethod("proxy", new Class<?>[]{Class.class});
+ return (T) proxyMethod.invoke(webTarget, clazz);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ throw new NotSupportedException("proxy not supported by this JAX-RS implementation");
+
+ }
+
+}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/LinkRepresentation.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/LinkRepresentation.java
index a883fe6..3b4d691 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/LinkRepresentation.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/LinkRepresentation.java
@@ -23,10 +23,11 @@ import javax.ws.rs.core.MediaType;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.apache.isis.viewer.legacy.ClientExecutor;
import org.apache.isis.viewer.restfulobjects.applib.client.ClientRequestConfigurer;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulRequest;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse;
-import org.jboss.resteasy.client.ClientExecutor;
public final class LinkRepresentation extends JsonRepresentation {
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/RestfulHttpMethod.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/RestfulHttpMethod.java
index 6819e7b..b7055b2 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/RestfulHttpMethod.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/RestfulHttpMethod.java
@@ -18,8 +18,8 @@
*/
package org.apache.isis.viewer.restfulobjects.applib;
+import org.apache.isis.viewer.legacy.ClientRequest;
import org.apache.isis.viewer.restfulobjects.applib.client.ClientRequestConfigurer;
-import org.jboss.resteasy.client.ClientRequest;
public enum RestfulHttpMethod {
GET(javax.ws.rs.HttpMethod.GET, ArgStrategy.QUERY_STRING),
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java
index 61b9240..b98f8f0 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java
@@ -21,16 +21,15 @@ package org.apache.isis.viewer.restfulobjects.applib.client;
import java.util.Map;
import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.UriBuilder;
+import org.apache.isis.viewer.legacy.ClientExecutor;
+import org.apache.isis.viewer.legacy.ClientRequest;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.LinkRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.RestfulHttpMethod;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulRequest.RequestParameter;
import org.apache.isis.viewer.restfulobjects.applib.util.UrlEncodingUtils;
-import org.jboss.resteasy.client.ClientExecutor;
-import org.jboss.resteasy.client.ClientRequest;
import org.jboss.resteasy.specimpl.ResteasyUriBuilder;
/**
@@ -45,7 +44,10 @@ import org.jboss.resteasy.specimpl.ResteasyUriBuilder;
*/
public class ClientRequestConfigurer {
- public static ClientRequestConfigurer create(final ClientExecutor executor, final String uriTemplate) {
+ public static ClientRequestConfigurer create(
+ final ClientExecutor executor,
+ final String uriTemplate)
+ {
final UriBuilder uriBuilder = new ResteasyUriBuilder().uriTemplate(uriTemplate);
final ClientRequest clientRequest = executor.createRequest(uriBuilder);
return new ClientRequestConfigurer(clientRequest, uriBuilder);
@@ -127,7 +129,7 @@ public class ClientRequestConfigurer {
* {@link RestfulHttpMethod#setUpArgs(ClientRequestConfigurer, JsonRepresentation)}
*/
public ClientRequestConfigurer body(final JsonRepresentation requestArgs) {
- clientRequest.body(MediaType.APPLICATION_JSON_TYPE, requestArgs.toString());
+ clientRequest.jsonPayload(requestArgs.toString());
return this;
}
@@ -149,12 +151,11 @@ public class ClientRequestConfigurer {
* {@link RestfulHttpMethod#setUpArgs(ClientRequestConfigurer, JsonRepresentation)}
*/
public ClientRequestConfigurer queryArgs(final JsonRepresentation requestArgs) {
- final MultivaluedMap<String, String> queryParameters = clientRequest.getQueryParameters();
for (final Map.Entry<String, JsonRepresentation> entry : requestArgs.mapIterable()) {
final String param = entry.getKey();
final JsonRepresentation argRepr = entry.getValue();
final String arg = UrlEncodingUtils.urlEncode(argRepr.asArg());
- queryParameters.add(param, arg);
+ clientRequest.addQueryParameter(param, arg);
}
return this;
}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulClient.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulClient.java
index 90b3a1f..ee5985f 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulClient.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulClient.java
@@ -20,17 +20,13 @@ package org.apache.isis.viewer.restfulobjects.applib.client;
import java.net.URI;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.http.client.HttpClient;
-import org.apache.http.conn.ClientConnectionManager;
-import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
-import org.jboss.resteasy.client.ClientExecutor;
-import org.jboss.resteasy.client.ClientRequestFactory;
-import org.jboss.resteasy.client.core.executors.ApacheHttpClient4Executor;
-
+import org.apache.isis.viewer.legacy.ClientExecutor;
+import org.apache.isis.viewer.legacy.ClientRequestFactory;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.LinkRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.RestfulHttpMethod;
@@ -55,25 +51,17 @@ public class RestfulClient {
/**
- * Using {@link ApacheHttpClient4Executor} and {@link DefaultHttpClient}.
+ * Using {@link javax.ws.rs.client.Client}.
*/
public RestfulClient(final URI baseUri) {
- this(baseUri, new ThreadSafeClientConnManager());
- }
-
- /**
- * Using {@link ApacheHttpClient4Executor} and {@link DefaultHttpClient}.
- */
- public RestfulClient(final URI baseUri, ClientConnectionManager clientConnectionManager) {
- this(baseUri, new DefaultHttpClient(clientConnectionManager));
+ this(baseUri, ClientBuilder.newClient());
}
-
/**
- * Using {@link ApacheHttpClient4Executor} and specified {@link HttpClient}.
+ * Using {@link javax.ws.rs.client.Client}.
*/
- public RestfulClient(final URI baseUri, HttpClient client) {
- this(baseUri, new ApacheHttpClient4Executor(client));
+ public RestfulClient(final URI baseUri, Client client) {
+ this(baseUri, ClientExecutor.of(client));
}
/**
@@ -81,7 +69,7 @@ public class RestfulClient {
*/
public RestfulClient(final URI baseUri, final ClientExecutor clientExecutor) {
this.executor = clientExecutor;
- this.clientRequestFactory = new ClientRequestFactory(clientExecutor, baseUri);
+ this.clientRequestFactory = ClientRequestFactory.of(clientExecutor, baseUri);
this.homePageResource = clientRequestFactory.createProxy(HomePageResource.class);
this.userResource = clientRequestFactory.createProxy(UserResource.class);
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulRequest.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulRequest.java
index 77e0ac2..fbdbd5a 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulRequest.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulRequest.java
@@ -25,8 +25,9 @@ import java.util.Map;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.google.common.collect.Maps;
-import org.jboss.resteasy.client.ClientRequest;
-import org.jboss.resteasy.client.core.BaseClientResponse;
+
+import org.apache.isis.viewer.legacy.ClientRequest;
+import org.apache.isis.viewer.legacy.RestEasyLegacy;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.util.Parser;
@@ -173,10 +174,7 @@ public final class RestfulRequest {
final ClientRequest clientRequest = clientRequestConfigurer.getClientRequest();
final Response response = clientRequest.execute();
- // this is a bit hacky
- @SuppressWarnings("unchecked")
- final BaseClientResponse<String> restEasyResponse = (BaseClientResponse<String>) response;
- restEasyResponse.setReturnType(String.class);
+ RestEasyLegacy.setReturnTypeToString(response);
return RestfulResponse.ofT(response);
} catch (final Exception ex) {
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainObjectResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainObjectResource.java
index aa29ef7..625e046 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainObjectResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainObjectResource.java
@@ -32,8 +32,6 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.jboss.resteasy.annotations.ClientResponseType;
-
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
@Path("/objects")
@@ -46,7 +44,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response persist(@PathParam("domainType") String domainType, final InputStream object);
// //////////////////////////////////////////////////////////
@@ -60,7 +58,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response object(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId);
@PUT
@@ -70,7 +68,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response object(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, final InputStream arguments);
@DELETE
@@ -111,7 +109,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response propertyDetails(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("propertyId") final String propertyId);
@PUT
@@ -121,7 +119,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response modifyProperty(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("propertyId") final String propertyId, final InputStream arguments);
@DELETE
@@ -131,7 +129,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response clearProperty(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("propertyId") final String propertyId);
@POST
@@ -150,7 +148,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response accessCollection(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("collectionId") final String collectionId);
@PUT
@@ -160,7 +158,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response addToSet(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("collectionId") final String collectionId, final InputStream arguments);
@POST
@@ -170,7 +168,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response addToList(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("collectionId") final String collectionId, final InputStream arguments);
@DELETE
@@ -180,7 +178,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response removeFromCollection(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("collectionId") final String collectionId);
// //////////////////////////////////////////////////////////
@@ -194,7 +192,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_ACTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_ACTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response actionPrompt(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("actionId") final String actionId);
@DELETE
@@ -220,7 +218,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response invokeActionQueryOnly(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("actionId") final String actionId, @QueryParam("x-isis-querystring") final String xIsisQueryString);
@PUT
@@ -230,7 +228,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response invokeActionIdempotent(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("actionId") final String actionId, final InputStream arguments);
@POST
@@ -240,7 +238,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response invokeAction(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("actionId") final String actionId, final InputStream arguments);
@DELETE
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainServiceResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainServiceResource.java
index c11cdb7..ce29d1e 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainServiceResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainServiceResource.java
@@ -32,8 +32,6 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.jboss.resteasy.annotations.ClientResponseType;
-
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
@Path("/services")
@@ -42,7 +40,7 @@ public interface DomainServiceResource {
@GET
@Path("/")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_LIST, RestfulMediaType.APPLICATION_JSON_ERROR })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response services();
@DELETE
@@ -67,7 +65,7 @@ public interface DomainServiceResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response service(@PathParam("serviceId") final String serviceId);
@DELETE
@@ -94,7 +92,7 @@ public interface DomainServiceResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_ACTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_ACTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response actionPrompt(@PathParam("serviceId") final String serviceId, @PathParam("actionId") final String actionId);
@DELETE
@@ -127,7 +125,7 @@ public interface DomainServiceResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response invokeActionQueryOnly(@PathParam("serviceId") final String serviceId, @PathParam("actionId") final String actionId, @QueryParam("x-isis-querystring") final String xIsisQueryString);
@PUT
@@ -137,7 +135,7 @@ public interface DomainServiceResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response invokeActionIdempotent(@PathParam("serviceId") final String serviceId, @PathParam("actionId") final String actionId, final InputStream arguments);
@POST
@@ -147,7 +145,7 @@ public interface DomainServiceResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response invokeAction(@PathParam("serviceId") final String serviceId, @PathParam("actionId") final String actionId, final InputStream arguments);
@DELETE
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domaintypes/DomainTypeResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domaintypes/DomainTypeResource.java
index fde2a14..b7f33ad 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domaintypes/DomainTypeResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domaintypes/DomainTypeResource.java
@@ -26,8 +26,6 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.jboss.resteasy.annotations.ClientResponseType;
-
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
@Path("/domain-types")
@@ -40,7 +38,7 @@ public interface DomainTypeResource {
@GET
@Path("/")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_TYPE_LIST })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public abstract Response domainTypes();
// /////////////////////////////////////////////////////
@@ -50,7 +48,7 @@ public interface DomainTypeResource {
@GET
@Path("/{domainType}")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_DOMAIN_TYPE })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public abstract Response domainType(@PathParam("domainType") final String domainType);
@GET
@@ -59,30 +57,31 @@ public interface DomainTypeResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_LAYOUT_BS3,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_LAYOUT_BS3
})
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public abstract Response layout(@PathParam("domainType") final String domainType);
@GET
@Path("/{domainType}/properties/{propertyId}")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_PROPERTY_DESCRIPTION })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public abstract Response typeProperty(@PathParam("domainType") final String domainType, @PathParam("propertyId") final String propertyId);
@GET
@Path("/{domainType}/collections/{collectionId}")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_COLLECTION_DESCRIPTION })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public abstract Response typeCollection(@PathParam("domainType") final String domainType, @PathParam("collectionId") final String collectionId);
@GET
@Path("/{domainType}/actions/{actionId}")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_DESCRIPTION })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public abstract Response typeAction(@PathParam("domainType") final String domainType, @PathParam("actionId") final String actionId);
@GET
@Path("/{domainType}/actions/{actionId}/params/{paramNum}")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_PARAMETER_DESCRIPTION })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public abstract Response typeActionParam(@PathParam("domainType") final String domainType, @PathParam("actionId") final String actionId, @PathParam("paramNum") final String paramName);
// //////////////////////////////////////////////////////////
@@ -92,7 +91,7 @@ public interface DomainTypeResource {
@GET
@Path("/{domainType}/isSubtypeOf/invoke")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_TYPE_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public abstract Response domainTypeIsSubtypeOf(
@PathParam("domainType") final String domainType,
@QueryParam("supertype") String superType, // simple style
@@ -102,7 +101,7 @@ public interface DomainTypeResource {
@GET
@Path("/{domainType}/isSupertypeOf/invoke")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_TYPE_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public abstract Response domainTypeIsSupertypeOf(
@PathParam("domainType") final String domainType,
@QueryParam("supertype") String superType, // simple style
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/homepage/HomePageResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/homepage/HomePageResource.java
index 497ef69..80df521 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/homepage/HomePageResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/homepage/HomePageResource.java
@@ -18,19 +18,23 @@
*/
package org.apache.isis.viewer.restfulobjects.applib.homepage;
-import javax.ws.rs.*;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
-import org.jboss.resteasy.annotations.ClientResponseType;
@Path("/")
public interface HomePageResource {
@GET
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_HOME_PAGE })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response homePage();
@DELETE
@@ -49,7 +53,7 @@ public interface HomePageResource {
@GET
@Path("/notAuthenticated")
@Produces({ MediaType.APPLICATION_JSON })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response notAuthenticated();
}
\ No newline at end of file
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/user/UserResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/user/UserResource.java
index afcc179..f28b774 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/user/UserResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/user/UserResource.java
@@ -27,8 +27,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.jboss.resteasy.annotations.ClientResponseType;
-
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
@Path("/user")
@@ -36,7 +34,7 @@ public interface UserResource {
@GET
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_USER })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response user();
@DELETE
@@ -54,7 +52,7 @@ public interface UserResource {
@GET
@Path("/logout")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_HOME_PAGE })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response logout();
}
\ No newline at end of file
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/JsonMapper.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/JsonMapper.java
index 8e7179f..bb53752 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/JsonMapper.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/JsonMapper.java
@@ -38,7 +38,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.module.SimpleModule;
-import org.jboss.resteasy.client.ClientResponse;
+
+import org.apache.isis.viewer.legacy.RestEasyLegacy;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
public final class JsonMapper {
@@ -115,8 +116,7 @@ public final class JsonMapper {
}
public <T> T read(final Response response, final Class<T> requiredType) throws JsonParseException, JsonMappingException, IOException {
- final ClientResponse<?> clientResponse = (ClientResponse<?>) response; // a shame, but needed if calling resources directly.
- final String entity = clientResponse.getEntity(String.class);
+ final String entity = RestEasyLegacy.getEntityAsStringFrom(response);
if (entity == null) {
return null;
}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
index 535fc72..bb6cc50 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
@@ -23,14 +23,13 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
-import org.jboss.resteasy.annotations.ClientResponseType;
@Path("/version")
public interface VersionResource {
@GET
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_VERSION })
- @ClientResponseType(entityType = String.class)
+ //TODO deprecated @ClientResponseType(entityType = String.class)
public Response version();
@DELETE
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java
index d26c2e3..94140d1 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java
@@ -22,7 +22,7 @@ import javax.ws.rs.core.MediaType;
import javax.xml.bind.Marshaller;
import org.jboss.resteasy.annotations.DecorateTypes;
-import org.jboss.resteasy.spi.interception.DecoratorProcessor;
+import org.jboss.resteasy.spi.DecoratorProcessor;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/PreProcessInterceptorForIsisSession.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/PreProcessInterceptorForIsisSession.java
index 90b9ad6..da953f3 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/PreProcessInterceptorForIsisSession.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/PreProcessInterceptorForIsisSession.java
@@ -21,19 +21,23 @@ package org.apache.isis.viewer.restfulobjects.server.webapp;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.ext.Provider;
-import org.jboss.resteasy.annotations.interception.ServerInterceptor;
+//deprecated import org.jboss.resteasy.annotations.interception.ServerInterceptor;
import org.jboss.resteasy.core.ResourceMethodInvoker;
import org.jboss.resteasy.core.ServerResponse;
import org.jboss.resteasy.spi.Failure;
import org.jboss.resteasy.spi.HttpRequest;
-import org.jboss.resteasy.spi.interception.PreProcessInterceptor;
+//deprecated import org.jboss.resteasy.spi.interception.PreProcessInterceptor;
+
+//FIXME [ahuber] what to do?
@Provider
-@ServerInterceptor
-public class PreProcessInterceptorForIsisSession implements PreProcessInterceptor {
+//deprecated @ServerInterceptor
+public class PreProcessInterceptorForIsisSession //deprecated implements PreProcessInterceptor
+{
+ /* deprecated
@Override
public ServerResponse preProcess(HttpRequest httpRequest, ResourceMethodInvoker resourceMethodInvoker) throws Failure, WebApplicationException {
return null;
- }
+ }*/
}
--
To stop receiving notification emails like this one, please contact
ahuber@apache.org.