Juan Hernandez has uploaded a new change for review. Change subject: restapi: Move Affinity Group remove from collection to entity ......................................................................
restapi: Move Affinity Group remove from collection to entity This patch moves the method that implements the DELETE operation from the collection interface to the entity interface. This is needed to avoid issues with newer versions of Resteasy. Change-Id: I5eae61aa07eac428dd4de1fae7be28e656c32b5b Related: https://gerrit.ovirt.org/41783 Signed-off-by: Juan Hernandez <juan.hernan...@redhat.com> --- M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AffinityGroupResource.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AffinityGroupsResource.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/aaa/GroupsResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupsResource.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupsResourceTest.java 7 files changed, 44 insertions(+), 53 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/90/41790/1 diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AffinityGroupResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AffinityGroupResource.java index 5ac99b0..0fa3e59 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AffinityGroupResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AffinityGroupResource.java @@ -16,15 +16,18 @@ package org.ovirt.engine.api.resource; +import javax.ws.rs.DELETE; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.AffinityGroup; @Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) public interface AffinityGroupResource extends UpdatableResource<AffinityGroup> { + @DELETE + Response remove(); @Path("vms") public AffinityGroupVmsResource getAffinityGroupVmsSubResource(); - } diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AffinityGroupsResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AffinityGroupsResource.java index 99d83c2..dd7b43b 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AffinityGroupsResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AffinityGroupsResource.java @@ -1,7 +1,6 @@ package org.ovirt.engine.api.resource; import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; @@ -20,10 +19,6 @@ @POST @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML }) public Response add(AffinityGroup affinityGroup); - - @DELETE - @Path("{id}") - public Response remove(@PathParam("id") String id); @Path("{id}") public AffinityGroupResource getAffinityGroupResource(@PathParam("id") String id); diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/aaa/GroupsResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/aaa/GroupsResource.java index ebc7f84..26a4332 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/aaa/GroupsResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/aaa/GroupsResource.java @@ -17,7 +17,6 @@ package org.ovirt.engine.api.resource.aaa; import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @@ -39,10 +38,6 @@ @POST @Consumes({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) public Response add(Group Group); - - @DELETE - @Path("{id}") - public Response remove(@PathParam("id") String id); /** * Sub-resource locator method, returns individual GroupResource on which diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupResource.java index ce2a687..415b724 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupResource.java @@ -10,6 +10,8 @@ import org.ovirt.engine.core.common.scheduling.parameters.AffinityGroupCRUDParameters; import org.ovirt.engine.core.compat.Guid; +import javax.ws.rs.core.Response; + public class BackendAffinityGroupResource extends AbstractBackendSubResource<AffinityGroup, org.ovirt.engine.core.common.scheduling.AffinityGroup> implements AffinityGroupResource { @@ -49,4 +51,12 @@ return inject(new BackendAffinityGroupVmsResource(guid)); } + + @Override + public Response remove() { + get(); + AffinityGroupCRUDParameters params = new AffinityGroupCRUDParameters(); + params.setAffinityGroupId(asGuid(id)); + return performAction(VdcActionType.RemoveAffinityGroup, params); + } } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupsResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupsResource.java index f555629..1246d31 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupsResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupsResource.java @@ -57,13 +57,6 @@ } @Override - protected Response performRemove(String id) { - AffinityGroupCRUDParameters params = new AffinityGroupCRUDParameters(); - params.setAffinityGroupId(asGuid(id)); - return performAction(VdcActionType.RemoveAffinityGroup, params); - } - - @Override protected AffinityGroup doPopulate(AffinityGroup model, org.ovirt.engine.core.common.scheduling.AffinityGroup entity) { return model; } diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupResourceTest.java index ec61ed2..3328fcd 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupResourceTest.java @@ -58,6 +58,36 @@ verifyModel(resource.update(getModel(0)), 0); } + @Test + public void testRemove() throws Exception { + setUriInfo(setUpBasicUriExpectations()); + setUpGetEntityExpectations(1, true); + setUpActionExpectations( + VdcActionType.RemoveAffinityGroup, + AffinityGroupCRUDParameters.class, + new String[] { "AffinityGroupId" }, + new Object[] { GUIDS[0] }, + true, + true + ); + verifyRemove(resource.remove()); + } + + @Test + public void testRemoveNonExistant() throws Exception { + setUriInfo(setUpBasicUriExpectations()); + setUpGetEntityExpectations(1, false); + control.replay(); + try { + resource.remove(); + fail("expected WebApplicationException"); + } + catch (WebApplicationException wae) { + assertNotNull(wae.getResponse()); + assertEquals(404, wae.getResponse().getStatus()); + } + } + private void setUpGetEntityExpectations(int times, boolean found) throws Exception { while (times-- > 0) { setUpGetEntityExpectations(VdcQueryType.GetAffinityGroupById, diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupsResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupsResourceTest.java index f5e973e..ee76005 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupsResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupsResourceTest.java @@ -5,7 +5,6 @@ import java.util.ArrayList; import java.util.List; -import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response; import org.junit.Test; @@ -84,40 +83,6 @@ assertEquals(201, response.getStatus()); assertTrue(response.getEntity() instanceof AffinityGroup); verifyModel((AffinityGroup) response.getEntity(), 0); - } - - @Test - public void testRemove() throws Exception { - setUriInfo(setUpBasicUriExpectations()); - setUpGetEntityExpectations(GUIDS[0], false); - setUpActionExpectations(VdcActionType.RemoveAffinityGroup, - AffinityGroupCRUDParameters.class, - new String[] { "AffinityGroupId" }, - new Object[] { GUIDS[0] }, - true, - true); - verifyRemove(collection.remove(GUIDS[0].toString())); - } - - @Test - public void testRemoveNonExistant() throws Exception { - setUpGetEntityExpectations(NON_EXISTANT_GUID, true); - control.replay(); - try { - collection.remove(NON_EXISTANT_GUID.toString()); - fail("expected WebApplicationException"); - } catch (WebApplicationException wae) { - assertNotNull(wae.getResponse()); - assertEquals(404, wae.getResponse().getStatus()); - } - } - - private void setUpGetEntityExpectations(Guid entityId, Boolean returnNull) throws Exception { - setUpGetEntityExpectations(VdcQueryType.GetAffinityGroupById, - IdQueryParameters.class, - new String[] { "Id" }, - new Object[] { entityId }, - returnNull ? null : getEntity(0)); } private List<org.ovirt.engine.core.common.scheduling.AffinityGroup> setUpAffinityGroups() { -- To view, visit https://gerrit.ovirt.org/41790 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5eae61aa07eac428dd4de1fae7be28e656c32b5b 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