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 3d7b6fd96c88945651ce039015c4af04e124441a Author: Andi Huber <[email protected]> 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 1c5158b..6b90ac7 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -140,6 +140,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> @@ -184,7 +190,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> @@ -2012,11 +2022,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 [email protected].
