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

Reply via email to