Arik Hadas has uploaded a new change for review.

Change subject: core: change how async tasks are persisted using 
TaskHandlerCommand
......................................................................

core: change how async tasks are persisted using TaskHandlerCommand

Add a way to specify the taskKey of the to-be-persisted task, by
introducing new method that gets the key as a String.

The previous way that was exist for adding async tasks by the
TaskHandlerCommand send the action-type of the enclosing command as the
parent command. this behaviour is now being generalized - the enclosing
command itself will determine whether it should be the parent or other
by override the persist* methods in TaskHandlerCommand interface.

Change-Id: Iee869f68724e67e256e7342f3a5201b7e6d3a30c
Signed-off-by: Arik Hadas <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractSPMAsyncTaskHandler.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateDiskCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskHandlerCommand.java
7 files changed, 29 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/98/16398/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractSPMAsyncTaskHandler.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractSPMAsyncTaskHandler.java
index 1745b20..7fe62a4 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractSPMAsyncTaskHandler.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractSPMAsyncTaskHandler.java
@@ -36,7 +36,7 @@
         if (getEnclosingCommand().getParameters().getTaskGroupSuccess()) {
             getReturnValue().setSucceeded(false);
             beforeTask();
-            Guid taskId = 
getEnclosingCommand().persistAsyncTaskPlaceHolder(getEnclosingCommand().getActionType());
+            Guid taskId = getEnclosingCommand().persistAsyncTaskPlaceHolder();
 
             addTask(taskId, Backend.getInstance().getResourceManager()
                     .RunVdsCommand(getVDSCommandType(), getVDSParameters()), 
false);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
index 712f0dc..b56b1e1 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
@@ -572,4 +572,12 @@
     public ArrayList<Guid> getTaskIdList() {
         return super.getTaskIdList();
     }
+
+    public Guid persistAsyncTaskPlaceHolder() {
+        return super.persistAsyncTaskPlaceHolder(getActionType());
+    }
+
+    public Guid persistAsyncTaskPlaceHolder(String taskKey) {
+        return super.persistAsyncTaskPlaceHolder(getActionType(), taskKey);
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java
index a36cdd1..3e06b1e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java
@@ -46,8 +46,8 @@
 
 public abstract class VmCommand<T extends VmOperationParameterBase> extends 
CommandBase<T> {
 
-    private static final String DELETE_PRIMARY_IMAGE_TASK_KEY = 
"DELETE_PRIMARY_IMAGE_TASK_KEY";
-    private static final String DELETE_SECONDARY_IMAGES_TASK_KEY = 
"DELETE_SECONDARY_IMAGES_TASK_KEY";
+    public static final String DELETE_PRIMARY_IMAGE_TASK_KEY = 
"DELETE_PRIMARY_IMAGE_TASK_KEY";
+    public static final String DELETE_SECONDARY_IMAGES_TASK_KEY = 
"DELETE_SECONDARY_IMAGES_TASK_KEY";
     private static final int Kb = 1024;
     protected final static int MAX_NETWORK_INTERFACES_SUPPORTED = 8;
     private OsRepository osRepository = 
SimpleDependecyInjector.getInstance().get(OsRepository.class);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateDiskCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateDiskCommand.java
index 53ed7cb..a83e96f 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateDiskCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateDiskCommand.java
@@ -76,11 +76,6 @@
     }
 
     @Override
-    public Guid persistAsyncTaskPlaceHolder(VdcActionType parentCommand) {
-        return super.persistAsyncTaskPlaceHolder(parentCommand);
-    }
-
-    @Override
     public Guid createTask(Guid taskId,
             AsyncTaskCreationInfo asyncTaskCreationInfo,
             VdcActionType parentCommand,
@@ -104,6 +99,14 @@
         return super.getTaskIdList();
     }
 
+    public Guid persistAsyncTaskPlaceHolder() {
+        return super.persistAsyncTaskPlaceHolder(getActionType());
+    }
+
+    public Guid persistAsyncTaskPlaceHolder(String taskKey) {
+        return super.persistAsyncTaskPlaceHolder(getActionType(), taskKey);
+    }
+
     @Override
     protected void endSuccessfully() {
         super.endSuccessfully();
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java
index fd709c8..6c3582a 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java
@@ -81,9 +81,12 @@
         return super.createTask(taskId, asyncTaskCreationInfo, parentCommand, 
entityType, entityIds);
     }
 
-    @Override
-    public Guid persistAsyncTaskPlaceHolder(VdcActionType parentCommand) {
-        return super.persistAsyncTaskPlaceHolder(parentCommand);
+    public Guid persistAsyncTaskPlaceHolder() {
+        return super.persistAsyncTaskPlaceHolder(getActionType());
+    }
+
+    public Guid persistAsyncTaskPlaceHolder(String taskKey) {
+        return super.persistAsyncTaskPlaceHolder(getActionType(), taskKey);
     }
 
     @Override
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java
index b172a04..5aedb53 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java
@@ -71,7 +71,7 @@
                     "Failed to create image for vm configuration!");
         }
 
-        Guid taskId = 
enclosingCommand.persistAsyncTaskPlaceHolder(enclosingCommand.getActionType(), 
CREATE_IMAGE_FOR_VM_TASK_KEY);
+        Guid taskId = 
enclosingCommand.persistAsyncTaskPlaceHolder(CREATE_IMAGE_FOR_VM_TASK_KEY);
         Guid guid = enclosingCommand.createTask(
                 taskId,
                 retVal.getCreationInfo(),
@@ -102,7 +102,7 @@
                     "Failed to create image for memory!");
         }
 
-        Guid taskId = 
enclosingCommand.persistAsyncTaskPlaceHolder(enclosingCommand.getActionType(), 
CREATE_IMAGE_FOR_MEMORY_DUMP_TASK_KEY);
+        Guid taskId = 
enclosingCommand.persistAsyncTaskPlaceHolder(CREATE_IMAGE_FOR_MEMORY_DUMP_TASK_KEY);
         Guid guid =
                 enclosingCommand.createTask(taskId,
                         retVal.getCreationInfo(),
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskHandlerCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskHandlerCommand.java
index 8dfae9b..918a741 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskHandlerCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskHandlerCommand.java
@@ -34,9 +34,9 @@
             AsyncTaskCreationInfo asyncTaskCreationInfo,
             VdcActionType parentCommand);
 
-    Guid persistAsyncTaskPlaceHolder(VdcActionType parentCommand);
+    Guid persistAsyncTaskPlaceHolder();
 
-    Guid persistAsyncTaskPlaceHolder(VdcActionType actionType, String key);
+    Guid persistAsyncTaskPlaceHolder(String taskKey);
 
     Guid getAsyncTaskId(String key);
 


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

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

Reply via email to