Allon Mureinik has uploaded a new change for review. Change subject: core: Clean up RemoveStoragePool.canDoAction ......................................................................
core: Clean up RemoveStoragePool.canDoAction General java cleanup to RemoveStorageDomain.canDoAction() - moved action type setting to setActionMessageParameters(), used getXXXDao() methods where available and removed redundant null check. Change-Id: I8aa157b7589b3ae5039c71ca07c3dc11ff88ce0d Signed-off-by: Allon Mureinik <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java 1 file changed, 17 insertions(+), 14 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/34/11634/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java index 4915d67..ff18a56 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java @@ -282,21 +282,20 @@ @Override protected boolean canDoAction() { - boolean returnValue = super.canDoAction() && checkStoragePool() - && CheckStoragePoolStatusNotEqual(StoragePoolStatus.Up, - VdcBllMessages.ERROR_CANNOT_REMOVE_ACTIVE_STORAGE_POOL); - addCanDoActionMessage(VdcBllMessages.VAR__TYPE__STORAGE__POOL); - addCanDoActionMessage(VdcBllMessages.VAR__ACTION__REMOVE); - if (!returnValue) { + if (!super.canDoAction() || + checkStoragePool() || + CheckStoragePoolStatusNotEqual(StoragePoolStatus.Up, + VdcBllMessages.ERROR_CANNOT_REMOVE_ACTIVE_STORAGE_POOL)) { return false; } + if (getStoragePool().getstatus() != StoragePoolStatus.Uninitialized && !getParameters().getForceDelete() && !InitializeVds()) { return false; } + final List<storage_domains> poolDomains = - DbFacade.getInstance().getStorageDomainDao().getAllForStoragePool( - getStoragePool().getId()); + getStorageDomainDAO().getAllForStoragePool(getStoragePool().getId()); final List<storage_domains> activeOrLockedDomains = getActiveOrLockedDomainList(poolDomains); if (!activeOrLockedDomains.isEmpty()) { @@ -316,13 +315,11 @@ return failCanDoAction(VdcBllMessages.ERROR_CANNOT_REMOVE_STORAGE_POOL_WITH_IMAGES); } } - final List<VmStatic> vms = - DbFacade.getInstance().getVmStaticDao().getAllByStoragePoolId(getStoragePool().getId()); - if (vms.size() > 0) { + final List<VmStatic> vms = getVmStaticDAO().getAllByStoragePoolId(getStoragePool().getId()); + if (!vms.isEmpty()) { return failCanDoAction(VdcBllMessages.ERROR_CANNOT_REMOVE_STORAGE_POOL_WITH_VMS); } - } - else { + } else { List<VDS> poolHosts = getVdsDAO().getAllForStoragePool(getParameters().getStoragePoolId()); sharedLocks = new HashMap<String, String>(); @@ -330,7 +327,7 @@ sharedLocks.put(host.getId().toString(), LockingGroup.VDS.name()); } - if (poolHosts != null && !poolHosts.isEmpty() && acquireLockInternal()) { + if (!poolHosts.isEmpty() && acquireLockInternal()) { for (VDS host : poolHosts) { if (host.getstatus() != VDSStatus.Maintenance) { return failCanDoAction(VdcBllMessages.ERROR_CANNOT_FORCE_REMOVE_STORAGE_POOL_WITH_VDS_NOT_IN_MAINTENANCE); @@ -342,6 +339,12 @@ return true; } + @Override + protected void setActionMessageParameters() { + addCanDoActionMessage(VdcBllMessages.VAR__TYPE__STORAGE__POOL); + addCanDoActionMessage(VdcBllMessages.VAR__ACTION__REMOVE); + } + protected List<storage_domains> getActiveOrLockedDomainList(List<storage_domains> domainsList) { domainsList = LinqUtils.filter(domainsList, new Predicate<storage_domains>() { @Override -- To view, visit http://gerrit.ovirt.org/11634 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8aa157b7589b3ae5039c71ca07c3dc11ff88ce0d Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Allon Mureinik <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
