Juan Hernandez has uploaded a new change for review.

Change subject: restapi: Move iSCSI Bond remove from collection to entity
......................................................................

restapi: Move iSCSI Bond 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: I2ddba7d581b69006f8652dbb384a3fea737a3b5c
Related: https://gerrit.ovirt.org/41783
Signed-off-by: Juan Hernandez <[email protected]>
---
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/IscsiBondResource.java
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/IscsiBondsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondsResource.java
A 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondResourceTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondsResourceTest.java
6 files changed, 94 insertions(+), 57 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/56/41856/1

diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/IscsiBondResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/IscsiBondResource.java
index 8805508..af751c6 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/IscsiBondResource.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/IscsiBondResource.java
@@ -1,16 +1,20 @@
 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.IscsiBond;
 
 @Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML})
 public interface IscsiBondResource extends UpdatableResource<IscsiBond> {
+    @DELETE
+    Response remove();
 
     @Path("networks")
-    public NetworksResource getNetworksResource();
+    NetworksResource getNetworksResource();
 
     @Path("storageconnections")
-    public StorageServerConnectionsResource 
getStorageServerConnectionsResource();
+    StorageServerConnectionsResource getStorageServerConnectionsResource();
 }
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/IscsiBondsResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/IscsiBondsResource.java
index 5957dcf..1cd3dbb 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/IscsiBondsResource.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/IscsiBondsResource.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;
@@ -14,18 +13,13 @@
 
 @Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML})
 public interface IscsiBondsResource {
-
     @GET
-    public IscsiBonds list();
+    IscsiBonds list();
 
     @POST
     @Consumes({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML})
-    public Response add(IscsiBond iscsiBond);
-
-    @DELETE
-    @Path("{id}")
-    public Response remove(@PathParam("id") String id);
+    Response add(IscsiBond iscsiBond);
 
     @Path("{id}")
-    public IscsiBondResource getIscsiBondSubResource(@PathParam("id") String 
id);
+    IscsiBondResource getIscsiBondSubResource(@PathParam("id") String id);
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondResource.java
index 3adc4ba..ed61f6b 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondResource.java
@@ -7,14 +7,18 @@
 import org.ovirt.engine.api.resource.NetworksResource;
 import org.ovirt.engine.api.resource.StorageServerConnectionsResource;
 import org.ovirt.engine.core.common.action.EditIscsiBondParameters;
+import org.ovirt.engine.core.common.action.RemoveIscsiBondParameters;
 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;
 
-public class BackendIscsiBondResource extends 
AbstractBackendActionableResource<IscsiBond, 
org.ovirt.engine.core.common.businessentities.IscsiBond>
-        implements IscsiBondResource {
+import javax.ws.rs.core.Response;
+
+public class BackendIscsiBondResource
+    extends AbstractBackendActionableResource<IscsiBond, 
org.ovirt.engine.core.common.businessentities.IscsiBond>
+    implements IscsiBondResource {
 
     public  BackendIscsiBondResource(String id) {
         super(id, IscsiBond.class, 
org.ovirt.engine.core.common.businessentities.IscsiBond.class, SUB_COLLECTIONS);
@@ -54,4 +58,10 @@
     protected IscsiBond doPopulate(IscsiBond model, 
org.ovirt.engine.core.common.businessentities.IscsiBond entity) {
         return model;
     }
+
+    @Override
+    public Response remove() {
+        get();
+        return performAction(VdcActionType.RemoveIscsiBond, new 
RemoveIscsiBondParameters(guid));
+    }
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondsResource.java
index 1fa32f2..d604f99 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondsResource.java
@@ -11,7 +11,6 @@
 import org.ovirt.engine.api.resource.IscsiBondsResource;
 import org.ovirt.engine.api.restapi.types.IscsiBondMapper;
 import org.ovirt.engine.core.common.action.AddIscsiBondParameters;
-import org.ovirt.engine.core.common.action.RemoveIscsiBondParameters;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
@@ -46,11 +45,6 @@
         return performCreate(VdcActionType.AddIscsiBond,
                 new AddIscsiBondParameters(entity),
                 new QueryIdResolver<Guid>(VdcQueryType.GetIscsiBondById, 
IdQueryParameters.class));
-    }
-
-    @Override
-    protected Response performRemove(String id) {
-        return performAction(VdcActionType.RemoveIscsiBond, new 
RemoveIscsiBondParameters(asGuid(id)));
     }
 
     @Override
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondResourceTest.java
new file mode 100644
index 0000000..b8cbdd8
--- /dev/null
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondResourceTest.java
@@ -0,0 +1,70 @@
+package org.ovirt.engine.api.restapi.resource;
+
+import org.junit.Test;
+import org.ovirt.engine.api.model.IscsiBond;
+import org.ovirt.engine.core.common.action.RemoveIscsiBondParameters;
+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 javax.ws.rs.WebApplicationException;
+
+public class BackendIscsiBondResourceTest
+    extends AbstractBackendSubResourceTest<IscsiBond, 
org.ovirt.engine.core.common.businessentities.IscsiBond, 
BackendIscsiBondResource> {
+
+    public BackendIscsiBondResourceTest() {
+        super(new BackendIscsiBondResource(GUIDS[0].toString()));
+    }
+
+    @Test
+    public void testRemove() throws Exception {
+        setUpGetEntityExpectations(0, getEntity(0));
+        setUriInfo(
+            setUpActionExpectations(
+                VdcActionType.RemoveIscsiBond,
+                RemoveIscsiBondParameters.class,
+                new String[] { "IscsiBondId" },
+                new Object[] { GUIDS[0] },
+                true,
+                true
+            )
+        );
+        verifyRemove(resource.remove());
+    }
+
+    @Test
+    public void testRemoveNonExistant() throws Exception {
+        setUriInfo(setUpBasicUriExpectations());
+        setUpGetEntityExpectations(0, null);
+        control.replay();
+        try {
+            resource.remove();
+            fail("expected WebApplicationException");
+        }
+        catch (WebApplicationException wae) {
+            assertNotNull(wae.getResponse());
+            assertEquals(404, wae.getResponse().getStatus());
+        }
+    }
+
+    private void setUpGetEntityExpectations(int index, 
org.ovirt.engine.core.common.businessentities.IscsiBond result)
+            throws Exception {
+        setUpGetEntityExpectations(
+            VdcQueryType.GetIscsiBondById,
+            IdQueryParameters.class,
+            new String[] { "Id" },
+            new Object[] { GUIDS[index] },
+            result
+        );
+    }
+
+    @Override
+    protected org.ovirt.engine.core.common.businessentities.IscsiBond 
getEntity(int index) {
+        org.ovirt.engine.core.common.businessentities.IscsiBond iscsiBond =
+            new org.ovirt.engine.core.common.businessentities.IscsiBond();
+        iscsiBond.setId(GUIDS[index]);
+        iscsiBond.setName(NAMES[index]);
+        iscsiBond.setStoragePoolId(GUIDS[0]);
+        return iscsiBond;
+    }
+}
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondsResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondsResourceTest.java
index 0c5145c..1defe64 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondsResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendIscsiBondsResourceTest.java
@@ -3,19 +3,19 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Response;
 
 import org.junit.Test;
 import org.ovirt.engine.api.model.IscsiBond;
 import org.ovirt.engine.core.common.action.AddIscsiBondParameters;
-import org.ovirt.engine.core.common.action.RemoveIscsiBondParameters;
 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;
 
-public class BackendIscsiBondsResourceTest extends 
AbstractBackendCollectionResourceTest<IscsiBond, 
org.ovirt.engine.core.common.businessentities.IscsiBond, 
BackendIscsiBondsResource> {
+public class BackendIscsiBondsResourceTest
+    extends AbstractBackendCollectionResourceTest<IscsiBond, 
org.ovirt.engine.core.common.businessentities.IscsiBond, 
BackendIscsiBondsResource> {
+
     protected static final Guid ISCSI_BOND_ID = GUIDS[1];
     protected static final Guid DATA_CENTER_ID = GUIDS[2];
     static Guid PARENT_GUID = GUIDS[2];
@@ -114,40 +114,5 @@
         return iscsiBonds;
     }
 
-    @Test
-    public void testRemove() throws Exception {
-        setUpGetEntityExcpectations();
-        setUriInfo(setUpActionExpectations(VdcActionType.RemoveIscsiBond,
-                RemoveIscsiBondParameters.class,
-                new String[] { "IscsiBondId" },
-                new Object[] { GUIDS[0] },
-                true,
-                true));
-        verifyRemove(collection.remove(GUIDS[0].toString()));
-    }
 
-    @Test
-    public void testRemoveNonExistant() throws Exception {
-        setUpGetEntityExpectations(VdcQueryType.GetIscsiBondById,
-                IdQueryParameters.class,
-                new String[] { "Id" },
-                new Object[] { 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());
-        }
-    }
-
-    private void setUpGetEntityExcpectations() throws Exception {
-        setUpGetEntityExpectations(VdcQueryType.GetIscsiBondById,
-                IdQueryParameters.class,
-                new String[] { "Id" },
-                new Object[] { GUIDS[0] },
-                getEntity(0));
-    }
 }


-- 
To view, visit https://gerrit.ovirt.org/41856
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2ddba7d581b69006f8652dbb384a3fea737a3b5c
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Juan Hernandez <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to