Maor Lipchuk has uploaded a new change for review. Change subject: core: Add cinder helper method for Cinder disks ......................................................................
core: Add cinder helper method for Cinder disks Add Cinder helper method to return filtered subjectentities for Cinder disks. Change-Id: I59afc1d6814ccdf343615322f758bd473482a296 Bug-Url: https://bugzilla.redhat.com/1185826 Signed-off-by: Maor Lipchuk <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CINDERStorageHelper.java 1 file changed, 26 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/75/40675/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CINDERStorageHelper.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CINDERStorageHelper.java index b3d1002..d2cf27b 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CINDERStorageHelper.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CINDERStorageHelper.java @@ -1,15 +1,19 @@ package org.ovirt.engine.core.bll.storage; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; import org.ovirt.engine.core.bll.ValidationResult; import org.ovirt.engine.core.bll.provider.storage.OpenStackVolumeProviderProxy; import org.ovirt.engine.core.common.AuditLogType; +import org.ovirt.engine.core.common.VdcObjectType; import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.StorageDomainStatus; import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap; import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMapId; +import org.ovirt.engine.core.common.businessentities.SubjectEntity; +import org.ovirt.engine.core.common.businessentities.storage.CinderDisk; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; import org.ovirt.engine.core.common.errors.VdcBLLException; import org.ovirt.engine.core.common.errors.VdcBllMessages; @@ -20,6 +24,8 @@ import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase; import org.ovirt.engine.core.dao.StoragePoolIsoMapDAO; +import org.ovirt.engine.core.utils.linq.LinqUtils; +import org.ovirt.engine.core.utils.linq.Predicate; import org.ovirt.engine.core.utils.transaction.TransactionMethod; import org.ovirt.engine.core.utils.transaction.TransactionSupport; import org.slf4j.Logger; @@ -134,6 +140,26 @@ updateCinderDomainStatus(storageDomainId, storagePoolId, StorageDomainStatus.Maintenance); } + public static SubjectEntity[] getStorageEntitiesForCoco(List<CinderDisk> cinderDisks) { + List<SubjectEntity> storageSubjects = new ArrayList<>(); + for (final CinderDisk cinderDisk : cinderDisks) { + SubjectEntity subjectStorage = LinqUtils.firstOrNull(storageSubjects, new Predicate<SubjectEntity>() { + @Override + public boolean eval(SubjectEntity storageSubject) { + return storageSubject.getEntityId().equals(cinderDisk.getStorageIds().get(0)); + } + }); + + if (subjectStorage == null) { + SubjectEntity se = new SubjectEntity(VdcObjectType.Storage, cinderDisk.getStorageIds().get(0)); + storageSubjects.add(se); + } + } + SubjectEntity[] subjectEntities = new SubjectEntity[storageSubjects.size()]; + storageSubjects.toArray(subjectEntities); + return subjectEntities; + } + private StoragePoolIsoMapDAO getStoragePoolIsoMapDAO() { return getDbFacade().getStoragePoolIsoMapDao(); } -- To view, visit https://gerrit.ovirt.org/40675 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I59afc1d6814ccdf343615322f758bd473482a296 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
