Maor Lipchuk has uploaded a new change for review. Change subject: core: Use storage validator for images handler. ......................................................................
core: Use storage validator for images handler. Use storage validator instead regular check when validating space requirements in images handler functionality. Change-Id: I212da7c8d1042e54eafaa2e2367081dd1315e003 Signed-off-by: Maor Lipchuk <mlipc...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java 1 file changed, 36 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/86/11586/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java index 13942c9..37bb1f4 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java @@ -9,7 +9,6 @@ import java.util.Set; import org.apache.commons.lang.StringUtils; -import org.ovirt.engine.core.bll.command.utils.StorageDomainSpaceChecker; import org.ovirt.engine.core.bll.storage.StorageHelperDirector; import org.ovirt.engine.core.bll.utils.VmDeviceUtils; import org.ovirt.engine.core.bll.validator.StorageDomainValidator; @@ -79,7 +78,7 @@ for (storage_domains storageDomain : domains) { StorageDomainValidator validator = new StorageDomainValidator(storageDomain); if (validator.isDomainExistAndActive().isValid() && validator.domainIsValidDestination().isValid() - && (notCheckSize || StorageDomainSpaceChecker.isWithinThresholds(storageDomain))) { + && (notCheckSize || isStorageDomainWithinThresholds(storageDomain, null, false))) { storageDomainsMap.put(storageDomain.getId(), storageDomain); } } @@ -537,10 +536,8 @@ messages.add(res.getMessage().toString()); } } - if (diskSpaceCheck && returnValue && !StorageDomainSpaceChecker.isWithinThresholds(domain)) { - returnValue = false; - ListUtils.nullSafeAdd(messages, VdcBllMessages.ACTION_TYPE_FAILED_DISK_SPACE_LOW.toString()); - break; + if (diskSpaceCheck && returnValue && !isStorageDomainWithinThresholds(domain, messages, true)) { + return false; } } } @@ -558,6 +555,39 @@ return returnValue; } + /** + * Returns whether the storage domain is within the threshold + * + * @param storageDomain + * - The storage domain to be checked. + * @param messages + * - Add a message to the messages list. + * @param addCanDoMessage + * - Indicate whether to add a CDA message for failure + * @return <code>boolean</code> value which indicates if the storage domain has enough free space. + */ + private static boolean isStorageDomainWithinThresholds(storage_domains storageDomain, + List<String> messages, + boolean addCanDoMessage) { + ValidationResult validationResult = new StorageDomainValidator(storageDomain).isDomainWithinThresholds(); + if (addCanDoMessage) { + validate(validationResult, messages); + } + return validationResult.isValid(); + } + + private static boolean validate(ValidationResult validationResult, List<String> messages) { + if (!validationResult.isValid()) { + ListUtils.nullSafeAdd(messages, validationResult.getMessage().name()); + if (validationResult.getVariableReplacements() != null) { + for (String variableReplacement : validationResult.getVariableReplacements()) { + messages.add(variableReplacement); + } + } + } + return validationResult.isValid(); + } + private static boolean CheckImagesLegality (List<String> messages, List<DiskImage> images, List<DiskImage> irsImages) { boolean returnValue = true; -- To view, visit http://gerrit.ovirt.org/11586 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I212da7c8d1042e54eafaa2e2367081dd1315e003 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Maor Lipchuk <mlipc...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches