Liron Aravot has uploaded a new change for review.

Change subject: core: RemoveImageParameters - added removeDuringExecution flag
......................................................................

core: RemoveImageParameters - added removeDuringExecution flag

Added a flag indicating whether an image should be removed during the
execute phase of the RemoveImage command or during the endSuccesfully
method.

Change-Id: I0ba734a97db220f913bdee88dbfeeba76981f5a3
Signed-off-by: Liron Aravot <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveImageCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RemoveImageParameters.java
3 files changed, 22 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/30/11330/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
index f663707..c3f741e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
@@ -268,6 +268,7 @@
             p.setTransactionScopeOption(TransactionScopeOption.Suppress);
             p.setDiskImage(diskImage);
             p.setParentCommand(VdcActionType.RemoveDisk);
+            p.setRemoveDuringExecution(false);
             p.setEntityId(getParameters().getEntityId());
             p.setParentParameters(getParameters());
             p.setStorageDomainId(getParameters().getStorageDomainId());
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveImageCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveImageCommand.java
index 96ac3c3..50c3fe0 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveImageCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveImageCommand.java
@@ -80,9 +80,9 @@
                             VdcObjectType.Storage,
                             getParameters().getStorageDomainId()));
 
-            if (getParameters().getParentCommand() != 
VdcActionType.RemoveVmFromImportExport
-                    && getParameters().getParentCommand() != 
VdcActionType.RemoveVmTemplateFromImportExport
-                    && getParameters().getParentCommand() != 
VdcActionType.RemoveDisk) {
+            if (getParameters().isRemoveDuringExecution()
+                    && getParameters().getParentCommand() != 
VdcActionType.RemoveVmFromImportExport
+                    && getParameters().getParentCommand() != 
VdcActionType.RemoveVmTemplateFromImportExport) {
                 removeImageFromDB(false);
             }
         } else {
@@ -268,13 +268,15 @@
     }
 
     private void endCommand() {
-        if (getParameters().getRemoveFromDB()) {
-            removeImageFromDB(true);
-        } else {
-            getImageStorageDomainMapDao().remove(
-                    new ImageStorageDomainMapId(getParameters().getImageId(),
-                            getParameters().getStorageDomainId()));
-            unLockImage();
+        if (!getParameters().isRemoveDuringExecution()) {
+            if (getParameters().getRemoveFromDB()) {
+                removeImageFromDB(true);
+            } else {
+                getImageStorageDomainMapDao().remove(
+                        new 
ImageStorageDomainMapId(getParameters().getImageId(),
+                                getParameters().getStorageDomainId()));
+                unLockImage();
+            }
         }
         setSucceeded(true);
     }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RemoveImageParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RemoveImageParameters.java
index b96c039..22b2197 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RemoveImageParameters.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RemoveImageParameters.java
@@ -8,6 +8,7 @@
 
     private DiskImage diskImage;
     private boolean removeFromDB;
+    private boolean removeDuringExecution = true;
 
     public RemoveImageParameters(Guid imageId) {
         super(imageId, null);
@@ -26,6 +27,14 @@
         diskImage = value;
     }
 
+    public boolean isRemoveDuringExecution() {
+        return removeDuringExecution;
+    }
+
+    public void setRemoveDuringExecution(boolean removeDuringExecution) {
+        this.removeDuringExecution = removeDuringExecution;
+    }
+
     public void setRemoveFromDB(boolean removeFromDB) {
         this.removeFromDB = removeFromDB;
     }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0ba734a97db220f913bdee88dbfeeba76981f5a3
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Liron Aravot <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to