Ravi Nori has uploaded a new change for review. Change subject: restapi: if filter: header is set, use query instead of search (#882946) ......................................................................
restapi: if filter: header is set, use query instead of search (#882946) When the filter option is specified the api query should not throw a insufficient permissions exception. Instead the query should return a list of objects that the user has permissions for. Change-Id: I00eeb96515cb50431f73f8fc66d2730b143f14af Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=882946 Signed-off-by: Ravi Nori <rn...@redhat.com> --- M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResource.java 1 file changed, 12 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/88/12088/1 diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResource.java index b1e842b..7020d32 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResource.java @@ -21,6 +21,7 @@ import org.ovirt.engine.core.common.queries.GetAllVmPoolsAttachedToUserParameters; import org.ovirt.engine.core.common.queries.GetVmPoolByIdParameters; import org.ovirt.engine.core.common.queries.GetVmTemplateParameters; +import org.ovirt.engine.core.common.queries.GetVmdataByPoolIdParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.common.users.VdcUser; @@ -84,13 +85,23 @@ @Override public VmPool populate(VmPool pool, vm_pools entity) { if (pool.isSetSize() && pool.getSize() > 0) { - VM vm = getEntity(VM.class, SearchType.VM, "Vms: pool=" + pool.getName()); + VM vm = getVM(pool); pool.setTemplate(new Template()); pool.getTemplate().setId(vm.getvmt_guid().toString()); } return pool; } + private VM getVM(VmPool pool) { + if (isFiltered()) { + return getEntity(VM.class, + VdcQueryType.GetVmDataByPoolId, + new GetVmdataByPoolIdParameters(asGuid(pool.getId())), + pool.getId()); + } + return getEntity(VM.class, SearchType.VM, "Vms: pool=" + pool.getName()); + } + protected VM mapToVM(VmPool model, VmTemplate template) { // REVISIT: we should reverse the mapping order here, // so that we map from template->VM in the first instance -- To view, visit http://gerrit.ovirt.org/12088 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I00eeb96515cb50431f73f8fc66d2730b143f14af Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: engine_3.1 Gerrit-Owner: Ravi Nori <rn...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches