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

Reply via email to