Juan Hernandez has uploaded a new change for review. Change subject: restapi: Images isn't read only ......................................................................
restapi: Images isn't read only Currently the resource that corresponding to images avaialable in a storage domain is implemented as read only, but it isn't, as it allows some actions, in particular the action to import a image. As a result as implementing it this way the RSDL generated doesn't include the documentation for the actions. This patch changes the implementation so that it isn't read only, and it fixes a typo on the .yaml metadata that preventing finding the parameters of the import operation Change-Id: I7c5d67a20c76269312a865674e0225635c5c922e Bug-Url: https://bugzilla.redhat.com/1096496 Signed-off-by: Juan Hernandez <[email protected]> --- M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ImageResource.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ImagesResource.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ReadOnlyResources.java M backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainImagesResource.java 5 files changed, 18 insertions(+), 21 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/85/27585/1 diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ImageResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ImageResource.java index aa5853e..a94b86f 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ImageResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ImageResource.java @@ -21,6 +21,7 @@ import org.ovirt.engine.api.model.Image; 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; @@ -28,10 +29,14 @@ import javax.ws.rs.core.Response; @Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) -public interface ImageResource extends ReadOnlyResource<Image> { +public interface ImageResource { @Path("{action: (import)}/{oid}") public ActionResource getActionSubresource(@PathParam("action") String action, @PathParam("oid") String oid); + + @GET + @Formatted + public Image get(); @POST @Formatted @@ -39,5 +44,4 @@ @Actionable @Path("import") public Response doImport(Action action); - } diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ImagesResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ImagesResource.java index 9ce8e99..fa368a7 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ImagesResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ImagesResource.java @@ -1,13 +1,19 @@ package org.ovirt.engine.api.resource; +import javax.ws.rs.GET; import javax.ws.rs.Path; +import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.ovirt.engine.api.model.Image; +import org.jboss.resteasy.annotations.providers.jaxb.Formatted; import org.ovirt.engine.api.model.Images; -@Path("/images") @Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) -public interface ImagesResource extends ReadOnlyResources<Image, Images> { +public interface ImagesResource { + @GET + @Formatted + public Images list(); + @Path("{id}") + public ImageResource getImageSubResource(@PathParam("id") String id); } diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ReadOnlyResources.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ReadOnlyResources.java index df617b7..3a1f0d4 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ReadOnlyResources.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/ReadOnlyResources.java @@ -17,8 +17,6 @@ package org.ovirt.engine.api.resource; import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import org.jboss.resteasy.annotations.providers.jaxb.Formatted; @@ -32,14 +30,4 @@ @GET @Formatted public C list(); - - /** - * Sub-resource locator method, returns individual DeviceResource on which the - * remainder of the URI is dispatched. - * - * @param id the Device ID - * @return matching subresource if found - */ - @Path("{id}") - public ReadOnlyResource<D> getDeviceSubResource(@PathParam("id") String id); } diff --git a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml index 61b0784..b54c506 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml +++ b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml @@ -1420,7 +1420,7 @@ signatures: [] urlparams: {} headers: {} -- name: /storagedomains/{storagedomain:id}/images/{images:id}/import|rel=import +- name: /storagedomains/{storagedomain:id}/images/{image:id}/import|rel=import request: body: parameterType: Action diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainImagesResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainImagesResource.java index 9d7fa4a..1839c0a 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainImagesResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainImagesResource.java @@ -14,14 +14,13 @@ import java.util.List; - public class BackendStorageDomainImagesResource extends AbstractBackendCollectionResource<Image, org.ovirt.engine.core.common.businessentities.RepoImage> implements ImagesResource { Guid storageDomainId; - public BackendStorageDomainImagesResource(Guid storageDomainId, String... subCollections) { + public BackendStorageDomainImagesResource(Guid storageDomainId) { super(Image.class, org.ovirt.engine.core.common.businessentities.RepoImage.class); this.storageDomainId = storageDomainId; } @@ -35,7 +34,7 @@ @Override @SingleEntityResource - public ImageResource getDeviceSubResource(String id) { + public ImageResource getImageSubResource(String id) { return inject(new BackendStorageDomainImageResource(id, this)); } -- To view, visit http://gerrit.ovirt.org/27585 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7c5d67a20c76269312a865674e0225635c5c922e 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
