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

Reply via email to