Arik Hadas has uploaded a new change for review.

Change subject: core: import vm as vm command
......................................................................

core: import vm as vm command

ImportVmCommand used to be 'storage domain command' which is wrong.
Import VM is about Virtual Machine, like
AddVm/AddVmFromTemplate/AddVmFromSnapshot etc are, when the source
is configuration + disks on the export domain.

This patch makes the ImportVm command a child of VmCommand (through
VmManagementCommandBase) and introduce ImportVmCommandBase which will
later contain the common things for the different kinds of import
operations of virtual machines that will be added

Change-Id: I4f182417f9b64f23bb5f412a8e6e20e1c4e2ab6a
Signed-off-by: Arik Hadas <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImportVmParameters.java
2 files changed, 35 insertions(+), 36 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/88/34788/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
index 8f75af0..6a1ff68 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
@@ -102,7 +102,7 @@
 
 @DisableInPrepareMode
 @NonTransactiveCommandAttribute(forceCompensation = true)
-public class ImportVmCommand<T extends ImportVmParameters> extends 
MoveOrCopyTemplateCommand<T>
+public class ImportVmCommand<T extends ImportVmParameters> extends 
ImportVmCommandBase<T>
         implements QuotaStorageDependent, TaskHandlerCommand<T> {
 
     private static final Logger log = 
LoggerFactory.getLogger(ImportVmCommand.class);
@@ -113,19 +113,16 @@
     private final List<String> macsAdded = new ArrayList<String>();
     private final SnapshotsManager snapshotsManager = new SnapshotsManager();
 
+    protected ImportVmCommand(Guid commandId) {
+        super(commandId);
+    }
+
     public ImportVmCommand(T parameters) {
         this(parameters, null);
     }
 
-    @Override
-    protected LockProperties applyLockProperties(LockProperties 
lockProperties) {
-        return lockProperties.withScope(Scope.Command);
-    }
-
-    @Override
-    protected void init(T parameters) {
-        super.init(parameters);
-        setVmId(parameters.getContainerId());
+    public ImportVmCommand(T parameters, CommandContext commandContext) {
+        super(parameters, commandContext);
         setVm(parameters.getVm());
         setVdsGroupId(parameters.getVdsGroupId());
         if (parameters.getVm() != null && getVm().getDiskMap() != null) {
@@ -137,6 +134,11 @@
             }
         }
         ensureDomainMap(imageList, parameters.getDestDomainId());
+    }
+
+    @Override
+    protected LockProperties applyLockProperties(LockProperties 
lockProperties) {
+        return lockProperties.withScope(Scope.Command);
     }
 
     @Override
@@ -163,14 +165,6 @@
             builder.append(String.format("$VmName %1$s", getVmName()));
         }
         return builder.toString();
-    }
-
-    protected ImportVmCommand(Guid commandId) {
-        super(commandId);
-    }
-
-    public ImportVmCommand(T parameters, CommandContext commandContext) {
-        super(parameters, commandContext);
     }
 
     @Override
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImportVmParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImportVmParameters.java
index eb3c843..de18d84 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImportVmParameters.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImportVmParameters.java
@@ -3,44 +3,33 @@
 import java.io.Serializable;
 import java.util.Map;
 
-import javax.validation.Valid;
-
 import org.ovirt.engine.core.common.businessentities.Disk;
-import org.ovirt.engine.core.common.businessentities.VM;
+import org.ovirt.engine.core.common.businessentities.VmStatic;
 import org.ovirt.engine.core.compat.Guid;
 
-public class ImportVmParameters extends MoveVmParameters implements 
Serializable {
+public class ImportVmParameters extends VmManagementParametersBase implements 
Serializable {
     private static final long serialVersionUID = -6514416097090370831L;
 
-    @Valid
-    private VM vm;
     private Guid sourceDomainId;
     private Guid destDomainId;
     private Guid vdsGroupId;
+    private Guid storagePoolId;
     private Map<Guid, Disk> diskMap;
+    private boolean importAsNewEntity;
 
     public ImportVmParameters() {
         sourceDomainId = Guid.Empty;
         destDomainId = Guid.Empty;
     }
 
-    public ImportVmParameters(VM vm, Guid sourceStorageDomainId, Guid 
destStorageDomainId, Guid storagePoolId,
-            Guid vdsGroupId) {
-        super(vm.getId(), destStorageDomainId);
+    public ImportVmParameters(VmStatic vmStatic, Guid sourceStorageDomainId,
+            Guid destStorageDomainId, Guid storagePoolId, Guid vdsGroupId) {
+        super(vmStatic);
         sourceDomainId = sourceStorageDomainId;
         destDomainId = destStorageDomainId;
-        setVm(vm);
         setStorageDomainId(destStorageDomainId);
         setStoragePoolId(storagePoolId);
         setVdsGroupId(vdsGroupId);
-    }
-
-    public VM getVm() {
-        return vm;
-    }
-
-    public void setVm(VM vm) {
-        this.vm = vm;
     }
 
     public Guid getSourceDomainId() {
@@ -75,4 +64,20 @@
         this.diskMap = diskMap;
     }
 
+    public Guid getStoragePoolId() {
+        return storagePoolId;
+    }
+
+    public void setStoragePoolId(Guid storagePoolId) {
+        this.storagePoolId = storagePoolId;
+    }
+
+    public boolean isImportAsNewEntity() {
+        return importAsNewEntity;
+    }
+
+    public void setImportAsNewEntity(boolean importAsNewEntity) {
+        this.importAsNewEntity = importAsNewEntity;
+    }
+
 }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4f182417f9b64f23bb5f412a8e6e20e1c4e2ab6a
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