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

Reply via email to