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