Juan Hernandez has uploaded a new change for review.

Change subject: restapi: Move Gluster Volume remove from collection to entity
......................................................................

restapi: Move Gluster Volume 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: I7bb4478330532a521bed940ffdbd1ec2fb39211d
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/gluster/GlusterVolumeResource.java
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumesResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumeResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResource.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumeResourceTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResourceTest.java
6 files changed, 48 insertions(+), 58 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/89/41889/1

diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumeResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumeResource.java
index b8e1f04..53bba12 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumeResource.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumeResource.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.api.resource.gluster;
 
 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;
@@ -17,69 +18,72 @@
 import org.ovirt.engine.api.resource.MeasurableResource;
 
 /**
- * Resource interface for the 
"clusters/{cluster_id}/glustervolumes/{volume_id}" resource
+ * Resource interface for the 
"clusters/{cluster_id}/glustervolumes/{volume_id}" resource.
  */
 @Produces({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
 public interface GlusterVolumeResource extends MeasurableResource {
     @GET
-    public GlusterVolume get();
+    GlusterVolume get();
+
+    @DELETE
+    Response remove();
 
     @Path("{action: 
(start|stop|rebalance|stoprebalance|setOption|resetOption|resetAllOptions)}/{oid}")
-    public ActionResource getActionSubresource(@PathParam("action") String 
action, @PathParam("oid") String oid);
+    ActionResource getActionSubresource(@PathParam("action") String action, 
@PathParam("oid") String oid);
 
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
     @Actionable
     @Path("start")
-    public Response start(Action action);
+    Response start(Action action);
 
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
     @Actionable
     @Path("stop")
-    public Response stop(Action action);
+    Response stop(Action action);
 
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
     @Actionable
     @Path("rebalance")
-    public Response rebalance(Action action);
+    Response rebalance(Action action);
 
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
     @Actionable
     @Path("stoprebalance")
-    public Response stopRebalance(Action action);
+    Response stopRebalance(Action action);
 
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
     @Actionable
     @Path("setoption")
-    public Response setOption(Action action);
+    Response setOption(Action action);
 
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
     @Actionable
     @Path("resetoption")
-    public Response resetOption(Action action);
+    Response resetOption(Action action);
 
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
     @Actionable
     @Path("resetalloptions")
-    public Response resetAllOptions(Action action);
+    Response resetAllOptions(Action action);
 
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
     @Actionable
     @Path("startprofile")
-    public Response startProfile(Action action);
+    Response startProfile(Action action);
 
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
     @Actionable
     @Path("stopprofile")
-    public Response stopProfile(Action action);
+    Response stopProfile(Action action);
 
     @GET
     @Path("profilestatistics")
@@ -89,7 +93,7 @@
         ApiMediaType.APPLICATION_X_YAML,
         ApiMediaType.APPLICATION_PDF
     })
-    public GlusterVolumeProfileDetails getProfileStatistics();
+    GlusterVolumeProfileDetails getProfileStatistics();
 
     /**
      * Sub-resource locator method, returns GlusterBricksResource on which the 
remainder of the URI is dispatched.
@@ -97,5 +101,5 @@
      * @return matching subresource if found
      */
     @Path("bricks")
-    public GlusterBricksResource getGlusterBrickSubResource();
+    GlusterBricksResource getGlusterBrickSubResource();
 }
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumesResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumesResource.java
index c5eb56c..3be314d 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumesResource.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumesResource.java
@@ -1,10 +1,6 @@
-/**
- *
- */
 package org.ovirt.engine.api.resource.gluster;
 
 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;
@@ -22,39 +18,27 @@
 @Produces({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
 public interface GlusterVolumesResource {
     @GET
-    public GlusterVolumes list();
+    GlusterVolumes list();
 
     /**
-     * Creates a new Gluster Volume and adds it to the database. The Volume is 
created based on properties of @volume<p>
-     *          The properties {@link GlusterVolume#getName()}, {@link 
GlusterVolume#getVolumeType()} and
-     *          {@link GlusterVolume#getGlusterBricks()} are required.
+     * Creates a new Gluster Volume and adds it to the database. The Volume is 
created based on properties of
+     * the {@code volume} parameter. The properties {@link 
GlusterVolume#getName()},
+     * {@link GlusterVolume#getVolumeType()} and {@link 
GlusterVolume#getBricks()} are required.
      *
-     * @param volume
-     *            the Gluster Volume definition from which to create the new 
Volume
+     * @param volume the Gluster Volume definition from which to create the 
new Volume
      * @return the new newly created Gluster Volume
      */
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
-    public Response add(GlusterVolume volume);
-
-    /**
-     * Removes the given Gluster Volume and deletes it from the database.
-     *
-     * @param id ID of the volume to be removed
-     * @return
-     */
-    @DELETE
-    @Path("{volume_id}")
-    public Response remove(@PathParam("volume_id") String id);
+    Response add(GlusterVolume volume);
 
     /**
      * Sub-resource locator method, returns individual GlusterVolumeResource 
on which the remainder of the URI is
      * dispatched.
      *
-     * @param name
-     *            the GlusterVolume name
+     * @param id the volume identifier
      * @return matching subresource if found
      */
-    @Path("{volume_id}")
-    public GlusterVolumeResource 
getGlusterVolumeSubResource(@PathParam("volume_id") String id);
+    @Path("{id}")
+    GlusterVolumeResource getGlusterVolumeSubResource(@PathParam("id") String 
id);
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumeResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumeResource.java
index 4f3cbd2..fd16097 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumeResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumeResource.java
@@ -193,4 +193,9 @@
             return false;
         }
     }
+
+    @Override
+    public Response remove() {
+        return performAction(VdcActionType.DeleteGlusterVolume, new 
GlusterVolumeParameters(guid));
+    }
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResource.java
index 037e674..9529d2f 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResource.java
@@ -16,7 +16,6 @@
 import org.ovirt.engine.api.restapi.resource.AbstractBackendCollectionResource;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import 
org.ovirt.engine.core.common.action.gluster.CreateGlusterVolumeParameters;
-import org.ovirt.engine.core.common.action.gluster.GlusterVolumeParameters;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeType;
@@ -120,11 +119,6 @@
             bricks.add(getMapper(GlusterBrick.class, 
GlusterBrickEntity.class).map(brick, null));
         }
         volumeEntity.setBricks(bricks);
-    }
-
-    @Override
-    protected Response performRemove(String id) {
-        return performAction(VdcActionType.DeleteGlusterVolume, new 
GlusterVolumeParameters(asGuid(id)));
     }
 
     @Override
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumeResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumeResourceTest.java
index acf9f6b..f619ac9 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumeResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumeResourceTest.java
@@ -22,6 +22,7 @@
 import org.ovirt.engine.core.common.action.VdcActionType;
 import 
org.ovirt.engine.core.common.action.gluster.GlusterVolumeActionParameters;
 import 
org.ovirt.engine.core.common.action.gluster.GlusterVolumeOptionParameters;
+import org.ovirt.engine.core.common.action.gluster.GlusterVolumeParameters;
 import 
org.ovirt.engine.core.common.action.gluster.GlusterVolumeRebalanceParameters;
 import 
org.ovirt.engine.core.common.action.gluster.ResetGlusterVolumeOptionsParameters;
 import org.ovirt.engine.core.common.businessentities.AsyncTaskStatus;
@@ -187,6 +188,21 @@
         verifyActionResponse(resource.resetAllOptions(new Action()));
     }
 
+    @Test
+    public void testRemove() throws Exception {
+        setUriInfo(
+            setUpActionExpectations(
+                VdcActionType.DeleteGlusterVolume,
+                GlusterVolumeParameters.class,
+                new String[] { "VolumeId" },
+                new Object[] { GUIDS[0] },
+                true,
+                true
+            )
+        );
+        verifyRemove(resource.remove());
+    }
+
     protected UriInfo setUpActionExpectations(VdcActionType task,
             Class<? extends VdcActionParametersBase> clz,
             String[] names,
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResourceTest.java
index 0311372..423cce9 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResourceTest.java
@@ -1,6 +1,5 @@
 package org.ovirt.engine.api.restapi.resource.gluster;
 
-
 import static org.easymock.EasyMock.expect;
 
 import java.util.List;
@@ -20,7 +19,6 @@
 import org.ovirt.engine.api.restapi.resource.BackendResource;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import 
org.ovirt.engine.core.common.action.gluster.CreateGlusterVolumeParameters;
-import org.ovirt.engine.core.common.action.gluster.GlusterVolumeParameters;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeType;
 import org.ovirt.engine.core.common.interfaces.SearchType;
@@ -208,17 +206,6 @@
                                   new String[] { "Id" },
                                   new Object[] { volumeId },
                                   getEntity(1));
-    }
-
-    @Test
-    public void testRemove() throws Exception {
-        setUriInfo(setUpActionExpectations(VdcActionType.DeleteGlusterVolume,
-                                           GlusterVolumeParameters.class,
-                                           new String[] { "VolumeId" },
-                                           new Object[] { GUIDS[0] },
-                                           true,
-                                           true));
-        verifyRemove(collection.remove(GUIDS[0].toString()));
     }
 
     /**


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7bb4478330532a521bed940ffdbd1ec2fb39211d
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

Reply via email to