Ravi Nori has uploaded a new change for review. Change subject: restapi: if filter: header is set, use query instead of search (#869334) ......................................................................
restapi: if filter: header is set, use query instead of search (#869334) 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: I0e459fc315753e88e8a1f232a206303568b44492 Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=869334 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/85/12085/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 c404a70..963656a 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; import org.ovirt.engine.core.compat.Guid; @@ -90,13 +91,23 @@ @Override protected VmPool deprecatedPopulate(VmPool model, vm_pools entity) { if (model.isSetSize() && model.getSize() > 0) { - VM vm = getEntity(VM.class, SearchType.VM, "Vms: pool=" + model.getName()); + VM vm = getVM(model); model.setTemplate(new Template()); model.getTemplate().setId(vm.getVmtGuid().toString()); } return model; } + private VM getVM(VmPool model) { + if (isFiltered()) { + return getEntity(VM.class, + VdcQueryType.GetVmDataByPoolId, + new GetVmdataByPoolIdParameters(asGuid(model.getId())), + model.getId()); + } + return getEntity(VM.class, SearchType.VM, "Vms: pool=" + model.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/12085 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0e459fc315753e88e8a1f232a206303568b44492 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: engine_3.2 Gerrit-Owner: Ravi Nori <rn...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches