From: remillet Date: Thu, 16 Jul 2015 22:30:04 +0000 (-0700) Subject: CSPACE-6281: More changes to upgrade to RESTEasy 3.0.9 X-Git-Url: https://git.aero2k.de/?a=commitdiff_plain;h=439204a688d4c75fbc2a48b83d6d2887a6527e81;p=tmp%2Fjakarta-migration.git CSPACE-6281: More changes to upgrade to RESTEasy 3.0.9 --- diff --git a/pom.xml b/pom.xml index 065f6c596..bf5bd6e60 100644 --- a/pom.xml +++ b/pom.xml @@ -110,6 +110,7 @@ + nuxeo-public diff --git a/services/client/pom.xml b/services/client/pom.xml index f9bb6ec3f..80efbc41d 100644 --- a/services/client/pom.xml +++ b/services/client/pom.xml @@ -48,6 +48,15 @@ commons-io commons-io + + commons-httpclient + commons-httpclient + + + org.apache.httpcomponents + httpclient + 4.3.3 + org.jboss.resteasy resteasy-jaxrs diff --git a/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java b/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java index b9102852f..2b85244e7 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java +++ b/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java @@ -34,16 +34,15 @@ import javax.ws.rs.core.Response; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.apache.commons.httpclient.auth.AuthScope; //import org.collectionspace.services.collectionobject.CollectionobjectsCommonList; - +import org.apache.http.impl.client.DefaultHttpClient; import org.collectionspace.services.common.authorityref.AuthorityRefList; import org.collectionspace.services.jaxb.AbstractCommonList; - import org.jboss.resteasy.client.ClientResponse; //import org.collectionspace.services.common.context.ServiceContext; import org.jboss.resteasy.client.ProxyFactory; -import org.jboss.resteasy.client.core.executors.ApacheHttpClientExecutor; +import org.jboss.resteasy.client.core.executors.ApacheHttpClient4Executor; +//import org.jboss.resteasy.client.core.executors.ApacheHttpClientExecutor; import org.jboss.resteasy.plugins.providers.RegisterBuiltin; import org.jboss.resteasy.spi.ResteasyProviderFactory; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -75,6 +74,8 @@ public abstract class AbstractServiceClientImpl proxyClass = this.getProxyClass(); if (useAuth()) { proxy = ProxyFactory.create(proxyClass, - getBaseURL(), new ApacheHttpClientExecutor(getHttpClient())); + getBaseURL(), new ApacheHttpClient4Executor(getHttpClient4())); } else { proxy = ProxyFactory.create(proxyClass, getBaseURL()); @@ -397,6 +437,7 @@ public abstract class AbstractServiceClientImpl { */ // - public boolean allowAnonymousAccess(HttpRequest request, ResourceMethod method); + public boolean allowAnonymousAccess(HttpRequest request, Method method); } diff --git a/services/common/src/main/java/org/collectionspace/services/common/publicitem/PublicItemResource.java b/services/common/src/main/java/org/collectionspace/services/common/publicitem/PublicItemResource.java index cac53c19d..f105b0c11 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/publicitem/PublicItemResource.java +++ b/services/common/src/main/java/org/collectionspace/services/common/publicitem/PublicItemResource.java @@ -24,6 +24,7 @@ package org.collectionspace.services.common.publicitem; import java.io.InputStream; +import java.lang.reflect.Method; import org.collectionspace.authentication.spi.AuthNContext; import org.collectionspace.services.publicitem.PublicitemsCommon; @@ -35,9 +36,9 @@ import org.collectionspace.services.common.ServiceMessages; import org.collectionspace.services.common.blob.BlobOutput; import org.collectionspace.services.common.context.RemoteServiceContext; import org.collectionspace.services.common.imaging.nuxeo.NuxeoBlobUtils; -import org.jboss.resteasy.core.ResourceMethod; +//import org.jboss.resteasy.core.ResourceMethod; import org.jboss.resteasy.spi.HttpRequest; - +import org.jboss.resteasy.spi.metadata.ResourceMethod; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -76,7 +77,7 @@ public class PublicItemResource extends NuxeoBasedResource { @Override public boolean allowAnonymousAccess(HttpRequest request, - ResourceMethod method) { + Method method) { return true; } diff --git a/services/common/src/main/java/org/collectionspace/services/common/security/SecurityInterceptor.java b/services/common/src/main/java/org/collectionspace/services/common/security/SecurityInterceptor.java index d244a17a9..2f1659592 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/security/SecurityInterceptor.java +++ b/services/common/src/main/java/org/collectionspace/services/common/security/SecurityInterceptor.java @@ -27,11 +27,13 @@ */ package org.collectionspace.services.common.security; +import java.lang.reflect.Method; import java.security.Principal; import java.util.HashMap; import java.util.Set; -import org.jboss.resteasy.core.ResourceMethod; +//import org.jboss.resteasy.core.ResourceMethod; +import org.jboss.resteasy.core.ResourceMethodInvoker; import org.jboss.resteasy.core.ServerResponse; import org.jboss.resteasy.spi.interception.PostProcessInterceptor; import org.jboss.resteasy.spi.interception.PreProcessInterceptor; @@ -39,7 +41,6 @@ import org.jboss.resteasy.annotations.interception.SecurityPrecedence; import org.jboss.resteasy.annotations.interception.ServerInterceptor; import org.jboss.resteasy.spi.Failure; import org.jboss.resteasy.spi.HttpRequest; - import org.nuxeo.runtime.api.Framework; import javax.security.auth.Subject; @@ -58,7 +59,6 @@ import org.collectionspace.services.common.CollectionSpaceResource; import org.collectionspace.services.common.document.JaxbUtils; import org.collectionspace.services.common.storage.jpa.JpaStorageUtils; import org.collectionspace.services.common.security.SecurityUtils; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -89,10 +89,10 @@ public class SecurityInterceptor implements PreProcessInterceptor, PostProcessIn private static final String ERROR_NUXEO_LOGOUT = "Attempt to logout when Nuxeo login context was null"; private static final String ERROR_UNBALANCED_LOGINS = "The number of Logins vs Logouts to the Nuxeo framework was unbalanced."; - private boolean isAnonymousRequest(HttpRequest request, ResourceMethod resourceMethod) { + private boolean isAnonymousRequest(HttpRequest request, Method resourceMethod) { boolean result = false; - Class resourceClass = resourceMethod.getResourceClass(); + Class resourceClass = resourceMethod.getClass(); try { CollectionSpaceResource resourceInstance = (CollectionSpaceResource)resourceClass.newInstance(); result = resourceInstance.allowAnonymousAccess(request, resourceMethod); @@ -109,9 +109,10 @@ public class SecurityInterceptor implements PreProcessInterceptor, PostProcessIn * @see org.jboss.resteasy.spi.interception.PreProcessInterceptor#preProcess(org.jboss.resteasy.spi.HttpRequest, org.jboss.resteasy.core.ResourceMethod) */ @Override - public ServerResponse preProcess(HttpRequest request, ResourceMethod resourceMethod) + public ServerResponse preProcess(HttpRequest request, ResourceMethodInvoker resourceMethodInvoker) throws Failure, CSWebApplicationException { ServerResponse result = null; // A null value essentially means success for this method + Method resourceMethod = resourceMethodInvoker.getMethod(); try { if (isAnonymousRequest(request, resourceMethod) == true) { @@ -268,7 +269,7 @@ public class SecurityInterceptor implements PreProcessInterceptor, PostProcessIn // // Nuxeo login support // - public ServerResponse nuxeoPreProcess(HttpRequest request, ResourceMethod resourceMethod) + public ServerResponse nuxeoPreProcess(HttpRequest request, Method resourceMethod) throws Failure, CSWebApplicationException { try { nuxeoLogin(); diff --git a/services/pom.xml b/services/pom.xml index 92f195f95..d62e7c05a 100644 --- a/services/pom.xml +++ b/services/pom.xml @@ -16,6 +16,7 @@ 0.6.2 0.12.3 2.2.4-1 + 3.0.9.Final 5.1.8 9.1-901.jdbc4 @@ -334,22 +335,22 @@ org.jboss.resteasy jaxrs-api - 2.2.2.GA + ${resteasy.version} org.jboss.resteasy resteasy-jaxrs - 2.2.2.GA + ${resteasy.version} org.jboss.resteasy resteasy-jaxb-provider - 2.2.2.GA + ${resteasy.version} org.jboss.resteasy resteasy-multipart-provider - 2.2.2.GA + ${resteasy.version} commons-httpclient