Eli Mesika has uploaded a new change for review.

Change subject: core[BLL]: Adding external status to command
......................................................................

core[BLL]: Adding external status to command

This patch handles the required changes in the AddExternalEventCommand

Change-Id: Ic8b8e3c0f6f54336d8ac1a621e69cd22cb79da80
Signed-off-by: emesika <emes...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddExternalEventCommand.java
1 file changed, 20 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/35/42135/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddExternalEventCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddExternalEventCommand.java
index 74d5bfe..f673791 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddExternalEventCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddExternalEventCommand.java
@@ -8,10 +8,12 @@
 import org.ovirt.engine.core.common.action.AddExternalEventParameters;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.AuditLog;
+import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMapId;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AlertDirector;
 import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
+import org.ovirt.engine.core.dao.StoragePoolIsoMapDAO;
 import org.ovirt.engine.core.dao.VdsDynamicDAO;
 
 import javax.inject.Inject;
@@ -20,6 +22,8 @@
     private static final String OVIRT="oVirt";
 
     @Inject VdsDynamicDAO hostDao;
+
+    @Inject StoragePoolIsoMapDAO storagePoolIsoMapDAO;
 
     public AddExternalEventCommand(T parameters) {
         super(parameters);
@@ -66,6 +70,12 @@
         if (hasHostExternalStatus()) {
             
hostDao.updateExternalStatus(getParameters().getEvent().getVdsId(), 
getParameters().getExternalStatus());
         }
+
+        // update storage domain external status if set
+        if (hasStorageDomainExternalStatus()) {
+            StoragePoolIsoMapId id = new 
StoragePoolIsoMapId(getParameters().getEvent().getStorageDomainId(), 
getParameters().getEvent().getStoragePoolId());
+            storagePoolIsoMapDAO.updateExternalStatus(id, 
getParameters().getExternalStatus());
+        }
     }
 
     @Override
@@ -76,10 +86,20 @@
             permissionList.add(new 
PermissionSubject(getParameters().getEvent().getVdsId(),
                     VdcObjectType.VDS, ActionGroup.EDIT_HOST_CONFIGURATION));
         }
+        if (hasStorageDomainExternalStatus()) {
+            permissionList.add(new 
PermissionSubject(getParameters().getEvent().getStorageDomainId(),
+                    VdcObjectType.Storage, 
ActionGroup.EDIT_STORAGE_DOMAIN_CONFIGURATION));
+        }
         return permissionList;
     }
 
     private boolean hasHostExternalStatus() {
         return getParameters().getEvent().getVdsId() != null && 
getParameters().getExternalStatus() != null;
     }
+
+    private boolean hasStorageDomainExternalStatus() {
+        return getParameters().getEvent().getStorageDomainId() != null &&
+               getParameters().getEvent().getStoragePoolId() != null  &&
+               getParameters().getExternalStatus() != null;
+    }
 }


-- 
To view, visit https://gerrit.ovirt.org/42135
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic8b8e3c0f6f54336d8ac1a621e69cd22cb79da80
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Eli Mesika <emes...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to