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

Reply via email to