Daniel Erez has uploaded a new change for review. Change subject: core,webadmin: new VM-Template - changeable disk alias ......................................................................
core,webadmin: new VM-Template - changeable disk alias Creation of a New Template / a VM from template: adding a support for modifying disks aliases. UI - disks aliases are changeable on: * New Template dialog. * New VM/Pool dialog - 'Resource Allocation' tab. Core: * Passing disk alias on the relevant commands. * Adding DiskAlias member/getter/setter to ImagesActionsParametersBase. Bug-Url: https://bugzilla.redhat.com/861728 Change-Id: I5a6a47d1ba77eed84fa5561db342e03ab6bac81a Signed-off-by: Daniel Erez <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java 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/AddVmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateImageTemplateCommand.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImagesActionsParametersBase.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationItemView.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationItemView.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationView.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/DisksAllocationModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java 14 files changed, 55 insertions(+), 7 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/34/8534/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java index 6951ab1..85fb375 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java @@ -319,6 +319,7 @@ getParameters().getVmId(), getDiskImageInfo()); parameters.setQuotaId(getQuotaId()); + parameters.setDiskAlias(getDiskAlias()); parameters.setStorageDomainId(getStorageDomainId().getValue()); parameters.setParentCommand(VdcActionType.AddDisk); parameters.setEntityId(getParameters().getEntityId()); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java index 7bf9523..c4ee26d 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java @@ -425,6 +425,7 @@ private DiskImage makeNewImage(Guid storageId, DiskImage image) { DiskImage newImage = new DiskImage(); newImage.setImageId(image.getImageId()); + newImage.setDiskAlias(image.getDiskAlias()); newImage.setvolume_format(image.getvolume_format()); newImage.setvolume_type(image.getvolume_type()); ArrayList<Guid> storageIds = new ArrayList<Guid>(); @@ -636,6 +637,7 @@ CreateSnapshotFromTemplateParameters tempVar = new CreateSnapshotFromTemplateParameters( dit.getImageId(), getParameters().getVmStaticData().getId()); tempVar.setDestStorageDomainId(diskInfoDestinationMap.get(dit.getId()).getstorage_ids().get(0)); + tempVar.setDiskAlias(diskInfoDestinationMap.get(dit.getId()).getDiskAlias()); tempVar.setStorageDomainId(dit.getstorage_ids().get(0)); tempVar.setVmSnapshotId(getVmSnapshotId()); tempVar.setParentCommand(VdcActionType.AddVm); 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 f0304cd..943ea22 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 @@ -74,6 +74,7 @@ getParameters().getVmStaticData().getId(), diskInfo); p.setStorageDomainId(disk.getstorage_ids().get(0)); p.setDestStorageDomainId(diskInfoDestinationMap.get(disk.getId()).getstorage_ids().get(0)); + p.setDiskAlias(diskInfoDestinationMap.get(disk.getId()).getDiskAlias()); p.setVmSnapshotId(getVmSnapshotId()); p.setParentCommand(VdcActionType.AddVmFromTemplate); p.setParentParameters(getParameters()); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java index 44f6856..5b1f3cf 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java @@ -336,6 +336,7 @@ createParams.setDestinationStorageDomainId(diskInfoDestinationMap.get(diskImage.getId()) .getstorage_ids() .get(0)); + createParams.setDiskAlias(diskInfoDestinationMap.get(diskImage.getId()).getDiskAlias()); createParams.setParentParameters(getParameters()); if (getParameters().getDiskInfoDestinationMap() != null && getParameters().getDiskInfoDestinationMap().get(diskImage.getId()) != null) { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java index 8224fd4..7c4c00d 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java @@ -261,6 +261,7 @@ retDiskImage.setId(getImageGroupId()); retDiskImage.setlast_modified_date(new Date()); retDiskImage.setQuotaId(getParameters().getQuotaId()); + retDiskImage.setDiskAlias(getParameters().getDiskAlias()); return retDiskImage; } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateImageTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateImageTemplateCommand.java index b974e69..67907ef 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateImageTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateImageTemplateCommand.java @@ -65,6 +65,7 @@ getParameters().getDestinationStorageDomainId())); newImage.setId(destinationImageGroupID); + newImage.setDiskAlias(getParameters().getDiskAlias()); newImage.setvm_snapshot_id(getParameters().getVmSnapshotId()); newImage.setQuotaId(getParameters().getQuotaId()); newImage.setParentId(ImagesHandler.BlankImageTemplateId); @@ -72,7 +73,6 @@ newImage.setstorage_ids(new ArrayList<Guid>(Arrays.asList(getParameters().getDestinationStorageDomainId()))); newImage.setactive(true); saveImage(newImage); - newImage.setDiskAlias(getDiskImage().getDiskAlias()); getBaseDiskDao().save(newImage); DiskImageDynamic diskDynamic = new DiskImageDynamic(); diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImagesActionsParametersBase.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImagesActionsParametersBase.java index 7334ed9..ddad798 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImagesActionsParametersBase.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImagesActionsParametersBase.java @@ -10,6 +10,7 @@ private Guid imageId = Guid.Empty; private Guid destinationImageId = Guid.Empty; + private String diskAlias; private String description; private Date oldLastModifiedValue; private Guid vmSnapshotId; @@ -44,6 +45,14 @@ destinationImageId = value; } + public String getDiskAlias() { + return diskAlias; + } + + public void setDiskAlias(String diskAlias) { + this.diskAlias = diskAlias; + } + public String getDescription() { return description; } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationItemView.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationItemView.java index 2e90db1..9b0c259 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationItemView.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationItemView.java @@ -9,6 +9,7 @@ import org.ovirt.engine.ui.common.widget.AbstractValidatedWidgetWithLabel; import org.ovirt.engine.ui.common.widget.HasEditorDriver; import org.ovirt.engine.ui.common.widget.editor.EntityModelLabelEditor; +import org.ovirt.engine.ui.common.widget.editor.EntityModelTextBoxEditor; import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor; import org.ovirt.engine.ui.common.widget.renderer.DiskSizeRenderer; import org.ovirt.engine.ui.common.widget.renderer.DiskSizeRenderer.DiskSizeUnit; @@ -49,7 +50,11 @@ @UiField @Ignore - EntityModelLabelEditor diskNameLabel; + EntityModelLabelEditor diskAliasLabel; + + @UiField + @Path(value = "alias.entity") + EntityModelTextBoxEditor diskAliasEditor; @UiField @Ignore @@ -113,7 +118,8 @@ void updateStyles(Boolean isNarrowStyle) { String editorStyle = isNarrowStyle ? style.editorContentNarrow() : style.editorContent(); - updateEditorStyle(diskNameLabel, editorStyle); + updateEditorStyle(diskAliasLabel, editorStyle); + updateEditorStyle(diskAliasEditor, editorStyle); updateEditorStyle(diskSizeLabel, editorStyle); updateEditorStyle(sourceStorageLabel, editorStyle); updateEditorStyle(volumeTypeListEditor, editorStyle); @@ -128,11 +134,16 @@ editor.setLabelStyleName(style.editorLabel()); } + public void setIsAliasChangeable(boolean changeable) { + diskAliasLabel.setVisible(!changeable); + diskAliasEditor.setVisible(changeable); + } + @Override public void edit(final DiskModel object) { Driver.driver.edit(object); - diskNameLabel.asValueBox().setValue(object.getAlias().getEntity()); + diskAliasLabel.asValueBox().setValue(object.getAlias().getEntity()); diskSizeLabel.asValueBox().setValue((new DiskSizeRenderer<Long>(DiskSizeUnit.GIGABYTE).render( (Long) object.getSize().getEntity()))); @@ -151,8 +162,10 @@ @Override public void setElementId(String elementId) { - diskNameLabel.setElementId( + diskAliasLabel.setElementId( ElementIdUtils.createElementId(elementId, "diskName")); //$NON-NLS-1$ + diskAliasEditor.setElementId( + ElementIdUtils.createElementId(elementId, "diskAlias")); //$NON-NLS-1$ diskSizeLabel.setElementId( ElementIdUtils.createElementId(elementId, "diskSize")); //$NON-NLS-1$ sourceStorageLabel.setElementId( diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationItemView.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationItemView.ui.xml index 6def308..6b054c2 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationItemView.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationItemView.ui.xml @@ -15,7 +15,7 @@ } .editorContent { - width: 100px; + width: 110px; margin-left: 5px; } @@ -26,7 +26,8 @@ </ui:style> <g:HorizontalPanel width="100%"> - <e:EntityModelLabelEditor ui:field="diskNameLabel" /> + <e:EntityModelLabelEditor ui:field="diskAliasLabel" /> + <e:EntityModelTextBoxEditor ui:field="diskAliasEditor" /> <e:EntityModelLabelEditor ui:field="diskSizeLabel" /> <e:EntityModelLabelEditor ui:field="sourceStorageLabel" /> <e:ListModelListBoxEditor ui:field="volumeTypeListEditor" /> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationView.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationView.java index a8708a1..2419d64 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationView.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/DisksAllocationView.java @@ -215,6 +215,7 @@ DisksAllocationItemView disksAllocationItemView = new DisksAllocationItemView(constants); disksAllocationItemView.edit(diskModel); disksAllocationItemView.updateStyles(showQuota); + disksAllocationItemView.setIsAliasChangeable(model.getIsAliasChangable()); disksAllocationItemView.setElementId( ElementIdUtils.createElementId(elementId, "disk" + (diskIndex++))); //$NON-NLS-1$ diskListPanel.add(disksAllocationItemView); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/DisksAllocationModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/DisksAllocationModel.java index 098fc1e..b5cb893 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/DisksAllocationModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/DisksAllocationModel.java @@ -166,6 +166,7 @@ private boolean isSingleDiskCopy; private boolean isVolumeFormatAvailable; private boolean isVolumeFormatChangable; + private boolean isAliasChangable; private boolean isSourceStorageDomainAvailable; private boolean isSourceStorageDomainChangable; private boolean isSourceStorageDomainNameAvailable; @@ -307,6 +308,7 @@ diskModel.getSourceStorageDomain().setIsChangable(!isSingleStorageDomain && isSourceStorageDomainChangable); diskModel.getVolumeType().setIsAvailable(isVolumeFormatAvailable); diskModel.getVolumeType().setIsChangable(isVolumeFormatChangable); + diskModel.getAlias().setIsChangable(isAliasChangable); if (diskModel.getSourceStorageDomain().getItems() != null && diskModel.getSourceStorageDomain().getItems().iterator().hasNext()) { @@ -338,6 +340,8 @@ ArrayList<Guid> storageIdList = new ArrayList<Guid>(); storageIdList.add(storageId); diskImage.setstorage_ids(storageIdList); + diskImage.setDiskAlias((String) diskModel.getAlias().getEntity()); + if (diskModel.getQuota().getSelectedItem() != null) { if (!isSingle) { diskImage.setQuotaId(((Quota) diskModel.getQuota().getSelectedItem()).getId()); @@ -402,6 +406,14 @@ return isVolumeFormatAvailable; } + public boolean getIsAliasChangable() { + return isAliasChangable; + } + + public void setIsAliasChangable(boolean isAliasChangable) { + this.isAliasChangable = isAliasChangable; + } + public void setIsVolumeFormatChangable(boolean isVolumeFormatChangable) { this.isVolumeFormatChangable = isVolumeFormatChangable; } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java index d998c83..f8c5624 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java @@ -29,6 +29,7 @@ import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel; import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemType; +import org.ovirt.engine.ui.uicommonweb.models.storage.DisksAllocationModel; import org.ovirt.engine.ui.uicompat.ConstantsManager; public class NewTemplateVmModelBehavior extends VmModelBehaviorBase<UnitVmModel> @@ -46,6 +47,9 @@ super.Initialize(systemTreeSelectedItem); getModel().getTemplate().setIsChangable(false); + DisksAllocationModel disksAllocationModel = getModel().getDisksAllocationModel(); + disksAllocationModel.setIsAliasChangable(true); + AsyncDataProvider.GetDataCenterById(new AsyncQuery(this, new INewAsyncCallback() { @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java index 0ad1d21..a735f5e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java @@ -210,6 +210,7 @@ getModel().getProvisioningClone_IsSelected().setEntity(provisioning); getModel().getDisksAllocationModel().setIsVolumeFormatAvailable(true); getModel().getDisksAllocationModel().setIsVolumeFormatChangable(provisioning); + getModel().getDisksAllocationModel().setIsAliasChangable(true); InitStorageDomains(); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java index 51336d3..97d032e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java @@ -49,6 +49,7 @@ super.Initialize(systemTreeSelectedItem); getModel().getDisksAllocationModel().setIsVolumeFormatAvailable(false); + getModel().getDisksAllocationModel().setIsAliasChangable(true); getModel().getProvisioning().setIsAvailable(false); getModel().getProvisioning().setEntity(false); -- To view, visit http://gerrit.ovirt.org/8534 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5a6a47d1ba77eed84fa5561db342e03ab6bac81a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
