Juan Hernandez has uploaded a new change for review. Change subject: restapi: Adapt to RESTEasy 3.x ......................................................................
restapi: Adapt to RESTEasy 3.x Change-Id: I0e44743d24e6125d17af29d2d92642fd85d7c88d Signed-off-by: Juan Hernandez <juan.hernan...@redhat.com> --- M backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/security/auth/Challenger.java M backend/manager/modules/restapi/interface/common/jaxrs/src/test/java/org/ovirt/engine/api/common/security/auth/ChallengerTest.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/logging/RequestVerbLogger.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/ResourceHelper.java M backend/manager/modules/restapi/pom.xml 5 files changed, 35 insertions(+), 21 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/13/21413/1 diff --git a/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/security/auth/Challenger.java b/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/security/auth/Challenger.java index 119ef03..25a9925 100644 --- a/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/security/auth/Challenger.java +++ b/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/security/auth/Challenger.java @@ -27,7 +27,7 @@ import org.jboss.resteasy.annotations.interception.Precedence; import org.jboss.resteasy.annotations.interception.ServerInterceptor; -import org.jboss.resteasy.core.ResourceMethod; +import org.jboss.resteasy.core.ResourceMethodInvoker; import org.jboss.resteasy.core.ServerResponse; import org.jboss.resteasy.spi.Failure; import org.jboss.resteasy.spi.HttpRequest; @@ -85,7 +85,7 @@ } @Override - public ServerResponse preProcess(HttpRequest request, ResourceMethod method) throws Failure, WebApplicationException { + public ServerResponse preProcess(HttpRequest request, ResourceMethodInvoker method) throws Failure, WebApplicationException { HttpSession httpSession = null; ServerResponse response = null; @@ -260,6 +260,20 @@ * Helper method to copy the challenge response */ private ServerResponse challenge() { - return ServerResponse.copyIfNotServerResponse(getChallenge()); + // This method has been removed in Resteasy 3.x: + // return ServerResponse.copyIfNotServerResponse(getChallenge()); + + // So we have to do the same manually (copied from the Resteasy 2.x code): + Response response = getChallenge(); + if (response instanceof ServerResponse) { + return (ServerResponse) response; + } + ServerResponse serverResponse = new ServerResponse(); + serverResponse.setEntity(response.getEntity()); + serverResponse.setStatus(response.getStatus()); + if (response.getMetadata() != null) { + serverResponse.getMetadata().putAll(response.getMetadata()); + } + return serverResponse; } } diff --git a/backend/manager/modules/restapi/interface/common/jaxrs/src/test/java/org/ovirt/engine/api/common/security/auth/ChallengerTest.java b/backend/manager/modules/restapi/interface/common/jaxrs/src/test/java/org/ovirt/engine/api/common/security/auth/ChallengerTest.java index 4f69296..449f4ca 100644 --- a/backend/manager/modules/restapi/interface/common/jaxrs/src/test/java/org/ovirt/engine/api/common/security/auth/ChallengerTest.java +++ b/backend/manager/modules/restapi/interface/common/jaxrs/src/test/java/org/ovirt/engine/api/common/security/auth/ChallengerTest.java @@ -33,7 +33,7 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.doReturn; -import org.jboss.resteasy.core.ResourceMethod; +import org.jboss.resteasy.core.ResourceMethodInvoker; import org.jboss.resteasy.core.ServerResponse; import org.jboss.resteasy.spi.HttpRequest; import org.junit.Before; @@ -68,7 +68,7 @@ public void testAuthHeaderPresent() { HttpSession httpSession = new TestHttpSession(sessionId, true); doReturn(httpSession).when(challenger).getCurrentSession(anyBoolean()); - ResourceMethod resource = control.createMock(ResourceMethod.class); + ResourceMethodInvoker resource = control.createMock(ResourceMethodInvoker.class); ServerResponse response = challenger.preProcess(setUpRequestExpectations(CREDENTIALS, false, false), resource); assertNull(response); control.verify(); @@ -78,7 +78,7 @@ public void testPreferHeaderPresent() { HttpSession httpSession = new TestHttpSession(sessionId, true); doReturn(httpSession).when(challenger).getCurrentSession(anyBoolean()); - ResourceMethod resource = control.createMock(ResourceMethod.class); + ResourceMethodInvoker resource = control.createMock(ResourceMethodInvoker.class); ServerResponse response = challenger.preProcess(setUpRequestExpectations(CREDENTIALS, true), resource); assertNull(response); control.verify(); @@ -88,7 +88,7 @@ public void testAuthHeaderMissing() { HttpSession httpSession = new TestHttpSession(sessionId, true); doReturn(httpSession).when(challenger).getCurrentSession(anyBoolean()); - ResourceMethod resource = control.createMock(ResourceMethod.class); + ResourceMethodInvoker resource = control.createMock(ResourceMethodInvoker.class); ServerResponse response = challenger.preProcess(setUpRequestExpectations(null, false, false), resource); assertNotNull(response); assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus()); @@ -100,7 +100,7 @@ HttpSession httpSession = new TestHttpSession(sessionId, true); doReturn(httpSession).when(challenger).getCurrentSession(anyBoolean()); challenger.setValidator(new ConstValidator(true, sessionId)); - ResourceMethod resource = control.createMock(ResourceMethod.class); + ResourceMethodInvoker resource = control.createMock(ResourceMethodInvoker.class); ServerResponse response = challenger.preProcess(setUpRequestExpectations(CREDENTIALS, true, false), resource); assertNull(response); control.verify(); @@ -111,7 +111,7 @@ HttpSession httpSession = new TestHttpSession(sessionId, false); doReturn(httpSession).when(challenger).getCurrentSession(anyBoolean()); challenger.setValidator(new ConstValidator(true, sessionId)); - ResourceMethod resource = control.createMock(ResourceMethod.class); + ResourceMethodInvoker resource = control.createMock(ResourceMethodInvoker.class); ServerResponse response = challenger.preProcess(setUpRequestExpectations(null, true, true), resource); assertNull(response); control.verify(); @@ -122,7 +122,7 @@ HttpSession httpSession = new TestHttpSession(sessionId, false); doReturn(httpSession).when(challenger).getCurrentSession(anyBoolean()); challenger.setValidator(new ConstValidator(true, sessionId)); - ResourceMethod resource = control.createMock(ResourceMethod.class); + ResourceMethodInvoker resource = control.createMock(ResourceMethodInvoker.class); ServerResponse response = challenger.preProcess(setUpRequestExpectations( null, true, true, String.valueOf(5)), resource); @@ -135,7 +135,7 @@ HttpSession httpSession = new TestHttpSession(sessionId, false); doReturn(httpSession).when(challenger).getCurrentSession(anyBoolean()); challenger.setValidator(new ConstValidator(true, sessionId)); - ResourceMethod resource = control.createMock(ResourceMethod.class); + ResourceMethodInvoker resource = control.createMock(ResourceMethodInvoker.class); ServerResponse response = challenger.preProcess(setUpRequestExpectations( null, true, true, "bad-ttl"), resource); @@ -148,7 +148,7 @@ HttpSession httpSession = new TestHttpSession(sessionId, false); doReturn(httpSession).when(challenger).getCurrentSession(anyBoolean()); challenger.setValidator(new ConstValidator(true, "wrong engine session ID")); - ResourceMethod resource = control.createMock(ResourceMethod.class); + ResourceMethodInvoker resource = control.createMock(ResourceMethodInvoker.class); ServerResponse response = challenger.preProcess(setUpRequestExpectations(null, true, false), resource); assertNotNull(response); control.verify(); @@ -160,7 +160,7 @@ doReturn(httpSession).when(challenger).getCurrentSession(true); doReturn(null).when(challenger).getCurrentSession(false); challenger.setValidator(new ConstValidator(true, sessionId)); - ResourceMethod resource = control.createMock(ResourceMethod.class); + ResourceMethodInvoker resource = control.createMock(ResourceMethodInvoker.class); ServerResponse response = challenger.preProcess(setUpRequestExpectations(null, true, false), resource); assertNotNull(response); control.verify(); @@ -171,7 +171,7 @@ HttpSession httpSession = new TestHttpSession(sessionId, true); doReturn(httpSession).when(challenger).getCurrentSession(anyBoolean()); challenger.setValidator(new ConstValidator(false, sessionId)); - ResourceMethod resource = control.createMock(ResourceMethod.class); + ResourceMethodInvoker resource = control.createMock(ResourceMethodInvoker.class); ServerResponse response = challenger.preProcess(setUpRequestExpectations(CREDENTIALS, false, false), resource); assertNotNull(response); assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus()); diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/logging/RequestVerbLogger.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/logging/RequestVerbLogger.java index a7f7594..b686b9f 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/logging/RequestVerbLogger.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/logging/RequestVerbLogger.java @@ -5,7 +5,7 @@ import org.jboss.resteasy.annotations.interception.DecoderPrecedence; import org.jboss.resteasy.annotations.interception.ServerInterceptor; -import org.jboss.resteasy.core.ResourceMethod; +import org.jboss.resteasy.core.ResourceMethodInvoker; import org.jboss.resteasy.core.ServerResponse; import org.jboss.resteasy.spi.Failure; import org.jboss.resteasy.spi.HttpRequest; @@ -17,7 +17,7 @@ public class RequestVerbLogger extends MessageLogger implements PreProcessInterceptor { @Override - public ServerResponse preProcess(HttpRequest request, ResourceMethod method) throws Failure, WebApplicationException { + public ServerResponse preProcess(HttpRequest request, ResourceMethodInvoker method) throws Failure, WebApplicationException { if (LOG.isDebugEnabled()) { logVerb(request); } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/ResourceHelper.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/ResourceHelper.java index f8c4e7d..064c6a4 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/ResourceHelper.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/ResourceHelper.java @@ -6,10 +6,10 @@ public abstract class ResourceHelper extends BackendResource { public ResourceHelper() { - ResteasyProviderFactory.getInstance() - .getInjectorFactory() - .createPropertyInjector(this.getClass()) - .inject(this); + ResteasyProviderFactory provider = ResteasyProviderFactory.getInstance(); + provider.getInjectorFactory() + .createPropertyInjector(this.getClass(), provider) + .inject(this); } } diff --git a/backend/manager/modules/restapi/pom.xml b/backend/manager/modules/restapi/pom.xml index 71319ff..ad2c468 100644 --- a/backend/manager/modules/restapi/pom.xml +++ b/backend/manager/modules/restapi/pom.xml @@ -21,7 +21,7 @@ <properties> <engine.api.version>3.4.0-SNAPSHOT</engine.api.version> - <resteasy.version>2.3.2.Final</resteasy.version> + <resteasy.version>3.0.4.Final</resteasy.version> <maven-jaxb22-plugin.version>0.8.1</maven-jaxb22-plugin.version> <easymock.version>3.0</easymock.version> <powermock.version>1.5</powermock.version> -- To view, visit http://gerrit.ovirt.org/21413 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0e44743d24e6125d17af29d2d92642fd85d7c88d Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Juan Hernandez <juan.hernan...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches