Juan Hernandez has uploaded a new change for review.

Change subject: restapi: Move Fence Agent remove from collection to entity
......................................................................

restapi: Move Fence Agent 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: I1c71979e506d0ccbeded9f4182da31188e8980dc
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/FenceAgentResource.java
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/FenceAgentsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentsResource.java
4 files changed, 25 insertions(+), 42 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/54/41854/1

diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/FenceAgentResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/FenceAgentResource.java
index bdaddac..0fdb159 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/FenceAgentResource.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/FenceAgentResource.java
@@ -2,6 +2,12 @@
 
 import org.ovirt.engine.api.model.Agent;
 
-public interface FenceAgentResource extends UpdatableResource<Agent> {
+import javax.ws.rs.DELETE;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
 
+@Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML})
+public interface FenceAgentResource extends UpdatableResource<Agent> {
+    @DELETE
+    Response remove();
 }
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/FenceAgentsResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/FenceAgentsResource.java
index 71772d3..453b523 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/FenceAgentsResource.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/FenceAgentsResource.java
@@ -1,34 +1,25 @@
 package org.ovirt.engine.api.resource;
 
-import java.util.List;
-
 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;
 import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.Response;
 
 import org.ovirt.engine.api.model.Agent;
 import org.ovirt.engine.api.model.Agents;
-import org.ovirt.engine.core.common.businessentities.pm.FenceAgent;
 
+@Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML})
 public interface FenceAgentsResource {
-
     @GET
-    public Agents list();
-
-    @DELETE
-    @Path("{id}")
-    public Response remove(@PathParam("id") String id);
+    Agents list();
 
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
-    public Response add(Agent agent);
+    Response add(Agent agent);
 
     @Path("{id}")
-    public FenceAgentResource getFenceAgentSubResource(@PathParam("id") String 
id);
-
-    public List<FenceAgent> getFenceAgents();
+    FenceAgentResource getFenceAgentSubResource(@PathParam("id") String id);
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentResource.java
index 5f0dbca..7d880bc 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentResource.java
@@ -1,6 +1,6 @@
 package org.ovirt.engine.api.restapi.resource;
 
-import javax.ws.rs.Consumes;
+import javax.ws.rs.core.Response;
 
 import org.ovirt.engine.api.model.Agent;
 import org.ovirt.engine.api.resource.FenceAgentResource;
@@ -24,7 +24,6 @@
     }
 
     @Override
-    @Consumes({ "application/xml", "application/json", "application/x-yaml" })
     public Agent update(Agent agent) {
         QueryIdResolver<Guid> agentResolver =
                 new QueryIdResolver<Guid>(VdcQueryType.GetFenceAgentById, 
IdQueryParameters.class);
@@ -51,4 +50,14 @@
             return updateParams;
         }
     }
+
+    @Override
+    public Response remove() {
+        get();
+        FenceAgentCommandParameterBase params = new 
FenceAgentCommandParameterBase();
+        FenceAgent agent = new FenceAgent();
+        agent.setId(guid);
+        params.setAgent(agent);
+        return performAction(VdcActionType.RemoveFenceAgent, params);
+    }
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentsResource.java
index 87a4460..88290f0 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentsResource.java
@@ -2,14 +2,8 @@
 
 import java.util.List;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
 import javax.ws.rs.core.Response;
 
-import org.jboss.resteasy.annotations.providers.jaxb.Formatted;
 import org.ovirt.engine.api.model.Agent;
 import org.ovirt.engine.api.model.Agents;
 import org.ovirt.engine.api.model.Host;
@@ -32,16 +26,11 @@
     private String hostId;
 
     @Override
-    @GET
-    @Formatted
     public Agents list() {
         return mapCollection(getFenceAgents());
     }
 
     @Override
-    @POST
-    @Formatted
-    @Consumes({ "application/xml", "application/json", "application/x-yaml" })
     public Response add(Agent agent) {
         validateParameters(agent, "address", "order", "type", "username", 
"password");
         return performCreate(VdcActionType.AddFenceAgent,
@@ -59,18 +48,8 @@
     }
 
     @Override
-    @Path("{id}")
-    public FenceAgentResource getFenceAgentSubResource(@PathParam("id") String 
id) {
+    public FenceAgentResource getFenceAgentSubResource(String id) {
         return inject(new BackendFenceAgentResource(id));
-    }
-
-    @Override
-    protected Response performRemove(String id) {
-        FenceAgentCommandParameterBase params = new 
FenceAgentCommandParameterBase();
-        FenceAgent agent = new FenceAgent();
-        agent.setId(asGuid(id));
-        params.setAgent(agent);
-        return performAction(VdcActionType.RemoveFenceAgent, params);
     }
 
     @Override
@@ -87,9 +66,7 @@
         return agents;
     }
 
-    @Override
-    public List<FenceAgent> getFenceAgents() {
+    private List<FenceAgent> getFenceAgents() {
         return getBackendCollection(VdcQueryType.GetFenceAgentsByVdsId, new 
IdQueryParameters(new Guid(hostId)));
     }
-
 }


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

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