Lior Vernia has uploaded a new change for review. Change subject: webadmin: Update network label GUI field ......................................................................
webadmin: Update network label GUI field Moved it from the provider section in the Add/Edit Network dialog, as now it has significance for an internal network as well. Changed it to be a suggest box instead of a text box, where in case the network is internal, the existing labels in the DC are suggested. Change-Id: Ib0ed563897fd1d7eb4acc9ff322373132f01f8c3 Signed-off-by: Lior Vernia <lver...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.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/datacenters/NewNetworkModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.ui.xml 5 files changed, 66 insertions(+), 17 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/02/22902/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java index e8253ae..d60e8e5 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java @@ -40,7 +40,7 @@ getExport().setEntity(getNetwork().isExternal()); getExport().setIsChangable(false); getExternalProviders().setIsChangable(false); - getNetworkLabel().setIsChangable(false); + getNetworkLabel().setSelectedItem(getNetwork().getLabel()); toggleProfilesAvailability(); } @@ -79,7 +79,9 @@ getIsVmNetwork().setIsChangable(false); getHasMtu().setIsChangable(false); getMtu().setIsChangable(false); + getNetworkLabel().setIsChangable(false); } + super.onExportChanged(); } @Override 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 14a987e..2e80e41 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 @@ -1,6 +1,7 @@ package org.ovirt.engine.ui.uicommonweb.models.datacenters; import java.util.ArrayList; +import java.util.HashSet; import java.util.LinkedList; import java.util.List; @@ -12,6 +13,9 @@ import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.VnicProfile; import org.ovirt.engine.core.common.queries.ConfigurationValues; +import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; +import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.compat.StringHelper; import org.ovirt.engine.ui.frontend.AsyncQuery; @@ -25,6 +29,7 @@ import org.ovirt.engine.ui.uicommonweb.models.profiles.NetworkProfilesModel; import org.ovirt.engine.ui.uicommonweb.models.profiles.NewVnicProfileModel; import org.ovirt.engine.ui.uicommonweb.models.profiles.VnicProfileModel; +import org.ovirt.engine.ui.uicommonweb.validation.AsciiNameValidation; import org.ovirt.engine.ui.uicommonweb.validation.IValidation; import org.ovirt.engine.ui.uicommonweb.validation.IntegerValidation; import org.ovirt.engine.ui.uicommonweb.validation.LengthValidation; @@ -46,7 +51,8 @@ private EntityModel privateDescription; private EntityModel export; private ListModel externalProviders; - private EntityModel networkLabel; + private ListModel<String> networkLabel; + private Iterable<String> dcLabels; private EntityModel privateComment; private EntityModel privateVLanTag; private EntityModel privateIsStpEnabled; @@ -90,7 +96,7 @@ } }); - setNetworkLabel(new EntityModel()); + setNetworkLabel(new ListModel<String>()); setExternalProviders(new ListModel()); initExternalProviderList(); @@ -141,7 +147,6 @@ getProfiles().setItems(profiles); // Update changeability according to initial values - onExportChanged(); updateVlanTagChangeability(); updateMtuChangeability(); } @@ -227,11 +232,11 @@ this.externalProviders = externalProviders; } - public EntityModel getNetworkLabel() { + public ListModel<String> getNetworkLabel() { return networkLabel; } - public void setNetworkLabel(EntityModel networkLabel) { + public void setNetworkLabel(ListModel<String> networkLabel) { this.networkLabel = networkLabel; } @@ -416,9 +421,11 @@ } } + getNetworkLabel().validateSelectedItem(new IValidation[] { new AsciiNameValidation() }); + return getName().getIsValid() && getVLanTag().getIsValid() && getDescription().getIsValid() && getMtu().getIsValid() && getExternalProviders().getIsValid() && getComment().getIsValid() - && profilesValid; + && profilesValid && getNetworkLabel().getIsValid(); } protected boolean firstInit = true; @@ -442,7 +449,7 @@ setMTUOverrideSupported(isMTUOverrideSupported); - onExportChanged(); + updateDcLabels(); getProfiles().updateDcId(dc.getId()); } @@ -467,9 +474,11 @@ network.setName((String) getName().getEntity()); network.setStp((Boolean) getIsStpEnabled().getEntity()); network.setDescription((String) getDescription().getEntity()); - network.setLabel((String) getNetworkLabel().getEntity()); network.setComment((String) getComment().getEntity()); network.setVmNetwork((Boolean) getIsVmNetwork().getEntity()); + + String label = getNetworkLabel().getSelectedItem(); + network.setLabel(label == null || !label.isEmpty() ? label : null); network.setMtu(0); if ((Boolean) getHasMtu().getEntity()) @@ -569,7 +578,30 @@ protected abstract void selectExternalProvider(); - protected abstract void onExportChanged(); + protected void onExportChanged() { + String label = getNetworkLabel().getSelectedItem(); + if ((Boolean) getExport().getEntity()) { + getNetworkLabel().setItems(new HashSet<String>()); + } else { + getNetworkLabel().setItems(dcLabels); + } + getNetworkLabel().setSelectedItem(label); + } + + private void updateDcLabels() { + startProgress(null); + Frontend.getInstance().runQuery(VdcQueryType.GetNetworkLabelsByDataCenterId, + new IdQueryParameters(getSelectedDc().getId()), + new AsyncQuery(new INewAsyncCallback() { + + @Override + public void onSuccess(Object model, Object returnValue) { + dcLabels = ((VdcQueryReturnValue) returnValue).getReturnValue(); + stopProgress(); + onExportChanged(); + } + })); + } private void updateVlanTagChangeability() { getVLanTag().setIsChangable((Boolean) getHasVLanTag().getEntity()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NewNetworkModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NewNetworkModel.java index e5254c0..44f34a3 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NewNetworkModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NewNetworkModel.java @@ -106,13 +106,13 @@ protected void onExportChanged() { boolean externalNetwork = (Boolean) getExport().getEntity(); getExternalProviders().setIsChangable(externalNetwork); - getNetworkLabel().setIsChangable(externalNetwork); getIsVmNetwork().setIsChangable(!externalNetwork); getHasMtu().setIsChangable(!externalNetwork); if (externalNetwork) { getIsVmNetwork().setEntity(true); getHasMtu().setEntity(false); } + super.onExportChanged(); } @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.java index 9cf6068..8cf8020 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.java @@ -15,6 +15,7 @@ import org.ovirt.engine.ui.common.widget.editor.EntityModelTextBoxEditor; import org.ovirt.engine.ui.common.widget.editor.EntityModelTextBoxOnlyEditor; import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor; +import org.ovirt.engine.ui.common.widget.editor.generic.ListModelSuggestBoxEditor; import org.ovirt.engine.ui.common.widget.renderer.NullSafeRenderer; import org.ovirt.engine.ui.common.widget.table.column.CheckboxColumn; import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip; @@ -112,6 +113,10 @@ @Path(value = "mtu.entity") public EntityModelTextBoxOnlyEditor mtuEditor; + @UiField + @Path(value = "networkLabel.selectedItem") + public ListModelSuggestBoxEditor networkLabel; + @UiField(provided = true) @Ignore public final EntityModelCellTable<ListModel> clustersTable; @@ -125,10 +130,6 @@ @UiField public WidgetStyle style; - - @UiField - @Path(value = "networkLabel.entity") - public EntityModelTextBoxEditor networkLabel; @UiField @Ignore @@ -212,12 +213,15 @@ protected void addStyles() { vlanTag.addContentWidgetStyleName(style.vlanEditor()); mtuEditor.addContentWidgetStyleName(style.mtuEditor()); + networkLabel.addContentWidgetStyleName(style.mtuEditor()); isVmNetworkEditor.addContentWidgetStyleName(style.checkBox()); isVmNetworkEditor.asCheckBox().addStyleName(style.checkBox()); vlanTagging.addContentWidgetStyleName(style.checkBox()); vlanTagging.asCheckBox().addStyleName(style.checkBox()); hasMtuEditor.addContentWidgetStyleName(style.checkBox()); hasMtuEditor.asCheckBox().addStyleName(style.checkBox()); + networkLabel.addLabelStyleName(style.checkBox()); + networkLabel.addLabelStyleName(style.inlineLabel()); } @Override @@ -388,6 +392,8 @@ String vlanEditor(); String checkBox(); + + String inlineLabel(); } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.ui.xml index c62dfd1..fd2e0a4 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.ui.xml @@ -4,7 +4,8 @@ xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog" xmlns:e="urn:import:org.ovirt.engine.ui.common.widget.editor" xmlns:we="urn:import:org.ovirt.engine.ui.webadmin.widget.editor" xmlns:v="urn:import:org.ovirt.engine.ui.webadmin.widget.vnicProfile" - xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.dialog.tab"> + xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.dialog.tab" + xmlns:ge="urn:import:org.ovirt.engine.ui.common.widget.editor.generic"> <ui:with field='constants' type='org.ovirt.engine.ui.webadmin.ApplicationConstants' /> @@ -55,6 +56,14 @@ padding: 5px; } + .floatLeft { + float: left; + } + + .inlineLabel { + display: inline-block; + } + </ui:style> <d:SimpleDialogPanel ui:field="mainPanel" width="780px" height="550px"> @@ -75,7 +84,6 @@ <g:Label ui:field="exportLabel" addStyleNames="{style.mainLabel}" /> <e:EntityModelCheckBoxEditor ui:field="exportEditor" /> <e:ListModelListBoxEditor ui:field="externalProviderEditor" addStyleNames="{style.dependentField}" /> - <e:EntityModelTextBoxEditor ui:field="networkLabel" addStyleNames="{style.dependentField}" /> </g:FlowPanel> <g:FlowPanel addStyleNames="{style.sectionStyle}"> <g:Label ui:field="mainLabel" addStyleNames="{style.mainLabel}" /> @@ -88,6 +96,7 @@ <e:EntityModelCheckBoxEditor ui:field="hasMtuEditor"/> <e:EntityModelTextBoxOnlyEditor ui:field="mtuEditor" /> </g:HorizontalPanel> + <ge:ListModelSuggestBoxEditor ui:field="networkLabel" addStyleNames="{style.dependentField} {style.floatLeft}" /> </g:FlowPanel> </g:FlowPanel> </t:content> -- To view, visit http://gerrit.ovirt.org/22902 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib0ed563897fd1d7eb4acc9ff322373132f01f8c3 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Lior Vernia <lver...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches