Daniel Erez has uploaded a new change for review. Change subject: webadmin: DiskStorageType instead of isInternal flag ......................................................................
webadmin: DiskStorageType instead of isInternal flag Disk Dialog: Use DiskStorageType enum instead of isInternal flag to support extendability of future disk types. Change-Id: I6550d85062dbff324591c2b790e0192c21dabf18 Signed-off-by: Daniel Erez <[email protected]> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java 4 files changed, 60 insertions(+), 63 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/52/33152/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java index 3408bce..de455ac 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java @@ -605,7 +605,7 @@ attachDiskPanel.setVisible(isAttach); if (!isAttach && !isNewLunDiskEnabled) { - disk.getIsInternal().setEntity(true); + disk.getDiskStorageType().setEntity(DiskStorageType.IMAGE); } revealDiskPanel(disk); } @@ -642,7 +642,7 @@ new ClickHandler() { @Override public void onClick(ClickEvent event) { - disk.getIsInternal().setEntity(true); + disk.getDiskStorageType().setEntity(DiskStorageType.IMAGE); revealDiskPanel(disk); } }); @@ -654,7 +654,7 @@ new ClickHandler() { @Override public void onClick(ClickEvent event) { - disk.getIsInternal().setEntity(false); + disk.getDiskStorageType().setEntity(DiskStorageType.LUN); revealStorageView(disk); revealDiskPanel(disk); } @@ -723,7 +723,6 @@ private void revealDiskPanel(final AbstractDiskModel disk) { boolean isAttachDisk = disk.getIsAttachDisk().getEntity(); - boolean isInternal = disk.getIsInternal().getEntity(); boolean isInVm = disk.getVm() != null; // Hide tables @@ -735,7 +734,7 @@ diskTypePanel.setVisible(isAttachDisk || isNewLunDiskEnabled); if (isAttachDisk) { - if (isInternal) { + if (disk.getDiskStorageType().getEntity() == DiskStorageType.IMAGE) { // Show and edit internal disk table internalDiskTable.setVisible(true); internalDiskTable.asEditor().edit(disk.getInternalAttachableDisks()); @@ -747,7 +746,7 @@ } } else { - externalDiskPanel.setVisible(isNewLunDiskEnabled && !isInternal); + externalDiskPanel.setVisible(isNewLunDiskEnabled && disk.getDiskStorageType().getEntity() == DiskStorageType.LUN); } topPanel.setVisible(isInVm && disk.getIsNew()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java index 1c9b0e4..d8cedb6 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java @@ -66,11 +66,11 @@ private EntityModel<Boolean> isPlugged; private EntityModel<Boolean> isReadOnly; private EntityModel<Boolean> isAttachDisk; - private EntityModel<Boolean> isInternal; private EntityModel<Boolean> isDirectLunDiskAvaialable; private EntityModel<Boolean> isScsiPassthrough; private EntityModel<Boolean> isSgIoUnfiltered; private EntityModel<String> sizeExtend; + private EntityModel<DiskStorageType> diskStorageType; private ListModel<StorageType> storageType; private ListModel<VDS> host; @@ -134,14 +134,6 @@ public void setIsAttachDisk(EntityModel<Boolean> isAttachDisk) { this.isAttachDisk = isAttachDisk; - } - - public EntityModel<Boolean> getIsInternal() { - return isInternal; - } - - public void setIsInternal(EntityModel<Boolean> isInternal) { - this.isInternal = isInternal; } public EntityModel<Boolean> getIsDirectLunDiskAvaialable() { @@ -240,6 +232,14 @@ this.sizeExtend = sizeExtend; } + public EntityModel<DiskStorageType> getDiskStorageType() { + return diskStorageType; + } + + public void setDiskStorageType(EntityModel<DiskStorageType> diskStorageType) { + this.diskStorageType = diskStorageType; + } + private EntityModel<Boolean> isVirtioScsiEnabled; public EntityModel<Boolean> getIsVirtioScsiEnabled() { @@ -275,10 +275,6 @@ getIsAttachDisk().setEntity(false); getIsAttachDisk().getEntityChangedEvent().addListener(this); - setIsInternal(new EntityModel<Boolean>()); - getIsInternal().setEntity(true); - getIsInternal().getEntityChangedEvent().addListener(this); - setIsWipeAfterDelete(new EntityModel<Boolean>()); getIsWipeAfterDelete().setEntity(false); @@ -305,6 +301,10 @@ getIsSgIoUnfiltered().setIsAvailable(false); getIsSgIoUnfiltered().setEntity(false); getIsSgIoUnfiltered().getEntityChangedEvent().addListener(this); + + setDiskStorageType(new EntityModel<DiskStorageType>()); + getDiskStorageType().setEntity(DiskStorageType.IMAGE); + getDiskStorageType().getEntityChangedEvent().addListener(this); setIsDirectLunDiskAvaialable(new EntityModel<Boolean>()); getIsDirectLunDiskAvaialable().setEntity(true); @@ -403,12 +403,7 @@ diskModel.getStorageDomain().setItems(filteredStorageDomains); diskModel.getStorageDomain().setSelectedItem(storage); - if (storage != null) { - diskModel.setMessage(""); //$NON-NLS-1$ - } - else { - diskModel.setMessage(CONSTANTS.noActiveStorageDomainsInDC()); - } + diskModel.setMessage(storage == null ? CONSTANTS.noActiveStorageDomainsInDC() : ""); } }, getHash()), datacenter.getId(), ActionGroup.CREATE_DISK); } @@ -452,8 +447,7 @@ diskModel.getDataCenter().setItems(dataCenters); if (dataCenters.isEmpty()) { - diskModel.setMessage(getIsInternal().getEntity() ? - CONSTANTS.noActiveStorageDomainsInDC() : CONSTANTS.relevantDCnotActive()); + diskModel.setMessage(CONSTANTS.relevantDCnotActive()); } } }, getHash())), getVm().getStoragePoolId()); @@ -519,8 +513,7 @@ } private void updateDirectLunDiskEnabled(StoragePool datacenter) { - boolean isInternal = getIsInternal().getEntity(); - if (isInternal) { + if (getDiskStorageType().getEntity() != DiskStorageType.LUN) { return; } @@ -626,8 +619,8 @@ } private void updateQuota(StoragePool datacenter) { - if (datacenter.getQuotaEnforcementType().equals(QuotaEnforcementTypeEnum.DISABLED) - || !getIsInternal().getEntity()) { + if (datacenter.getQuotaEnforcementType().equals(QuotaEnforcementTypeEnum.DISABLED) || + getDiskStorageType().getEntity() != DiskStorageType.IMAGE) { getQuota().setIsAvailable(false); return; } @@ -675,27 +668,28 @@ return isStatusUp; } - private void isInternal_EntityChanged() { + private void diskStorageType_EntityChanged() { boolean isInVm = getVm() != null; - boolean isInternal = getIsInternal().getEntity(); + boolean isDiskImage = getDiskStorageType().getEntity() == DiskStorageType.IMAGE; + boolean isLunDisk = getDiskStorageType().getEntity() == DiskStorageType.LUN; - getSize().setIsAvailable(isInternal); - getSizeExtend().setIsAvailable(isInternal && !getIsNew()); - getStorageDomain().setIsAvailable(isInternal); - getVolumeType().setIsAvailable(isInternal); - getIsWipeAfterDelete().setIsAvailable(isInternal); - getHost().setIsAvailable(!isInternal); - getStorageType().setIsAvailable(!isInternal); + getSize().setIsAvailable(isDiskImage); + getSizeExtend().setIsAvailable(isDiskImage && !getIsNew()); + getStorageDomain().setIsAvailable(isDiskImage); + getVolumeType().setIsAvailable(isDiskImage); + getIsWipeAfterDelete().setIsAvailable(isDiskImage); + getHost().setIsAvailable(isLunDisk); + getStorageType().setIsAvailable(isLunDisk); getDataCenter().setIsAvailable(!isInVm); - getDiskProfile().setIsAvailable(isInternal); + getDiskProfile().setIsAvailable(isDiskImage); - if (!isInternal) { + if (!isDiskImage) { previousWipeAfterDeleteEntity = getIsWipeAfterDelete().getEntity(); previousIsQuotaAvailable = getQuota().getIsAvailable(); } - getIsWipeAfterDelete().setEntity(isInternal ? previousWipeAfterDeleteEntity : false); - getQuota().setIsAvailable(isInternal ? previousIsQuotaAvailable : false); + getIsWipeAfterDelete().setEntity(isDiskImage ? previousWipeAfterDeleteEntity : false); + getQuota().setIsAvailable(isDiskImage ? previousIsQuotaAvailable : false); updateDatacenters(); } @@ -714,10 +708,10 @@ } private void DiskInterface_SelectedItemChanged() { - boolean isInternal = getIsInternal().getEntity(); + boolean isLunDisk = getDiskStorageType().getEntity() == DiskStorageType.LUN; DiskInterface diskInterface = getDiskInterface().getSelectedItem(); - getIsSgIoUnfiltered().setIsAvailable(!isInternal && DiskInterface.VirtIO_SCSI.equals(diskInterface)); - getIsScsiPassthrough().setIsAvailable(!isInternal && DiskInterface.VirtIO_SCSI.equals(diskInterface)); + getIsSgIoUnfiltered().setIsAvailable(isLunDisk && DiskInterface.VirtIO_SCSI.equals(diskInterface)); + getIsScsiPassthrough().setIsAvailable(isLunDisk && DiskInterface.VirtIO_SCSI.equals(diskInterface)); updateScsiPassthroguhChangeability(); updateReadOnlyChangeability(); @@ -751,7 +745,7 @@ return; } - boolean isDirectLUN = !getIsInternal().getEntity(); + boolean isDirectLUN = getDiskStorageType().getEntity() == DiskStorageType.LUN; boolean isScsiPassthrough = getIsScsiPassthrough().getEntity(); if (diskInterface == DiskInterface.VirtIO_SCSI && isDirectLUN && isScsiPassthrough) { getIsReadOnly().setChangeProhibitionReason(CONSTANTS.cannotEnableReadonlyWhenScsiPassthroughEnabled()); @@ -831,7 +825,6 @@ private void datacenter_SelectedItemChanged() { StoragePool datacenter = getDataCenter().getSelectedItem(); - boolean isInternal = getIsInternal().getEntity() != null ? getIsInternal().getEntity() : false; boolean isInVm = getVm() != null; if (datacenter == null) { @@ -842,7 +835,7 @@ updateDirectLunDiskEnabled(datacenter); updateInterface(isInVm ? getVm().getVdsGroupCompatibilityVersion() : null); - if (isInternal) { + if (getDiskStorageType().getEntity() == DiskStorageType.IMAGE) { updateStorageDomains(datacenter); } else { @@ -923,8 +916,7 @@ } public void onSave() { - boolean isInternal = getIsInternal().getEntity(); - if (isInternal) { + if (getDiskStorageType().getEntity() == DiskStorageType.IMAGE) { DiskImage diskImage = getDiskImage(); if (getQuota().getIsAvailable() && getQuota().getSelectedItem() != null) { diskImage.setQuotaId(getQuota().getSelectedItem().getId()); @@ -989,8 +981,8 @@ } else if (sender == getIsScsiPassthrough()) { updateSgIoUnfilteredChangeability(); updateReadOnlyChangeability(); - } else if (sender == getIsInternal()) { - isInternal_EntityChanged(); + } else if (sender == getDiskStorageType()) { + diskStorageType_EntityChanged(); } } else if (ev.matchesDefinition(ListModel.selectedItemChangedEventDefinition) && sender == getVolumeType()) diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java index 1851ef0..82385d3 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java @@ -45,8 +45,8 @@ if (getDisk().getDiskStorageType() == DiskStorageType.IMAGE) { DiskImage diskImage = (DiskImage) getDisk(); + getDiskStorageType().setEntity(DiskStorageType.IMAGE); getSize().setEntity((int) diskImage.getSizeInGigabytes()); - getIsInternal().setEntity(true); getVolumeType().setSelectedItem(diskImage.getVolumeType()); setVolumeFormat(diskImage.getVolumeFormat()); @@ -65,8 +65,8 @@ }, getHash()), storageDomainId); } else { LunDisk lunDisk = (LunDisk) getDisk(); + getDiskStorageType().setEntity(DiskStorageType.LUN); getSize().setEntity(lunDisk.getLun().getDeviceSize()); - getIsInternal().setEntity(false); getSizeExtend().setIsAvailable(false); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java index ecd8b56..bb52b05 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java @@ -6,6 +6,7 @@ import org.ovirt.engine.core.common.action.AttachDetachVmDiskParameters; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; +import org.ovirt.engine.core.common.businessentities.Disk; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.DiskInterface; import org.ovirt.engine.core.common.businessentities.LUNs; @@ -82,9 +83,15 @@ } }; - ArrayList<EntityModel<DiskModel>> disksToAttach = getIsInternal().getEntity() ? - (ArrayList<EntityModel<DiskModel>>) getInternalAttachableDisks().getSelectedItems() : - (ArrayList<EntityModel<DiskModel>>) getExternalAttachableDisks().getSelectedItems(); + ArrayList<EntityModel<DiskModel>> disksToAttach = null; + switch (getDiskStorageType().getEntity()) { + case IMAGE: + disksToAttach = (ArrayList<EntityModel<DiskModel>>) getInternalAttachableDisks().getSelectedItems(); + break; + case LUN: + disksToAttach = (ArrayList<EntityModel<DiskModel>>) getExternalAttachableDisks().getSelectedItems(); + break; + } for (int i = 0; i < disksToAttach.size(); i++) { DiskModel disk = disksToAttach.get(i).getEntity(); @@ -157,8 +164,7 @@ super.onSave(); - boolean isInternal = getIsInternal().getEntity(); - if (isInternal) { + if (getDiskStorageType().getEntity() == Disk.DiskStorageType.IMAGE) { DiskImage diskImage = (DiskImage) getDisk(); diskImage.setSizeInGigabytes(getSize().getEntity()); diskImage.setVolumeType(getVolumeType().getSelectedItem()); @@ -175,7 +181,7 @@ AddDiskParameters parameters = new AddDiskParameters(getVmId(), getDisk()); parameters.setPlugDiskToVm(getIsPlugged().getEntity()); - if (getIsInternal().getEntity()) { + if (getDiskStorageType().getEntity() == Disk.DiskStorageType.IMAGE) { StorageDomain storageDomain = getStorageDomain().getSelectedItem(); parameters.setStorageDomainId(storageDomain.getId()); } @@ -207,7 +213,7 @@ return true; } - if (!getIsInternal().getEntity() && getSanStorageModel() != null) { + if (getDiskStorageType().getEntity() == Disk.DiskStorageType.LUN && getSanStorageModel() != null) { getSanStorageModel().validate(); if (!getSanStorageModel().getIsValid()) { return false; -- To view, visit http://gerrit.ovirt.org/33152 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6550d85062dbff324591c2b790e0192c21dabf18 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
