Juan Hernandez has uploaded a new change for review. Change subject: restapi: Move Bookmark remove from collection to entity ......................................................................
restapi: Move Bookmark 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: I5a69a2cb0fd7622deaebf7558c3a8a7e84fab4cf 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/BookmarkResource.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/BookmarksResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendBookmarkResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendBookmarksResource.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendBookmarkResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendBookmarksResourceTest.java 6 files changed, 76 insertions(+), 62 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/08/41808/1 diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/BookmarkResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/BookmarkResource.java index d94f251..0cd675e 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/BookmarkResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/BookmarkResource.java @@ -1,9 +1,13 @@ package org.ovirt.engine.api.resource; +import javax.ws.rs.DELETE; import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.Bookmark; @Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) public interface BookmarkResource extends UpdatableResource<Bookmark> { + @DELETE + Response remove(); } diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/BookmarksResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/BookmarksResource.java index 104d5d8..5c174b1 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/BookmarksResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/BookmarksResource.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; @@ -15,18 +14,13 @@ @Path("/bookmarks") @Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) public interface BookmarksResource { - @GET Bookmarks list(); @POST @Consumes({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) - public Response add(Bookmark bookmark); - - @DELETE - @Path("{id}") - public Response remove(@PathParam("id") String id); + Response add(Bookmark bookmark); @Path("{id}") - public BookmarkResource getBookmarkSubResource(@PathParam("id") String id); + BookmarkResource getBookmarkSubResource(@PathParam("id") String id); } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendBookmarkResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendBookmarkResource.java index 5c6b71a..274535b 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendBookmarkResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendBookmarkResource.java @@ -3,11 +3,14 @@ import org.ovirt.engine.api.model.Bookmark; import org.ovirt.engine.api.resource.BookmarkResource; import org.ovirt.engine.core.common.action.BookmarksOperationParameters; +import org.ovirt.engine.core.common.action.BookmarksParametersBase; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; + +import javax.ws.rs.core.Response; public class BackendBookmarkResource extends AbstractBackendSubResource<Bookmark, org.ovirt.engine.core.common.businessentities.Bookmark> implements BookmarkResource { @@ -42,4 +45,9 @@ return model; } + @Override + public Response remove() { + get(); + return performAction(VdcActionType.RemoveBookmark, new BookmarksParametersBase(guid)); + } } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendBookmarksResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendBookmarksResource.java index fb8eb05..e76ab24 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendBookmarksResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendBookmarksResource.java @@ -9,7 +9,6 @@ import org.ovirt.engine.api.resource.BookmarkResource; import org.ovirt.engine.api.resource.BookmarksResource; import org.ovirt.engine.core.common.action.BookmarksOperationParameters; -import org.ovirt.engine.core.common.action.BookmarksParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.queries.NameQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; @@ -41,11 +40,6 @@ @SingleEntityResource public BookmarkResource getBookmarkSubResource(String id) { return inject(new BackendBookmarkResource(id)); - } - - @Override - protected Response performRemove(String id) { - return performAction(VdcActionType.RemoveBookmark, new BookmarksParametersBase(asGuid(id))); } @Override diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendBookmarkResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendBookmarkResourceTest.java index 17097b7..6c82218 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendBookmarkResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendBookmarkResourceTest.java @@ -9,6 +9,7 @@ import org.junit.Test; import org.ovirt.engine.api.model.Bookmark; import org.ovirt.engine.core.common.action.BookmarksOperationParameters; +import org.ovirt.engine.core.common.action.BookmarksParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; @@ -106,6 +107,67 @@ } } + @Test + public void testRemove() throws Exception { + setUpGetEntityExpectations(0); + setUriInfo( + setUpActionExpectations( + VdcActionType.RemoveBookmark, + BookmarksParametersBase.class, + new String[] { "BookmarkId" }, + new Object[] { GUIDS[0] }, + true, + true + ) + ); + verifyRemove(resource.remove()); + } + + @Test + public void testRemoveNonExistant() throws Exception{ + setUpGetEntityExpectations(0, true); + control.replay(); + try { + resource.remove(); + fail("expected WebApplicationException"); + } + catch (WebApplicationException wae) { + assertNotNull(wae.getResponse()); + assertEquals(404, wae.getResponse().getStatus()); + } + } + + @Test + public void testRemoveCantDo() throws Exception { + doTestBadRemove(false, true, CANT_DO); + } + + @Test + public void testRemoveFailed() throws Exception { + doTestBadRemove(true, false, FAILURE); + } + + private void doTestBadRemove(boolean canDo, boolean success, String detail) throws Exception { + setUpGetEntityExpectations(0); + setUriInfo( + setUpActionExpectations( + VdcActionType.RemoveBookmark, + BookmarksParametersBase.class, + new String[] { "BookmarkId" }, + new Object[] { GUIDS[0] }, + canDo, + success + ) + ); + try { + resource.remove(); + fail("expected WebApplicationException"); + } + catch (WebApplicationException wae) { + verifyFault(wae, detail); + } + } + @Override protected org.ovirt.engine.core.common.businessentities.Bookmark getEntity(int index) { return setUpBookmarks().get(index); diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendBookmarksResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendBookmarksResourceTest.java index 966ae0e..2cdeba3 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendBookmarksResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendBookmarksResourceTest.java @@ -10,7 +10,6 @@ import org.junit.Test; import org.ovirt.engine.api.model.Bookmark; import org.ovirt.engine.core.common.action.BookmarksOperationParameters; -import org.ovirt.engine.core.common.action.BookmarksParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.NameQueryParameters; @@ -31,41 +30,6 @@ @Before public void setUp() { super.setUp(); - } - - @Test - public void testRemove() throws Exception { - setUpGetEntityExpectations(GUIDS[0], getEntity(0)); - setUriInfo(setUpActionExpectations(VdcActionType.RemoveBookmark, - BookmarksParametersBase.class, - new String[] { "BookmarkId" }, - new Object[] { GUIDS[0] }, - true, - true)); - verifyRemove(collection.remove(GUIDS[0].toString())); - } - - @Test - public void testRemoveNonExistant() throws Exception{ - setUpGetEntityExpectations(NON_EXISTANT_GUID, null); - control.replay(); - try { - collection.remove(NON_EXISTANT_GUID.toString()); - fail("expected WebApplicationException"); - } catch (WebApplicationException wae) { - assertNotNull(wae.getResponse()); - assertEquals(404, wae.getResponse().getStatus()); - } - } - - @Test - public void testRemoveCantDo() throws Exception { - doTestBadRemove(false, true, CANT_DO); - } - - @Test - public void testRemoveFailed() throws Exception { - doTestBadRemove(true, false, FAILURE); } @Test @@ -114,18 +78,6 @@ new Object[] { NAMES[0], VALUES[0] }, canDo, success)); try { collection.add(getModel(0)); - fail("expected WebApplicationException"); - } catch (WebApplicationException wae) { - verifyFault(wae, detail); - } - } - - protected void doTestBadRemove(boolean canDo, boolean success, String detail) throws Exception { - setUpGetEntityExpectations(GUIDS[0], getEntity(0)); - setUriInfo(setUpActionExpectations(VdcActionType.RemoveBookmark, BookmarksParametersBase.class, - new String[] { "BookmarkId" }, new Object[] { GUIDS[0] }, canDo, success)); - try { - collection.remove(GUIDS[0].toString()); fail("expected WebApplicationException"); } catch (WebApplicationException wae) { verifyFault(wae, detail); -- To view, visit https://gerrit.ovirt.org/41808 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5a69a2cb0fd7622deaebf7558c3a8a7e84fab4cf 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