Tal Nisan has uploaded a new change for review. Change subject: webadmin: Refactored base Model class probihition reason option ......................................................................
webadmin: Refactored base Model class probihition reason option Changed the base ui model prohibition reason from a list of Strings which was only used with a single value to a string Also fixed places in which the prohibition reason was not displayed correctly due to the reason being set only after the changability property change thus setting the reason after the rendering of the element as disabled Change-Id: Idda39fe051b2547c202dab9a0a1970779001b70e Signed-off-by: Tal Nisan <tni...@redhat.com> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/editor/UiCommonEditorVisitor.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/HasEnabledWithHints.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/WidgetWithLabelEditor.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/MoveOrCopyDiskModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseEditVmInterfaceModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/DiskModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmData.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmInterfaceModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGuideModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java 23 files changed, 84 insertions(+), 123 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/25/12025/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/editor/UiCommonEditorVisitor.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/editor/UiCommonEditorVisitor.java index 488c129..1dc685c 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/editor/UiCommonEditorVisitor.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/editor/UiCommonEditorVisitor.java @@ -205,7 +205,7 @@ if (model.getIsChangable()) { editor.setEnabled(true); } else { - editor.disable(model.getChangeProhibitionReasons()); + editor.disable(model.getChangeProhibitionReason()); } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java index 64c55ec..ee370a6 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java @@ -1,7 +1,5 @@ package org.ovirt.engine.ui.common.widget; -import java.util.List; - import org.ovirt.engine.ui.common.idhandler.HasElementId; import org.ovirt.engine.ui.common.widget.editor.EditorWidget; @@ -195,17 +193,13 @@ } @Override - public void disable(List<String> disabilityHints) { + public void disable(String disabilityHint) { setEnabled(false); - updateWidgetTitle(getDisabilityTitle(disabilityHints)); + updateWidgetTitle(disabilityHint); } private void updateWidgetTitle(String title) { contentWidget.asWidget().setTitle(title); - } - - private String getDisabilityTitle(List<String> disabilityHints) { - return disabilityHints != null && disabilityHints.size() > 0 ? disabilityHints.get(0) : null; } public void addContentWidgetStyleName(String styleName) { diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/HasEnabledWithHints.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/HasEnabledWithHints.java index f6d9c2c..fbf1bfe 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/HasEnabledWithHints.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/HasEnabledWithHints.java @@ -1,21 +1,19 @@ package org.ovirt.engine.ui.common.widget; -import java.util.List; - import com.google.gwt.user.client.ui.HasEnabled; /** - * Extends the {@link HasEnabled} interface, allowing widgets to be disabled while providing hints describing reasons + * Extends the {@link HasEnabled} interface, allowing widgets to be disabled while providing hint describing the reason * for disabling them. */ public interface HasEnabledWithHints extends HasEnabled { /** - * Disables this widget, providing an optional list of disability hints. + * Disables this widget, providing an disability hint. * - * @param disabilityHints - * Disability hints describing reasons why this widget is disabled (can be empty or {@code null}). + * @param disabilityHint + * Disability hint describing reason why this widget is disabled (can be {@code null}). */ - void disable(List<String> disabilityHints); + void disable(String disabilityHint); } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/WidgetWithLabelEditor.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/WidgetWithLabelEditor.java index 4d92288..7d1c09d 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/WidgetWithLabelEditor.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/WidgetWithLabelEditor.java @@ -72,8 +72,8 @@ } @Override - public void disable(List<String> disabilityHints) { - widgetWithLabel.disable(disabilityHints); + public void disable(String disabilityHint) { + widgetWithLabel.disable(disabilityHint); } @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java index 8fa7fdf..5a0c72e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java @@ -163,7 +163,7 @@ } /** - * Gets or sets the title of this model. There is no specific purpose for this property, use it on your convinience. + * Gets or sets the title of this model. There is no specific purpose for this property, use it on your convenience. */ private String title; @@ -269,21 +269,21 @@ if (isChangable) { - getChangeProhibitionReasons().clear(); + privateChangeProhibitionReason = null; } } } - private List<String> privateChangeProhibitionReasons; + private String privateChangeProhibitionReason; - public List<String> getChangeProhibitionReasons() + public String getChangeProhibitionReason() { - return privateChangeProhibitionReasons; + return privateChangeProhibitionReason; } - private void setChangeProhibitionReasons(List<String> value) + public void setChangeProhibitionReason(String value) { - privateChangeProhibitionReasons = value; + privateChangeProhibitionReason = value; } private boolean isSelected; @@ -416,7 +416,6 @@ setInvalidityReasons(new ObservableCollection<String>()); setIsValid(true); - setChangeProhibitionReasons(new ObservableCollection<String>()); setIsChangable(true); setAvailableInModes(ApplicationMode.AllModes); setIsAvailable(true); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java index 06982db..cc7b06d 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java @@ -1,5 +1,9 @@ package org.ovirt.engine.ui.uicommonweb.models.datacenters; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import org.ovirt.engine.core.common.action.RecoveryStoragePoolParameters; import org.ovirt.engine.core.common.action.StoragePoolManagementParameter; import org.ovirt.engine.core.common.action.StoragePoolParametersBase; @@ -47,10 +51,6 @@ import org.ovirt.engine.ui.uicompat.NotifyCollectionChangedEventArgs; import org.ovirt.engine.ui.uicompat.ObservableCollection; import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; @SuppressWarnings("unused") public class DataCenterListModel extends ListWithDetailsModel implements ISupportSystemTreeContext @@ -325,10 +325,9 @@ List<storage_domains> storageDomainList = (List<storage_domains>) returnValue; if (storageDomainList.size() != 0) { - model.getStorageTypeList().setIsChangable(false); model.getStorageTypeList() - .getChangeProhibitionReasons() - .add("Cannot change Repository type with Storage Domains attached to it"); //$NON-NLS-1$ + .setChangeProhibitionReason("Cannot change Repository type with Storage Domains attached to it"); //$NON-NLS-1$ + model.getStorageTypeList().setIsChangable(false); } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java index 4dc170b..8f4d000 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java @@ -173,8 +173,7 @@ public void setSupportBridgesReportByVDSM(boolean isSupportBridgesReportByVDSM) { if (!isSupportBridgesReportByVDSM) { getIsVmNetwork().setEntity(true); - getIsVmNetwork().getChangeProhibitionReasons().add(ConstantsManager.getInstance() - .getMessages() + getIsVmNetwork().setChangeProhibitionReason(ConstantsManager.getInstance().getMessages() .bridlessNetworkNotSupported(getSelectedDc().getcompatibility_version().toString())); getIsVmNetwork().setIsChangable(false); } else { @@ -192,8 +191,7 @@ public void setMTUOverrideSupported(boolean mtuOverrideSupported) { if (!mtuOverrideSupported) { - getHasMtu().getChangeProhibitionReasons().add(ConstantsManager.getInstance() - .getMessages() + getHasMtu().setChangeProhibitionReason(ConstantsManager.getInstance().getMessages() .mtuOverrideNotSupported(getSelectedDc().getcompatibility_version().toString())); getHasMtu().setIsChangable(false); getMtu().setIsChangable(false); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java index fc6e4cc..b8a5d50 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java @@ -1212,14 +1212,12 @@ if (vds.getStatus() != VDSStatus.Maintenance && vds.getStatus() != VDSStatus.PendingApproval) { - model.getDataCenter().setIsChangable(false); model.getDataCenter() - .getChangeProhibitionReasons() - .add("Data Center can be changed only when the Host is in Maintenance mode."); //$NON-NLS-1$ - model.getCluster().setIsChangable(false); + .setChangeProhibitionReason("Data Center can be changed only when the Host is in Maintenance mode."); //$NON-NLS-1$ + model.getDataCenter().setIsChangable(false); model.getCluster() - .getChangeProhibitionReasons() - .add("Cluster can be changed only when the Host is in Maintenance mode."); //$NON-NLS-1$ + .setChangeProhibitionReason("Cluster can be changed only when the Host is in Maintenance mode."); //$NON-NLS-1$ + model.getCluster().setIsChangable(false); } else if (getSystemTreeSelectedItem() != null) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/MoveOrCopyDiskModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/MoveOrCopyDiskModel.java index 777dad8..a109d6e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/MoveOrCopyDiskModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/MoveOrCopyDiskModel.java @@ -183,10 +183,10 @@ disk.getStorageDomain().setIsChangable(!noTargets); disk.getSourceStorageDomain().setIsChangable(!noSources); disk.getSourceStorageDomainName().setIsChangable(!noSources); - disk.getStorageDomain().getChangeProhibitionReasons().add(isDiskBasedOnTemplate ? + disk.getStorageDomain().setChangeProhibitionReason(isDiskBasedOnTemplate ? constants.noActiveStorageDomainWithTemplateMsg() : getNoActiveTargetDomainMessage()); - disk.getSourceStorageDomain().getChangeProhibitionReasons().add(getNoActiveSourceDomainMessage()); - disk.getSourceStorageDomainName().getChangeProhibitionReasons().add(getNoActiveSourceDomainMessage()); + disk.getSourceStorageDomain().setChangeProhibitionReason(getNoActiveSourceDomainMessage()); + disk.getSourceStorageDomainName().setChangeProhibitionReason(getNoActiveSourceDomainMessage()); } private void addSourceStorageDomainName(DiskModel disk, ArrayList<storage_domains> sourceStorageDomains) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java index 6eb7a0e..a262b9c 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java @@ -87,11 +87,9 @@ templateData.setExistsInSystem(templateExistsInSystem); if (templateExistsInSystem) { templateData.getClone().setEntity(true); - templateData.getClone() - .getChangeProhibitionReasons() - .add(ConstantsManager.getInstance() - .getConstants() - .importTemplateThatExistsInSystemMustClone()); + templateData.getClone().setChangeProhibitionReason(ConstantsManager.getInstance() + .getConstants() + .importTemplateThatExistsInSystemMustClone()); templateData.getClone().setIsChangable(false); } templateDataList.add(templateData); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java index 95ceaca..2160bfa 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java @@ -28,12 +28,12 @@ import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.VMStatus; import org.ovirt.engine.core.common.businessentities.VmOsType; +import org.ovirt.engine.core.common.businessentities.VmPool; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.VmType; import org.ovirt.engine.core.common.businessentities.VolumeType; import org.ovirt.engine.core.common.businessentities.storage_domains; import org.ovirt.engine.core.common.businessentities.storage_pool; -import org.ovirt.engine.core.common.businessentities.VmPool; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.common.queries.GetAllDisksByVmIdParameters; import org.ovirt.engine.core.common.queries.IdQueryParameters; @@ -815,8 +815,7 @@ ((RunOnceModel) userPortalListModel.getWindow()).getBootSequence(); bootSequenceModel.getNetworkOption().setIsChangable(false); bootSequenceModel.getNetworkOption() - .getChangeProhibitionReasons() - .add("Virtual Machine must have at least one network interface defined to boot from network."); //$NON-NLS-1$ + .setChangeProhibitionReason("Virtual Machine must have at least one network interface defined to boot from network."); //$NON-NLS-1$ } } }; @@ -849,8 +848,7 @@ ((RunOnceModel) userPortalListModel.getWindow()).getBootSequence(); bootSequenceModel.getHardDiskOption().setIsChangable(false); bootSequenceModel.getHardDiskOption() - .getChangeProhibitionReasons() - .add("Virtual Machine must have at least one bootable disk defined to boot from hard disk."); //$NON-NLS-1$ + .setChangeProhibitionReason("Virtual Machine must have at least one bootable disk defined to boot from hard disk."); //$NON-NLS-1$ } } }; diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseEditVmInterfaceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseEditVmInterfaceModel.java index f67037b..7309eed 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseEditVmInterfaceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseEditVmInterfaceModel.java @@ -57,7 +57,7 @@ // Plug should be the last one updated, cause it controls the changeability of the other editor getPlugged().setEntity(getNic().isPlugged()); if (!hotPlugSupported) { - getPlugged().getChangeProhibitionReasons().add(ConstantsManager.getInstance() + getPlugged().setChangeProhibitionReason(ConstantsManager.getInstance() .getMessages() .hotPlugNotSupported(getClusterCompatibilityVersion().toString())); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/DiskModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/DiskModel.java index e3b1b98..60376bd 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/DiskModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/DiskModel.java @@ -38,8 +38,8 @@ import org.ovirt.engine.ui.uicommonweb.validation.I18NNameValidation; import org.ovirt.engine.ui.uicommonweb.validation.IValidation; import org.ovirt.engine.ui.uicommonweb.validation.IntegerValidation; -import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation; import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyQuotaValidation; +import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation; import org.ovirt.engine.ui.uicommonweb.validation.SpecialAsciiI18NOrNoneValidation; import org.ovirt.engine.ui.uicompat.ConstantsManager; import org.ovirt.engine.ui.uicompat.Event; @@ -743,9 +743,10 @@ DiskModel diskModel = (DiskModel) target; boolean isShareableDiskEnabled = (Boolean) returnValue; + diskModel.getIsShareable().setChangeProhibitionReason(ConstantsManager.getInstance() + .getConstants() + .shareableDiskNotSupported()); diskModel.getIsShareable().setIsChangable(isShareableDiskEnabled); - diskModel.getIsShareable().getChangeProhibitionReasons().add( - ConstantsManager.getInstance().getConstants().shareableDiskNotSupported()); } }), datacenter.getcompatibility_version().getValue()); } @@ -792,9 +793,10 @@ private void updateShareable(VolumeType volumeType, StorageType storageType) { getIsShareable().setEntity(false); + getIsShareable().setChangeProhibitionReason(ConstantsManager.getInstance() + .getConstants() + .shareableDiskNotSupportedByConfiguration()); getIsShareable().setIsChangable(!(storageType.isBlockDomain() && volumeType == VolumeType.Sparse)); - getIsShareable().getChangeProhibitionReasons().add( - ConstantsManager.getInstance().getConstants().shareableDiskNotSupportedByConfiguration()); } private boolean isDatacenterAvailable(storage_pool dataCenter) diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java index 7b03d84..da30130 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java @@ -45,14 +45,15 @@ Boolean plug = isPluggedBeforeAndAfterEdit(); if (plug) { - getNicType().getChangeProhibitionReasons() - .add(ConstantsManager.getInstance().getConstants().hotTypeUpdateNotPossible()); - getEnableMac().getChangeProhibitionReasons() - .add(ConstantsManager.getInstance().getConstants().hotMacUpdateNotPossible()); - getPortMirroring().getChangeProhibitionReasons() - .add(ConstantsManager.getInstance() - .getConstants() - .hotPortMirroringUpdateNotSupported()); + getNicType().setChangeProhibitionReason(ConstantsManager.getInstance() + .getConstants() + .hotTypeUpdateNotPossible()); + getEnableMac().setChangeProhibitionReason(ConstantsManager.getInstance() + .getConstants() + .hotMacUpdateNotPossible()); + getPortMirroring().setChangeProhibitionReason(ConstantsManager.getInstance() + .getConstants() + .hotPortMirroringUpdateNotSupported()); initSelectedType(); getEnableMac().setEntity(false); @@ -82,10 +83,9 @@ if (isVmUp() && hotUpdateSupported) { if (isPlugged && isPortMirroring) { - getLinked().getChangeProhibitionReasons() - .add(ConstantsManager.getInstance() - .getConstants() - .hotLinkStateUpdateNotSupportedWithPortMirroring()); + getLinked().setChangeProhibitionReason(ConstantsManager.getInstance() + .getConstants() + .hotLinkStateUpdateNotSupportedWithPortMirroring()); getLinked().setIsChangable(false); initLinked(); return; @@ -105,8 +105,7 @@ if (isVmUp() && hotUpdateSupported) { if (isPlugged && isPortMirroring) { - getNetwork().getChangeProhibitionReasons() - .add(ConstantsManager.getInstance() + getNetwork().setChangeProhibitionReason(ConstantsManager.getInstance() .getConstants() .hotNetworkUpdateNotSupportedWithPortMirroring()); getNetwork().setIsChangable(false); @@ -114,7 +113,7 @@ return; } } else if (isVmUp() && isPlugged) { - getNetwork().getChangeProhibitionReasons().add(ConstantsManager.getInstance() + getNetwork().setChangeProhibitionReason(ConstantsManager.getInstance() .getMessages() .hotNetworkUpdateNotSupported(getClusterCompatibilityVersion().toString())); getNetwork().setIsChangable(false); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java index bda6d5f..2ef7da9 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java @@ -146,10 +146,9 @@ if (vm.isInitialized()) { - getModel().getTimeZone().setIsChangable(false); getModel().getTimeZone() - .getChangeProhibitionReasons() - .add("Time Zone cannot be change since the Virtual Machine was booted at the first time."); //$NON-NLS-1$ + .setChangeProhibitionReason("Time Zone cannot be change since the Virtual Machine was booted at the first time."); //$NON-NLS-1$ + getModel().getTimeZone().setIsChangable(false); } updateTimeZone(vm.getTimeZone()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmData.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmData.java index b3fd52f..c353d27 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmData.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmData.java @@ -22,7 +22,7 @@ if (templateExistsInSetup) { if ((Boolean) ((EntityModel) sender).getEntity()) { getCollapseSnapshots().setEntity(true); - getCollapseSnapshots().getChangeProhibitionReasons().add(ConstantsManager.getInstance() + getCollapseSnapshots().setChangeProhibitionReason(ConstantsManager.getInstance() .getConstants() .importCloneVMMustCollapseSnapshots()); getCollapseSnapshots().setIsChangable(false); @@ -42,7 +42,7 @@ public void setTemplateExistsInSetup(boolean templateExistsInSetup) { if (!templateExistsInSetup) { getCollapseSnapshots().setEntity(true); - getCollapseSnapshots().getChangeProhibitionReasons().add(ConstantsManager.getInstance() + getCollapseSnapshots().setChangeProhibitionReason(ConstantsManager.getInstance() .getConstants().importVMWithTemplateNotInSystemMustCollapseSnapshots()); getCollapseSnapshots().setIsChangable(false); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java index 2774efa..4b7227c 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java @@ -298,8 +298,7 @@ getDisksToConvert().add(vm); ((ImportVmData) item).getCollapseSnapshots().setEntity(true); ((ImportVmData) item).getCollapseSnapshots() - .getChangeProhibitionReasons() - .add(ConstantsManager.getInstance() + .setChangeProhibitionReason(ConstantsManager.getInstance() .getConstants() .importSparseDiskToBlockDeviceMustCollapseSnapshots()); ((ImportVmData) item).getCollapseSnapshots().setIsChangable(false); @@ -567,11 +566,9 @@ vmData.setExistsInSystem(vmExistsInSystem); if (vmExistsInSystem) { vmData.getClone().setEntity(true); - vmData.getClone() - .getChangeProhibitionReasons() - .add(ConstantsManager.getInstance() - .getConstants() - .importVMThatExistsInSystemMustClone()); + vmData.getClone().setChangeProhibitionReason(ConstantsManager.getInstance() + .getConstants() + .importVMThatExistsInSystemMustClone()); vmData.getClone().setIsChangable(false); } vmDataList.add(vmData); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmInterfaceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmInterfaceModel.java index 259c664..1d66cfe 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmInterfaceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmInterfaceModel.java @@ -43,7 +43,7 @@ initMAC(); if (!hotPlugSupported) { - getPlugged().getChangeProhibitionReasons().add(ConstantsManager.getInstance() + getPlugged().setChangeProhibitionReason(ConstantsManager.getInstance() .getMessages() .hotPlugNotSupported(getClusterCompatibilityVersion().toString())); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java index 807632c..6daa954 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java @@ -334,10 +334,8 @@ diskModel.getIsBootable().setEntity(!hasBootableDisk); if (hasBootableDisk) { + diskModel.getIsBootable().setChangeProhibitionReason("There can be only one bootable disk defined."); //$NON-NLS-1$ diskModel.getIsBootable().setIsChangable(false); - diskModel.getIsBootable() - .getChangeProhibitionReasons() - .add("There can be only one bootable disk defined."); //$NON-NLS-1$ } ArrayList<UICommand> commands = new ArrayList<UICommand>(); @@ -503,10 +501,9 @@ } if (bootableDisk != null && !bootableDisk.getId().equals(disk.getId())) { - diskModel.getIsBootable().setIsChangable(false); diskModel.getIsBootable() - .getChangeProhibitionReasons() - .add("There can be only one bootable disk defined."); //$NON-NLS-1$ + .setChangeProhibitionReason("There can be only one bootable disk defined."); //$NON-NLS-1$ + diskModel.getIsBootable().setIsChangable(false); } diskModel.getIsBootable().setEntity(disk.isBoot()); diskModel.getIsShareable().setEntity(disk.isShareable()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGuideModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGuideModel.java index 4f0355f..4a64cda 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGuideModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGuideModel.java @@ -249,8 +249,8 @@ model.getIsBootable().setEntity(!hasBootableDisk); if (hasBootableDisk) { + model.getIsBootable().setChangeProhibitionReason("There can be only one bootable disk defined."); //$NON-NLS-1$ model.getIsBootable().setIsChangable(false); - model.getIsBootable().getChangeProhibitionReasons().add("There can be only one bootable disk defined."); //$NON-NLS-1$ } AsyncDataProvider.GetNextAvailableDiskAliasNameByVMId(new AsyncQuery(this, diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java index 090bf65..5947240 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java @@ -283,11 +283,10 @@ boolean isPlugChangeable = getPlugged().getIsChangable(); - getPlugged_IsSelected().getChangeProhibitionReasons().addAll(getLinked().getChangeProhibitionReasons()); + getPlugged_IsSelected().setChangeProhibitionReason(getLinked().getChangeProhibitionReason()); getPlugged_IsSelected().setIsChangable(isPlugChangeable); - getUnplugged_IsSelected().getChangeProhibitionReasons() - .addAll(getLinked().getChangeProhibitionReasons()); + getUnplugged_IsSelected().setChangeProhibitionReason(getLinked().getChangeProhibitionReason()); getUnplugged_IsSelected().setIsChangable(isPlugChangeable); } else if (propArgs.PropertyName.equals("IsAvailable")) { //$NON-NLS-1$ boolean isPlugAvailable = getPlugged().getIsAvailable(); @@ -318,11 +317,10 @@ } else if (propArgs.PropertyName.equals("IsChangable")) { //$NON-NLS-1$ boolean isLinkedChangeable = getLinked().getIsChangable(); - getLinked_IsSelected().getChangeProhibitionReasons().addAll(getLinked().getChangeProhibitionReasons()); + getLinked_IsSelected().setChangeProhibitionReason(getChangeProhibitionReason()); getLinked_IsSelected().setIsChangable(isLinkedChangeable); - getUnlinked_IsSelected().getChangeProhibitionReasons() - .addAll(getLinked().getChangeProhibitionReasons()); + getUnlinked_IsSelected().setChangeProhibitionReason(getLinked().getChangeProhibitionReason()); getUnlinked_IsSelected().setIsChangable(isLinkedChangeable); } else if (propArgs.PropertyName.equals("IsAvailable")) { //$NON-NLS-1$ boolean isLinkedAvailable = getLinked().getIsAvailable(); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java index f363dfd..987fb8c 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java @@ -922,7 +922,7 @@ model.setEntity(deleteDisks); if (!isChangable && changeProhibitionReason != null) { - model.getChangeProhibitionReasons().add(changeProhibitionReason); + model.setChangeProhibitionReason(changeProhibitionReason); } model.setIsChangable(isChangable); } @@ -1354,7 +1354,7 @@ @Override protected void sendWarningForNonExportableDisks(VM entity) { // load VM disks and check if there is one which doesn't allow snapshot - AsyncDataProvider.GetVmDiskList(new AsyncQuery((ExportVmModel) getWindow(), + AsyncDataProvider.GetVmDiskList(new AsyncQuery(getWindow(), new INewAsyncCallback() { @Override public void OnSuccess(Object target, Object returnValue) { @@ -1472,10 +1472,9 @@ if (!hasNics) { BootSequenceModel bootSequenceModel = runOnceModel.getBootSequence(); - bootSequenceModel.getNetworkOption().setIsChangable(false); bootSequenceModel.getNetworkOption() - .getChangeProhibitionReasons() - .add("Virtual Machine must have at least one network interface defined to boot from network."); //$NON-NLS-1$ + .setChangeProhibitionReason("Virtual Machine must have at least one network interface defined to boot from network."); //$NON-NLS-1$ + bootSequenceModel.getNetworkOption().setIsChangable(false); } } }; @@ -1510,8 +1509,7 @@ ((RunOnceModel) userPortalListModel.getWindow()).getBootSequence(); bootSequenceModel.getHardDiskOption().setIsChangable(false); bootSequenceModel.getHardDiskOption() - .getChangeProhibitionReasons() - .add("Virtual Machine must have at least one bootable disk defined to boot from hard disk."); //$NON-NLS-1$ + .setChangeProhibitionReason("Virtual Machine must have at least one bootable disk defined to boot from hard disk."); //$NON-NLS-1$ } } }; diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java index a36d850..56c187b 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java @@ -2,7 +2,6 @@ import java.util.ArrayList; import java.util.Date; -import java.util.List; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.OriginType; @@ -252,15 +251,9 @@ protected boolean canEdit(Object model) { return ((ImportVmData) model).getCollapseSnapshots().getIsChangable(); } - @Override protected String getDisabledMessage(Object model) { - List<String> reasons = - ((ImportVmData) model).getCollapseSnapshots().getChangeProhibitionReasons(); - if (reasons != null && !reasons.isEmpty()) { - return reasons.get(0); - } - return null; + return ((ImportVmData) model).getCollapseSnapshots().getChangeProhibitionReason(); } }; table.addColumn(collapseSnapshotsColumn, constants.collapseSnapshots(), "10px"); //$NON-NLS-1$ @@ -284,11 +277,7 @@ @Override protected String getDisabledMessage(Object model) { - List<String> reasons = ((ImportVmData) model).getClone().getChangeProhibitionReasons(); - if (reasons != null && !reasons.isEmpty()) { - return reasons.get(0); - } - return null; + return ((ImportVmData) model).getClone().getChangeProhibitionReason(); } }; table.addColumn(cloneVMColumn, constants.cloneVM(), "50px"); //$NON-NLS-1$ -- To view, visit http://gerrit.ovirt.org/12025 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Idda39fe051b2547c202dab9a0a1970779001b70e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tal Nisan <tni...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches