Maor Lipchuk has uploaded a new change for review. Change subject: REST: Add calls for queries to get unregistered entities. ......................................................................
REST: Add calls for queries to get unregistered entities. Add support for REST to call queries for unregistered entities. Change-Id: I7adacfabe640fba6b0ae1a77d27cbe03c28edd37 Signed-off-by: Maor Lipchuk <[email protected]> --- M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendStorageDomainContentsResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainTemplatesResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainVmsResource.java 3 files changed, 28 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/28/27628/1 diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendStorageDomainContentsResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendStorageDomainContentsResource.java index c21bfca..4992c82 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendStorageDomainContentsResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendStorageDomainContentsResource.java @@ -22,7 +22,7 @@ R extends BaseResource, Q extends IVdcQueryable> extends AbstractBackendCollectionResource<R, Q> { - + protected static final String UNREGISTERED_CONSTRAINT_PARAMETER = "unregistered"; protected Guid storageDomainId; public AbstractBackendStorageDomainContentsResource(Guid storageDomainId, diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainTemplatesResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainTemplatesResource.java index a2ecaf5..0c31a59 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainTemplatesResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainTemplatesResource.java @@ -1,5 +1,6 @@ package org.ovirt.engine.api.restapi.resource; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; @@ -7,6 +8,7 @@ import javax.ws.rs.core.Response; +import org.ovirt.engine.api.common.util.QueryHelper; import org.ovirt.engine.api.model.Template; import org.ovirt.engine.api.model.Templates; import org.ovirt.engine.api.resource.RemovableStorageDomainContentsResource; @@ -16,6 +18,7 @@ import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.queries.GetAllFromExportDomainQueryParameters; +import org.ovirt.engine.core.common.queries.IdAndNameQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; @@ -30,6 +33,18 @@ @Override public Templates list() { Templates templates = new Templates(); + if (QueryHelper.hasMatrixParam(getUriInfo(), UNREGISTERED_CONSTRAINT_PARAMETER)) { + List<org.ovirt.engine.core.common.businessentities.VmTemplate> unregisteredTemplates = + getBackendCollection(VdcQueryType.GetUnregisteredVmTemplates, new IdAndNameQueryParameters(storageDomainId, + "Template")); + List<Template> collection = new ArrayList<Template>(); + for (org.ovirt.engine.core.common.businessentities.VmTemplate entity : unregisteredTemplates) { + Template vmTemplate = map(entity); + collection.add(addLinks(populate(vmTemplate, entity))); + } + templates.getTemplates().addAll(collection); + } + templates.getTemplates().addAll(getCollection()); return templates; } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainVmsResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainVmsResource.java index 24f5463..af54155 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainVmsResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainVmsResource.java @@ -15,6 +15,7 @@ import org.ovirt.engine.core.common.action.RemoveVmFromImportExportParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.queries.GetAllFromExportDomainQueryParameters; +import org.ovirt.engine.core.common.queries.IdAndNameQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; @@ -29,6 +30,17 @@ @Override public VMs list() { VMs vms = new VMs(); + if (QueryHelper.hasMatrixParam(getUriInfo(), UNREGISTERED_CONSTRAINT_PARAMETER)) { + List<org.ovirt.engine.core.common.businessentities.VM> unregisteredVms = + getBackendCollection(VdcQueryType.GetUnregisteredVms, new IdAndNameQueryParameters(storageDomainId, + "VM")); + List<VM> collection = new ArrayList<VM>(); + for (org.ovirt.engine.core.common.businessentities.VM entity : unregisteredVms) { + VM vm = map(entity); + collection.add(addLinks(populate(vm, entity))); + } + vms.getVMs().addAll(collection); + } vms.getVMs().addAll(getCollection()); return vms; } -- To view, visit http://gerrit.ovirt.org/27628 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7adacfabe640fba6b0ae1a77d27cbe03c28edd37 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Maor Lipchuk <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
