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
