Arik Hadas has uploaded a new change for review. Change subject: core: extract parameters initialization to seperate method ......................................................................
core: extract parameters initialization to seperate method Extract long blocks of code that initialize command parameters from MoveOrCopyTemplateCommand#moveOrCopyAllImageGroups and AddVmFromTemplateCommand#addVmImages methods to separate methods in order to make the code more concise and readable Change-Id: I7328e84274fd9ba9f109608600da66c6308ec0b9 Signed-off-by: Arik Hadas <aha...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java 2 files changed, 32 insertions(+), 26 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/73/15873/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromTemplateCommand.java index 52cddc0..ffbb71b 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromTemplateCommand.java @@ -88,27 +88,12 @@ } VmHandler.LockVm(getVm().getDynamicData(), getCompensationContext()); for (DiskImage disk : getVmTemplate().getDiskMap().values()) { - DiskImageBase diskInfo = getParameters().getDiskInfoDestinationMap().get(disk.getId()); - CreateCloneOfTemplateParameters p = new CreateCloneOfTemplateParameters(disk.getImageId(), - getParameters().getVmStaticData().getId(), diskInfo); - p.setStorageDomainId(disk.getStorageIds().get(0)); - p.setDestStorageDomainId(diskInfoDestinationMap.get(disk.getId()).getStorageIds().get(0)); - p.setDiskAlias(diskInfoDestinationMap.get(disk.getId()).getDiskAlias()); - p.setVmSnapshotId(getVmSnapshotId()); - p.setParentCommand(VdcActionType.AddVmFromTemplate); - p.setParentParameters(getParameters()); - p.setEntityId(getParameters().getEntityId()); - p.setQuotaId(diskInfoDestinationMap.get(disk.getId()).getQuotaId() != null ? diskInfoDestinationMap.get(disk.getId()) - .getQuotaId() - : null); VdcReturnValueBase result = Backend.getInstance().runInternalAction( VdcActionType.CreateCloneOfTemplate, - p, + buildCreateCloneOfTemplateParameters(disk), ExecutionHandler.createDefaultContexForTasks(getExecutionContext())); - /** - * if couldnt create snapshot then stop the transaction and the command - */ + // if couldnt create snapshot then stop the transaction and the command if (!result.getSucceeded()) { throw new VdcBLLException(VdcBllErrors.VolumeCreationError); } else { @@ -120,6 +105,22 @@ return true; } + private CreateCloneOfTemplateParameters buildCreateCloneOfTemplateParameters(DiskImage disk) { + DiskImageBase diskInfo = getParameters().getDiskInfoDestinationMap().get(disk.getId()); + CreateCloneOfTemplateParameters params = new CreateCloneOfTemplateParameters(disk.getImageId(), + getParameters().getVmStaticData().getId(), diskInfo); + params.setStorageDomainId(disk.getStorageIds().get(0)); + params.setDestStorageDomainId(diskInfoDestinationMap.get(disk.getId()).getStorageIds().get(0)); + params.setDiskAlias(diskInfoDestinationMap.get(disk.getId()).getDiskAlias()); + params.setVmSnapshotId(getVmSnapshotId()); + params.setParentCommand(VdcActionType.AddVmFromTemplate); + params.setParentParameters(getParameters()); + params.setEntityId(getParameters().getEntityId()); + params.setQuotaId(diskInfoDestinationMap.get(disk.getId()).getQuotaId() != null ? + diskInfoDestinationMap.get(disk.getId()).getQuotaId() : null); + return params; + } + @Override protected boolean canDoAction() { boolean retValue = super.canDoAction(); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java index 01f2aeb..ec9f095 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java @@ -162,23 +162,28 @@ @Override public Void runInTransaction() { for (DiskImage disk : disks) { - MoveOrCopyImageGroupParameters p = new MoveOrCopyImageGroupParameters(containerID, disk - .getId(), disk.getImageId(), getParameters().getStorageDomainId(), - getMoveOrCopyImageOperation()); - p.setParentCommand(getActionType()); - p.setEntityId(getParameters().getEntityId()); - p.setAddImageDomainMapping(getMoveOrCopyImageOperation() == ImageOperation.Copy); - p.setSourceDomainId(imageFromSourceDomainMap.get(disk.getId()).getStorageIds().get(0)); - p.setParentParameters(getParameters()); VdcReturnValueBase vdcRetValue = getBackend().runInternalAction( getImagesActionType(), - p, + buildModeOrCopyImageGroupParameters(containerID, disk), ExecutionHandler.createDefaultContexForTasks(getExecutionContext())); getReturnValue().getTaskIdList().addAll(vdcRetValue.getInternalTaskIdList()); } return null; } + + private MoveOrCopyImageGroupParameters buildModeOrCopyImageGroupParameters( + final Guid containerID, DiskImage disk) { + MoveOrCopyImageGroupParameters params = new MoveOrCopyImageGroupParameters( + containerID, disk.getId(), disk.getImageId(), + getParameters().getStorageDomainId(), getMoveOrCopyImageOperation()); + params.setParentCommand(getActionType()); + params.setEntityId(getParameters().getEntityId()); + params.setAddImageDomainMapping(getMoveOrCopyImageOperation() == ImageOperation.Copy); + params.setSourceDomainId(imageFromSourceDomainMap.get(disk.getId()).getStorageIds().get(0)); + params.setParentParameters(getParameters()); + return params; + } }); } -- To view, visit http://gerrit.ovirt.org/15873 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7328e84274fd9ba9f109608600da66c6308ec0b9 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Arik Hadas <aha...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches