Moti Asayag has uploaded a new change for review.

Change subject: restapi: Add permissions sub collections to Networks
......................................................................

restapi: Add permissions sub collections to Networks

The patch adds the permissions sub collections to Network
resource.

Change-Id: Ib2d2fab5f0e546fe92c9f5add7fc2a83b2c1d159
Signed-off-by: Moti Asayag <masa...@redhat.com>
---
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworkResource.java
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata_v-3.1.yaml
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java
5 files changed, 67 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/33/10033/1

diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworkResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworkResource.java
index 5720131..4349f5b 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworkResource.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworkResource.java
@@ -16,10 +16,15 @@
 
 package org.ovirt.engine.api.resource;
 
+import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
+
 import org.ovirt.engine.api.model.Network;
 
 
 @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, 
MediaType.APPLICATION_X_YAML})
 public interface NetworkResource extends UpdatableResource<Network> {
+
+    @Path("permissions")
+    public AssignedPermissionsResource getPermissionsResource();
 }
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata_v-3.1.yaml
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata_v-3.1.yaml
index f131acb..a838a7d 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata_v-3.1.yaml
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata_v-3.1.yaml
@@ -1841,6 +1841,44 @@
       Content-Type: {value: application/xml|json, required: true}
       Expect: {value: 201-created, required: false}
       Correlation-Id: {value: 'any string', required: false}
+- name: /api/networks/{network:id}/permissions|rel=get
+  request:
+    body:
+      parameterType: null
+      signatures: []
+    urlparams:
+      max: {context: matrix, type: 'xs:int', value: 'max results', required: 
false}
+    headers: {}
+- name: /api/networks/{network:id}/permissions/{permission:id}|rel=get
+  request:
+    body:
+      parameterType: null
+      signatures: []
+    urlparams: {}
+    headers: {}
+- name: /api/networks/{network:id}/permissions/{permission:id}|rel=delete
+  request:
+    body:
+      parameterType: null
+      signatures: []
+    urlparams:
+      async: {context: matrix, type: 'xs:boolean', value: true|false, 
required: false}
+    headers:
+      Correlation-Id: {value: 'any string', required: false}
+- name: /api/networks/{network:id}/permissions|rel=add
+  request:
+    body:
+      parameterType: Permission
+      signatures:
+      - mandatoryArguments: {permission.user.id: 'xs:string', 
permission.role.id: 'xs:string'}
+        optionalArguments: {}
+      - mandatoryArguments: {permission.role.id: 'xs:string', 
permission.group.id: 'xs:string'}
+        optionalArguments: {}
+    urlparams: {}
+    headers:
+      Content-Type: {value: application/xml|json, required: true}
+      Expect: {value: 201-created, required: false}
+      Correlation-Id: {value: 'any string', required: false}
 - name: /api/roles|rel=get
   request:
     body:
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java
index ba71228..e31be10 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java
@@ -19,8 +19,11 @@
     protected VdcActionType addAction;
     protected VdcActionType removeAction;
 
-    public AbstractBackendNetworksResource(VdcQueryType queryType, 
VdcActionType addAction, VdcActionType removeAction) {
-        super(Network.class, 
org.ovirt.engine.core.common.businessentities.Network.class);
+    public AbstractBackendNetworksResource(VdcQueryType queryType,
+            VdcActionType addAction,
+            VdcActionType removeAction,
+            String... subCollections) {
+        super(Network.class, 
org.ovirt.engine.core.common.businessentities.Network.class, subCollections);
         this.queryType = queryType;
         this.addAction = addAction;
         this.removeAction = removeAction;
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResource.java
index db23d65..35216f3 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResource.java
@@ -2,14 +2,16 @@
 
 
 import org.ovirt.engine.api.model.Network;
+import org.ovirt.engine.api.resource.AssignedPermissionsResource;
 import org.ovirt.engine.api.resource.NetworkResource;
+import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.AddNetworkStoragePoolParameters;
-import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
+import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.queries.GetPermissionsForObjectParameters;
+import org.ovirt.engine.core.common.queries.VdcQueryType;
 
-public class BackendNetworkResource
-    extends AbstractBackendNetworkResource
-    implements NetworkResource {
+public class BackendNetworkResource extends AbstractBackendNetworkResource 
implements NetworkResource {
 
     public BackendNetworkResource(String id, BackendNetworksResource parent) {
         super(id, parent);
@@ -42,4 +44,13 @@
             return new 
AddNetworkStoragePoolParameters(entity.getstorage_pool_id().getValue(), 
updated);
         }
     }
+
+    @Override
+    public AssignedPermissionsResource getPermissionsResource() {
+        return inject(new BackendAssignedPermissionsResource(guid,
+                VdcQueryType.GetPermissionsForObject,
+                new GetPermissionsForObjectParameters(guid),
+                Network.class,
+                VdcObjectType.Network));
+    }
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java
index 51c7c61..c617628 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java
@@ -16,14 +16,12 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.Guid;
 
-public class BackendNetworksResource
-    extends AbstractBackendNetworksResource
-    implements NetworksResource {
+public class BackendNetworksResource extends AbstractBackendNetworksResource 
implements NetworksResource {
+
+    static final String[] SUB_COLLECTIONS = {"permissions"};
 
     public BackendNetworksResource() {
-        super(VdcQueryType.GetAllNetworks,
-              VdcActionType.AddNetwork,
-              VdcActionType.RemoveNetwork);
+        super(VdcQueryType.GetAllNetworks, VdcActionType.AddNetwork, 
VdcActionType.RemoveNetwork, SUB_COLLECTIONS);
     }
 
     @Override


--
To view, visit http://gerrit.ovirt.org/10033
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib2d2fab5f0e546fe92c9f5add7fc2a83b2c1d159
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Moti Asayag <masa...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to