Daniel Erez has uploaded a new change for review. Change subject: core: adding GetAllDisksByStorageDomainIdQuery ......................................................................
core: adding GetAllDisksByStorageDomainIdQuery Adding a new query for getting DiskImages by StorageDomainId: GetAllDisksByStorageDomainIdQuery Change-Id: I017e12a7b3b77ee618f257ab3d719b98bc21eebc Signed-off-by: Daniel Erez <de...@redhat.com> --- M backend/manager/dbscripts/disk_images_sp.sql A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllDisksByStorageDomainIdQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAO.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAOWrapperImpl.java 6 files changed, 57 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/21/10321/1 diff --git a/backend/manager/dbscripts/disk_images_sp.sql b/backend/manager/dbscripts/disk_images_sp.sql index 656c207..3d9220b 100644 --- a/backend/manager/dbscripts/disk_images_sp.sql +++ b/backend/manager/dbscripts/disk_images_sp.sql @@ -152,3 +152,16 @@ WHERE d.disk_id = i.image_group_id); END; $procedure$ LANGUAGE plpgsql; + + + + +Create or replace FUNCTION GetImagesByStorageId(v_storage_id UUID) +RETURNS SETOF images_storage_domain_view + AS $procedure$ +BEGIN + RETURN QUERY SELECT images_storage_domain_view.* + FROM images_storage_domain_view + WHERE images_storage_domain_view.storage_id = v_storage_id; +END; $procedure$ +LANGUAGE plpgsql; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllDisksByStorageDomainIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllDisksByStorageDomainIdQuery.java new file mode 100644 index 0000000..cd3fa80 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllDisksByStorageDomainIdQuery.java @@ -0,0 +1,18 @@ +package org.ovirt.engine.core.bll; + +import org.ovirt.engine.core.common.queries.StorageDomainQueryParametersBase; +import org.ovirt.engine.core.dal.dbbroker.DbFacade; + +public class GetAllDisksByStorageDomainIdQuery<P extends StorageDomainQueryParametersBase> extends QueriesCommandBase<P> { + + public GetAllDisksByStorageDomainIdQuery(P parameters) { + super(parameters); + } + + @Override + protected void executeQueryCommand() { + getQueryReturnValue().setReturnValue( + DbFacade.getInstance().getDiskImageDao().getImagesByStorageId(getParameters().getStorageDomainId())); + } + +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java index be6a423..2c9023c 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java @@ -93,6 +93,7 @@ GetAllFloppyImagesListByStoragePoolId(VdcQueryAuthType.User), GetAllDisksByVmId(VdcQueryAuthType.User), GetAllAttachableDisks(VdcQueryAuthType.User), + GetAllDisksByStorageDomainId, GetAllDisks, GetImageByImageId, GetDiskByDiskId, diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAO.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAO.java index 6c35574..9984ade 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAO.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAO.java @@ -75,6 +75,15 @@ */ List<DiskImage> getImagesWithNoDisk(Guid vmId); + /** + * Retrieves all images for the specified Storage Domain id. + * + * @param id + * the Storage Domain id + * @return the list of images + */ + List<DiskImage> getImagesByStorageId(Guid storageId); + // TODO mapping methods moved out of DbFacade that will be removed when we have Hibernate List<DiskImage> getAllForQuotaId(Guid quotaId); } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java index b8a68b5..ce0b674 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java @@ -104,6 +104,15 @@ } @Override + public List<DiskImage> getImagesByStorageId(Guid storageId) { + MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() + .addValue("storage_id", storageId); + + return getCallsHandler().executeReadList("GetImagesByStorageId", + DiskImageRowMapper.instance, + parameterSource); + } + public List<DiskImage> getImagesWithNoDisk(Guid vmId) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("vm_id", vmId); diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAOWrapperImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAOWrapperImpl.java index 763e900..b8a124d 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAOWrapperImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAOWrapperImpl.java @@ -72,7 +72,14 @@ } @Override + public List<DiskImage> getImagesByStorageId(Guid storageId) { + // TODO Auto-generated method stub + return null; + } + + @Override public List<DiskImage> getImagesWithNoDisk(Guid vmId) { throw new NotImplementedException(); } + } -- To view, visit http://gerrit.ovirt.org/10321 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I017e12a7b3b77ee618f257ab3d719b98bc21eebc Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <de...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches