Ori Liel has uploaded a new change for review. Change subject: restapi: Move StorageDomainServerConnection remove to entity ......................................................................
restapi: Move StorageDomainServerConnection remove 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: I249c1ea5c1827523322fc70df3f7e8ef4bc2c719 Signed-off-by: Ori Liel <ol...@redhat.com> --- M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/StorageDomainServerConnectionResource.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/StorageDomainServerConnectionsResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionsResource.java A backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionsResourceTest.java 6 files changed, 90 insertions(+), 49 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/26/41926/1 diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/StorageDomainServerConnectionResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/StorageDomainServerConnectionResource.java index 61e0533..fcaf5e2 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/StorageDomainServerConnectionResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/StorageDomainServerConnectionResource.java @@ -1,6 +1,8 @@ package org.ovirt.engine.api.resource; +import javax.ws.rs.DELETE; import javax.ws.rs.GET; +import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.StorageConnection; @@ -8,4 +10,6 @@ @GET public StorageConnection get(); + @DELETE + public Response remove(); } diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/StorageDomainServerConnectionsResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/StorageDomainServerConnectionsResource.java index 0c1c3e5..62d8ab3 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/StorageDomainServerConnectionsResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/StorageDomainServerConnectionsResource.java @@ -4,7 +4,6 @@ import org.ovirt.engine.api.model.StorageConnections; 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(StorageConnection storageConnection); - - @DELETE - @Path("{id}") - public Response remove(@PathParam("id") String id); @Path("{id}") public StorageDomainServerConnectionResource getStorageConnectionSubResource(@PathParam("id") String id); diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionResource.java index f75e67e..6ebb86a 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionResource.java @@ -1,17 +1,21 @@ package org.ovirt.engine.api.restapi.resource; +import javax.ws.rs.DELETE; +import javax.ws.rs.core.Response; + import org.ovirt.engine.api.model.StorageConnection; import org.ovirt.engine.api.resource.StorageDomainServerConnectionResource; -import org.ovirt.engine.api.resource.StorageDomainServerConnectionsResource; +import org.ovirt.engine.core.common.action.AttachDetachStorageConnectionParameters; +import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.StorageServerConnections; import org.ovirt.engine.core.common.queries.StorageServerConnectionQueryParametersBase; import org.ovirt.engine.core.common.queries.VdcQueryType; public class BackendStorageDomainServerConnectionResource extends AbstractBackendSubResource<StorageConnection, StorageServerConnections> implements StorageDomainServerConnectionResource { - private StorageDomainServerConnectionsResource parent; + protected BackendStorageDomainServerConnectionsResource parent; - public BackendStorageDomainServerConnectionResource(String id, StorageDomainServerConnectionsResource parent) { + public BackendStorageDomainServerConnectionResource(String id, BackendStorageDomainServerConnectionsResource parent) { super(id, StorageConnection.class, StorageServerConnections.class); this.parent = parent; } @@ -27,8 +31,18 @@ return model; } - public StorageDomainServerConnectionsResource getParent() { + public BackendStorageDomainServerConnectionsResource getParent() { return parent; } + @Override + @DELETE + public Response remove() { + get(); + AttachDetachStorageConnectionParameters params = + new AttachDetachStorageConnectionParameters(parent.storageDomainId, id); + + return performAction(VdcActionType.DetachStorageConnectionFromStorageDomain, params); + } + } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionsResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionsResource.java index c25cea4..09d8a5d 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionsResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionsResource.java @@ -61,14 +61,6 @@ } @Override - public Response performRemove(String id) { - AttachDetachStorageConnectionParameters params = - new AttachDetachStorageConnectionParameters(storageDomainId, id); - - return performAction(VdcActionType.DetachStorageConnectionFromStorageDomain, params); - } - - @Override @SingleEntityResource public StorageDomainServerConnectionResource getStorageConnectionSubResource(String id) { return inject(new BackendStorageDomainServerConnectionResource(id, this)); diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionResourceTest.java new file mode 100644 index 0000000..e18d7c0 --- /dev/null +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionResourceTest.java @@ -0,0 +1,68 @@ +package org.ovirt.engine.api.restapi.resource; + +import javax.ws.rs.WebApplicationException; +import javax.ws.rs.core.Response; + +import org.junit.Test; +import org.ovirt.engine.api.model.StorageConnection; +import org.ovirt.engine.core.common.action.AttachDetachStorageConnectionParameters; +import org.ovirt.engine.core.common.action.VdcActionType; +import org.ovirt.engine.core.common.businessentities.StorageServerConnections; +import org.ovirt.engine.core.common.queries.StorageServerConnectionQueryParametersBase; +import org.ovirt.engine.core.common.queries.VdcQueryType; + +public class BackendStorageDomainServerConnectionResourceTest extends AbstractBackendSubResourceTest<StorageConnection, StorageServerConnections, BackendStorageDomainServerConnectionResource> { + + public BackendStorageDomainServerConnectionResourceTest() { + super(new BackendStorageDomainServerConnectionResource(GUIDS[3].toString(), null)); + BackendStorageDomainServerConnectionsResource parent = new BackendStorageDomainServerConnectionsResource(GUIDS[2]); + resource.parent = parent; + } + + @Test + public void testDetachSuccess() throws Exception { + setUriInfo(setUpBasicUriExpectations()); + setUpGetEntityExpectations(); + setUpActionExpectations(VdcActionType.DetachStorageConnectionFromStorageDomain, + AttachDetachStorageConnectionParameters.class, + new String[] {}, + new Object[] {}, + true, + true); + Response response = resource.remove(); + assertEquals(200, response.getStatus()); + } + + @Test + public void testDetachFailure() throws Exception { + setUriInfo(setUpBasicUriExpectations()); + setUpGetEntityExpectations(); + setUpActionExpectations(VdcActionType.DetachStorageConnectionFromStorageDomain, + AttachDetachStorageConnectionParameters.class, + new String[] {}, + new Object[] {}, + false, + false); + try { + Response response = resource.remove(); + } catch (WebApplicationException wae) { + assertNotNull(wae.getResponse()); + assertEquals(400, wae.getResponse().getStatus()); + } + } + + @Override + protected StorageServerConnections getEntity(int index) { + StorageServerConnections entity = new StorageServerConnections(); + entity.setid(GUIDS[index].toString()); + return entity; + } + + private void setUpGetEntityExpectations() throws Exception { + setUpEntityQueryExpectations(VdcQueryType.GetStorageServerConnectionById, + StorageServerConnectionQueryParametersBase.class, + new String[] { "ServerConnectionId" }, + new Object[] { GUIDS[3].toString() }, + getEntity(3)); + } +} diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionsResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionsResourceTest.java index 7b91adf..b565a5d 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionsResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainServerConnectionsResourceTest.java @@ -71,38 +71,6 @@ } } - @Test - public void testDetachSuccess() throws Exception { - setUriInfo(setUpBasicUriExpectations()); - setUpGetEntityExpectations(); - setUpActionExpectations(VdcActionType.DetachStorageConnectionFromStorageDomain, - AttachDetachStorageConnectionParameters.class, - new String[] {}, - new Object[] {}, - true, - true); - Response response = collection.remove(GUIDS[3].toString()); - assertEquals(200, response.getStatus()); - } - - @Test - public void testDetachFailure() throws Exception { - setUriInfo(setUpBasicUriExpectations()); - setUpGetEntityExpectations(); - setUpActionExpectations(VdcActionType.DetachStorageConnectionFromStorageDomain, - AttachDetachStorageConnectionParameters.class, - new String[] {}, - new Object[] {}, - false, - false); - try { - Response response = collection.remove(GUIDS[3].toString()); - } catch (WebApplicationException wae) { - assertNotNull(wae.getResponse()); - assertEquals(400, wae.getResponse().getStatus()); - } - } - @Override protected List<StorageConnection> getCollection() { return collection.list().getStorageConnections(); -- To view, visit https://gerrit.ovirt.org/41926 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I249c1ea5c1827523322fc70df3f7e8ef4bc2c719 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ori Liel <ol...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches