Allon Mureinik has uploaded a new change for review.

Change subject: core: Streamline TryBackToAllSnapshots canDoAction
......................................................................

core: Streamline TryBackToAllSnapshots canDoAction

Refactored TryBackToAllSnapshotsOfVmCommand.canDoAction to be more
readable using the early return pattern and overriding
setActionMessageParameters().

Change-Id: I0c96b782837e3a4eaef5399ca20a2b0738db3370
Signed-off-by: Allon Mureinik <amure...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
1 file changed, 24 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/48/11448/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
index 4f0a23b..c608f47 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
@@ -205,20 +205,19 @@
         Snapshot snapshot = 
getSnapshotDao().get(getParameters().getDstSnapshotId());
         SnapshotsValidator snapshotsValidator = new SnapshotsValidator();
         VmValidator vmValidator = new VmValidator(getVm());
-        boolean result =
-                validate(vmValidator.vmDown())
-                        && 
validate(snapshotsValidator.vmNotDuringSnapshot(getVmId()))
-                        && 
validate(snapshotsValidator.vmNotInPreview(getVmId()))
-                        && 
validate(snapshotsValidator.snapshotExists(snapshot))
-                        && 
validate(snapshotsValidator.snapshotNotBroken(snapshot));
+        if (!validate(vmValidator.vmDown())
+                || !validate(snapshotsValidator.vmNotDuringSnapshot(getVmId()))
+                || !validate(snapshotsValidator.vmNotInPreview(getVmId()))
+                || !validate(snapshotsValidator.snapshotExists(snapshot))
+                || !validate(snapshotsValidator.snapshotNotBroken(snapshot))) {
+            return false;
+        }
 
         Collection<DiskImage> diskImages =
                 ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), 
false, true);
         if (!diskImages.isEmpty()) {
-            result =
-                    result
-                            && validate(new 
StoragePoolValidator(getStoragePool()).isUp())
-                            && ImagesHandler.PerformImagesChecks(
+          if (!validate(new StoragePoolValidator(getStoragePool()).isUp())
+                  || !ImagesHandler.PerformImagesChecks(
                                     getReturnValue().getCanDoActionMessages(),
                                     getVm().getStoragePoolId(),
                                     Guid.Empty,
@@ -228,23 +227,28 @@
                                     false,
                                     true,
                                     true,
-                                    diskImages);
+                                    diskImages)) {
+              return false;
+          }
         }
-        if (result && LinqUtils.foreach(diskImages, new Function<DiskImage, 
Guid>() {
+
+        List<Guid> snapshotIds = LinqUtils.foreach(diskImages, new 
Function<DiskImage, Guid>() {
             @Override
             public Guid eval(DiskImage disk) {
                 return disk.getvm_snapshot_id().getValue();
             }
-        }).contains(getParameters().getDstSnapshotId())) {
-            result = false;
-            addCanDoActionMessage(VdcBllMessages.CANNOT_PREIEW_CURRENT_IMAGE);
+        });
+        if (snapshotIds.contains(getParameters().getDstSnapshotId())) {
+            return failCanDoAction(VdcBllMessages.CANNOT_PREIEW_CURRENT_IMAGE);
         }
 
-        if (!result) {
-            addCanDoActionMessage(VdcBllMessages.VAR__ACTION__PREVIEW);
-            addCanDoActionMessage(VdcBllMessages.VAR__TYPE__SNAPSHOT);
-        }
-        return result;
+        return true;
+    }
+
+    @Override
+    protected void setActionMessageParameters() {
+        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__PREVIEW);
+        addCanDoActionMessage(VdcBllMessages.VAR__TYPE__SNAPSHOT);
     }
 
     protected void updateVmDisksFromDb() {


--
To view, visit http://gerrit.ovirt.org/11448
To unsubscribe, visit http://gerrit.ovirt.org/settings

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

Reply via email to