Daniel Erez has uploaded a new change for review. Change subject: core: GetAllDisksByStorageDomainIdQuery - support Cinder disks ......................................................................
core: GetAllDisksByStorageDomainIdQuery - support Cinder disks Support Cinder disks in GetAllDisksByStorageDomainIdQuery. Change-Id: I3aa49823d72175f75dcc077c56b7ea53754076f1 Bug-Url: https://bugzilla.redhat.com/1185826 Signed-off-by: Daniel Erez <de...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllDisksByStorageDomainIdQuery.java 1 file changed, 27 insertions(+), 19 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/48/39648/1 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 index c544c77..546993c 100644 --- 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 @@ -6,6 +6,7 @@ import java.util.Map; import org.ovirt.engine.core.bll.context.EngineContext; +import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.compat.Guid; @@ -22,29 +23,36 @@ @Override protected void executeQueryCommand() { - List<DiskImage> diskImages = - getDbFacade().getDiskImageDao().getAllSnapshotsForStorageDomain(getParameters().getId()); - - Map<Guid, DiskImage> diskImagesMap = new HashMap<Guid, DiskImage>(); - - // Get active diskImages - for (DiskImage diskImage : diskImages) { - if (diskImage.getActive()) { - diskImage.getSnapshots().add(DiskImage.copyOf(diskImage)); - diskImagesMap.put(diskImage.getId(), diskImage); - } + StorageDomain storageDomain = getDbFacade().getStorageDomainDao().get(getParameters().getId()); + if (storageDomain.getStorageType().isCinderDomain()) { + List<DiskImage> diskImages = getDbFacade().getDiskImageDao().getAllForStorageDomain(getParameters().getId()); + getQueryReturnValue().setReturnValue(diskImages); } + else { + List<DiskImage> diskImages = + getDbFacade().getDiskImageDao().getAllSnapshotsForStorageDomain(getParameters().getId()); - // Update diskImages' snapshots - for (DiskImage diskImage : diskImages) { - if (!diskImage.getActive()) { - DiskImage activeImage = diskImagesMap.get(diskImage.getId()); - if (activeImage != null) { - activeImage.getSnapshots().add(diskImage); + Map<Guid, DiskImage> diskImagesMap = new HashMap<Guid, DiskImage>(); + + // Get active diskImages + for (DiskImage diskImage : diskImages) { + if (diskImage.getActive()) { + diskImage.getSnapshots().add(DiskImage.copyOf(diskImage)); + diskImagesMap.put(diskImage.getId(), diskImage); } } - } - getQueryReturnValue().setReturnValue(new ArrayList<DiskImage>(diskImagesMap.values())); + // Update diskImages' snapshots + for (DiskImage diskImage : diskImages) { + if (!diskImage.getActive()) { + DiskImage activeImage = diskImagesMap.get(diskImage.getId()); + if (activeImage != null) { + activeImage.getSnapshots().add(diskImage); + } + } + } + + getQueryReturnValue().setReturnValue(new ArrayList<DiskImage>(diskImagesMap.values())); + } } } -- To view, visit https://gerrit.ovirt.org/39648 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3aa49823d72175f75dcc077c56b7ea53754076f1 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