Alona Kaplan has uploaded a new change for review. Change subject: webadmin: Network dialog- default/custom mtu as radio buttons ......................................................................
webadmin: Network dialog- default/custom mtu as radio buttons Substituting the 'override mtu' checkbox with two radio boxes- 'default' and 'custom'. Bug-Url: https://bugzilla.redhat.com/1043808 Change-Id: I9f813fd292b56407c97ae69c1580061bbc0eef04 Signed-off-by: Alona Kaplan <[email protected]> --- 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/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkGeneralModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/AbstractNetworkPopupPresenterWidget.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 M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/NewNetworkPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/NewClusterNetworkPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditDataCenterNetworkPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditNetworkPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/NewDataCenterNetworkPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkGeneralView.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/MtuRenderer.java 19 files changed, 194 insertions(+), 100 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/17/30717/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 a3f91907..4a94db5 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 @@ -46,19 +46,15 @@ } @Override - public void syncWithBackend() { - super.syncWithBackend(); - } - - @Override protected void initIsVm() { getIsVmNetwork().setEntity(getNetwork().isVmNetwork()); } @Override protected void initMtu() { - getHasMtu().setEntity(getNetwork().getMtu() != 0); - getMtu().setEntity(getNetwork().getMtu() != 0 ? getNetwork().getMtu() : null); + boolean isCustomMtu = getNetwork().getMtu() != 0; + getMtuSelector().setSelectedItem(isCustomMtu ? MtuSelector.customMtu : MtuSelector.defaultMtu); + getMtu().setEntity(isCustomMtu() ? getNetwork().getMtu() : null); } @Override @@ -74,8 +70,6 @@ getHasVLanTag().setIsChangable(false); getVLanTag().setIsChangable(false); getIsVmNetwork().setIsChangable(false); - getHasMtu().setIsChangable(false); - getMtu().setIsChangable(false); getNetworkLabel().setIsChangable(false); } super.onExportChanged(); 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 8bbddbe..d474bf5 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.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.LinkedList; @@ -61,8 +62,8 @@ private EntityModel<Integer> privateVLanTag; private EntityModel<Boolean> privateIsStpEnabled; private EntityModel<Boolean> privateHasVLanTag; - private EntityModel<Boolean> privateHasMtu; - private EntityModel<Integer> privateMtu; + private ListModel<MtuSelector> mtuSelector; + private EntityModel<Integer> mtu; private EntityModel<Boolean> privateIsVmNetwork; private ListModel<NetworkQoS> qos; private boolean isSupportBridgesReportByVDSM = false; @@ -124,16 +125,18 @@ } }); - setMtu(new EntityModel<Integer>()); - EntityModel<Boolean> hasMtu = new EntityModel<Boolean>(); - hasMtu.setEntity(false); - setHasMtu(hasMtu); - getHasMtu().getEntityChangedEvent().addListener(new IEventListener() { + ListModel<MtuSelector> mtuSelector = new ListModel<MtuSelector>(); + mtuSelector.setItems(Arrays.asList(MtuSelector.values())); + setMtuSelector(mtuSelector); + mtuSelector.getSelectedItemChangedEvent().addListener(new IEventListener() { + @Override public void eventRaised(Event ev, Object sender, EventArgs args) { - updateMtuChangeability(); + updateMtuSelectorsChangeability(); } }); + + setMtu(new EntityModel<Integer>()); EntityModel<Boolean> isVmNetwork = new EntityModel<Boolean>(); isVmNetwork.setEntity(true); @@ -168,7 +171,6 @@ // Update changeability according to initial values updateVlanTagChangeability(); - updateMtuChangeability(); updateSubnetChangeability(); } @@ -299,24 +301,24 @@ privateHasVLanTag = value; } - public EntityModel<Boolean> getHasMtu() + public ListModel<MtuSelector> getMtuSelector() { - return privateHasMtu; + return mtuSelector; } - private void setHasMtu(EntityModel<Boolean> value) + private void setMtuSelector(ListModel<MtuSelector> value) { - privateHasMtu = value; + mtuSelector = value; } public EntityModel<Integer> getMtu() { - return privateMtu; + return mtu; } private void setMtu(EntityModel<Integer> value) { - privateMtu = value; + mtu = value; } public EntityModel<Boolean> getIsVmNetwork() @@ -361,20 +363,8 @@ } public void setMTUOverrideSupported(boolean mtuOverrideSupported) { - if (!mtuOverrideSupported) { - getHasMtu().setChangeProhibitionReason(ConstantsManager.getInstance().getMessages() - .mtuOverrideNotSupported(getSelectedDc().getcompatibility_version().toString())); - getHasMtu().setIsChangable(false); - getMtu().setIsChangable(false); - getHasMtu().setEntity(false); - getMtu().setEntity(null); - } else { - if (this.mtuOverrideSupported != mtuOverrideSupported) { - initMtu(); - } - getHasMtu().setIsChangable(true); - } this.mtuOverrideSupported = mtuOverrideSupported; + updateMtuSelectorsChangeability(); } public ListModel<StoragePool> getDataCenters() @@ -451,13 +441,9 @@ getVLanTag().validateEntity(new IValidation[] { new NotEmptyValidation(), tempVar4 }); } - getMtu().setIsValid(true); - if (getHasMtu().getEntity()) - { - IntegerValidation tempVar5 = new IntegerValidation(); - tempVar5.setMinimum(68); - getMtu().validateEntity(new IValidation[] { new NotEmptyValidation(), tempVar5 }); - } + IntegerValidation tempVar5 = new IntegerValidation(); + tempVar5.setMinimum(68); + getMtu().validateEntity(new IValidation[] { new NotEmptyValidation(), tempVar5 }); getExternalProviders().validateSelectedItem(new IValidation[] { new NotEmptyValidation() }); @@ -479,6 +465,10 @@ return getName().getIsValid() && getVLanTag().getIsValid() && getDescription().getIsValid() && getMtu().getIsValid() && getExternalProviders().getIsValid() && getComment().getIsValid() && subnetValid && profilesValid && getNetworkLabel().getIsValid(); + } + + protected boolean isCustomMtu() { + return MtuSelector.customMtu == getMtuSelector().getSelectedItem(); } public void syncWithBackend() { @@ -547,7 +537,7 @@ network.setLabel(label == null || !label.isEmpty() ? label : null); network.setMtu(0); - if (getHasMtu().getEntity()) + if (getMtu().getIsChangable()) { network.setMtu(Integer.parseInt(getMtu().getEntity().toString())); } @@ -707,6 +697,8 @@ String label = getNetworkLabel().getSelectedItem(); getNetworkLabel().setItems(externalNetwork ? new HashSet<String>() : dcLabels); getNetworkLabel().setSelectedItem(label); + + updateMtuSelectorsChangeability(); } private void updateDcLabels() { @@ -727,11 +719,52 @@ getVLanTag().setIsChangable(getHasVLanTag().getEntity()); } - private void updateMtuChangeability() { - getMtu().setIsChangable(getHasMtu().getEntity() && !getExport().getEntity()); + private void setMtuSelectorsChangeability(boolean isChangeable, String prohibitionReason) { + if (!isChangeable) { + getMtuSelector().setChangeProhibitionReason(prohibitionReason); + getMtu().setChangeProhibitionReason(prohibitionReason); + } + + getMtuSelector().setIsChangable(isChangeable); + getMtu().setIsChangable(isChangeable && isCustomMtu()); + } + + protected void updateMtuSelectorsChangeability() { + + if (getSelectedDc() != null && !isMTUOverrideSupported()) { + setMtuSelectorsChangeability(false, ConstantsManager.getInstance().getMessages() + .mtuOverrideNotSupported(getSelectedDc().getcompatibility_version().toString())); + return; + } + + if (getExport().getEntity()) { + setMtuSelectorsChangeability(false, null); + return; + } + + setMtuSelectorsChangeability(true, null); } private void updateSubnetChangeability() { getSubnetModel().toggleChangeability(getCreateSubnet().getEntity()); } + + public enum MtuSelector { + defaultMtu(ConstantsManager.getInstance() + .getMessages() + .defaultMtu((Integer) AsyncDataProvider.getConfigValuePreConverted(ConfigurationValues.DefaultMtu))), + customMtu(ConstantsManager.getInstance().getConstants().customMtu()); + + private String description; + + private MtuSelector(String description) { + this.description = description; + } + + @Override + public String toString() { + return description; + } + } + } 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 4968ca3..7468552 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 @@ -51,6 +51,8 @@ setTitle(ConstantsManager.getInstance().getConstants().newLogicalNetworkTitle()); setHelpTag(HelpTag.new_logical_network); setHashName("new_logical_network"); //$NON-NLS-1$ + + initMtu(); } @Override @@ -87,7 +89,7 @@ @Override protected void initMtu() { - getHasMtu().setEntity(false); + getMtuSelector().setSelectedItem(MtuSelector.defaultMtu); getMtu().setEntity(null); } @@ -105,11 +107,9 @@ protected void onExportChanged() { boolean externalNetwork = (Boolean) getExport().getEntity(); getExternalProviders().setIsChangable(externalNetwork); - getIsVmNetwork().setIsChangable(!externalNetwork); - getHasMtu().setIsChangable(!externalNetwork); + getIsVmNetwork().setIsChangable(!externalNetwork && isSupportBridgesReportByVDSM()); if (externalNetwork) { getIsVmNetwork().setEntity(true); - getHasMtu().setEntity(false); } Iterable<NetworkClusterModel> networkClusters = getNetworkClusterList().getItems(); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkGeneralModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkGeneralModel.java index 1f02bf6..25e42e3 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkGeneralModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkGeneralModel.java @@ -69,11 +69,7 @@ setRole(role); setVlan(extendedNetwork.getVlanId()); - if (extendedNetwork.getMtu() == 0) { - setMtu(null); - } else { - setMtu(extendedNetwork.getMtu()); - } + setMtu(extendedNetwork.getMtu()); if (extendedNetwork.isExternal()) { setExternalId(extendedNetwork.getProvidedBy().getExternalId()); diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java index 6a53e3a..ab3bfbb 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java @@ -2316,5 +2316,11 @@ @DefaultStringValue("Login") String loginButtonLabel(); + + @DefaultStringValue("Default") + String defaultMtu(); + + @DefaultStringValue("Custom") + String customMtu(); } diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java index 677cd6d..a77a7b9 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java @@ -391,4 +391,7 @@ @DefaultMessage("{0} {1} have been written in the current profiling interval out of {2} {3} during profiling") String bytesWrittenInCurrentProfileInterval(String currentBytesWritten, String currentBytesWrittenUnit, String totalBytes, String totalBytesUnit); + + @DefaultMessage("Default ({0})") + String defaultMtu(int mtu); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java index 7fe8bcd..1f3d289 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java @@ -245,8 +245,8 @@ @DefaultStringValue("Enable VLAN tagging") String enableVlanTagLabel(); - @DefaultStringValue("Override MTU") - String overrideMtuLabel(); + @DefaultStringValue("MTU") + String mtuLabel(); @DefaultStringValue("Create subnet") String createSubnetLabel(); @@ -2015,9 +2015,6 @@ @DefaultStringValue("none") String noneVlan(); - - @DefaultStringValue("host's default") - String defaultMtu(); @DefaultStringValue("New") String newNetworkProfile(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java index 173e052..a54c1be 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java @@ -89,7 +89,6 @@ @DefaultMessage("Rebalance {0}") String rebalanceStatusMessage(JobExecutionStatus jobStatus); - @DefaultMessage("{0} Bytes") String rebalanceFileSizeBytes(String size); @@ -105,4 +104,6 @@ @DefaultMessage("{0}. Moving the display network will drop VM console connectivity until they are restarted.") String moveDisplayNetworkWarning(String networkOperationMessage); + @DefaultMessage("Default ({0})") + String defaultMtu(int mtu); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/AbstractNetworkPopupPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/AbstractNetworkPopupPresenterWidget.java index 6f3f908..42d6c28 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/AbstractNetworkPopupPresenterWidget.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/AbstractNetworkPopupPresenterWidget.java @@ -26,6 +26,8 @@ void toggleProfilesVisibility(boolean visible); UiCommandButton getQosButton(); + + void addMtuEditor(); } public AbstractNetworkPopupPresenterWidget(EventBus eventBus, V view) { @@ -75,6 +77,8 @@ getView().getQosButton().getCommand().execute(); } }); + + getView().addMtuEditor(); } @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 23b6362..962f5a5 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.EntityModelCellTable; import org.ovirt.engine.ui.common.widget.editor.EntityModelCellTable.SelectionMode; import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor; +import org.ovirt.engine.ui.common.widget.editor.ListModelRadioGroupEditor; import org.ovirt.engine.ui.common.widget.editor.ListModelSuggestBoxOnlyEditor; import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelCheckBoxEditor; import org.ovirt.engine.ui.common.widget.editor.generic.IntegerEntityModelTextBoxOnlyEditor; @@ -27,7 +28,9 @@ import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicommonweb.models.datacenters.NetworkClusterModel; import org.ovirt.engine.ui.uicommonweb.models.datacenters.NetworkModel; +import org.ovirt.engine.ui.uicommonweb.models.datacenters.NetworkModel.MtuSelector; import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.ApplicationMessages; import org.ovirt.engine.ui.webadmin.ApplicationResources; import org.ovirt.engine.ui.webadmin.ApplicationTemplates; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.AbstractNetworkPopupPresenterWidget; @@ -44,6 +47,7 @@ import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.VerticalPanel; @@ -109,11 +113,10 @@ @Path(value = "VLanTag.entity") public IntegerEntityModelTextBoxOnlyEditor vlanTag; - @UiField(provided = true) - @Path(value = "hasMtu.entity") - public final EntityModelCheckBoxEditor hasMtuEditor; - @UiField + @Path(value = "mtuSelector.selectedItem") + public ListModelRadioGroupEditor<MtuSelector> mtuSelectorEditor; + @Path(value = "mtu.entity") public IntegerEntityModelTextBoxOnlyEditor mtuEditor; @@ -180,9 +183,9 @@ @Ignore public Label profilesLabel; - @Inject - public AbstractNetworkPopupView(EventBus eventBus, ApplicationResources resources, - ApplicationConstants constants, ApplicationTemplates templates) { + @Inject + public AbstractNetworkPopupView(EventBus eventBus, ApplicationResources resources, + ApplicationConstants constants, ApplicationTemplates templates, final ApplicationMessages messages) { super(eventBus, resources); // Initialize Editors dataCenterEditor = new ListModelListBoxEditor<StoragePool>(new NullSafeRenderer<StoragePool>() { @@ -213,7 +216,7 @@ }); isVmNetworkEditor = new EntityModelCheckBoxEditor(Align.RIGHT); vlanTagging = new EntityModelCheckBoxEditor(Align.RIGHT); - hasMtuEditor = new EntityModelCheckBoxEditor(Align.RIGHT); + mtuEditor = new IntegerEntityModelTextBoxOnlyEditor(); createSubnetEditor = new EntityModelCheckBoxEditor(Align.RIGHT); networkLabelLabel = new StringEntityModelLabel(); networkLabel = new ListModelSuggestBoxOnlyEditor(); @@ -243,7 +246,7 @@ commentEditor.setLabel(constants.commentLabel()); isVmNetworkEditor.setLabel(constants.vmNetworkLabel()); vlanTagging.setLabel(constants.enableVlanTagLabel()); - hasMtuEditor.setLabel(constants.overrideMtuLabel()); + mtuSelectorEditor.setLabel(constants.mtuLabel()); qosEditor.setLabel(constants.hostNetworkQos()); createSubnetEditor.setLabel(constants.createSubnetLabel()); @@ -252,19 +255,21 @@ protected void addStyles() { vlanTag.addContentWidgetStyleName(style.valueBox()); + mtuSelectorEditor.addLabelStyleName(style.noPadding()); + mtuSelectorEditor.addLabelStyleName(style.mtuLabel()); + mtuSelectorEditor.addContentWidgetStyleName(style.mtuSelector()); mtuEditor.addContentWidgetStyleName(style.valueBox()); + mtuEditor.addWrapperStyleName(style.inlineBlock()); networkLabel.addContentWidgetStyleName(style.valueBox()); qosEditor.addContentWidgetStyleName(style.valueBox()); isVmNetworkEditor.addContentWidgetStyleName(style.vmNetworkStyle()); isVmNetworkEditor.asCheckBox().addStyleName(style.vmNetworkStyle()); - vlanTagging.addContentWidgetStyleName(style.checkBox()); - vlanTagging.asCheckBox().addStyleName(style.checkBox()); - hasMtuEditor.addContentWidgetStyleName(style.checkBox()); - hasMtuEditor.asCheckBox().addStyleName(style.checkBox()); - networkLabelLabel.addStyleName(style.checkBox()); - networkLabelLabel.addStyleName(style.inlineLabel()); - qosEditor.addLabelStyleName(style.checkBox()); - qosEditor.addLabelStyleName(style.inlineLabel()); + vlanTagging.addContentWidgetStyleName(style.noPadding()); + vlanTagging.asCheckBox().addStyleName(style.noPadding()); + networkLabelLabel.addStyleName(style.noPadding()); + networkLabelLabel.addStyleName(style.inlineBlock()); + qosEditor.addLabelStyleName(style.noPadding()); + qosEditor.addLabelStyleName(style.inlineBlock()); } @Override @@ -438,14 +443,23 @@ return addQosButton; } + public void addMtuEditor() { + FlowPanel panel = mtuSelectorEditor.asRadioGroup().getPanel(MtuSelector.customMtu); + panel.add(mtuEditor); + } + interface WidgetStyle extends CssResource { String valueBox(); - String checkBox(); + String noPadding(); + + String mtuSelector(); String vmNetworkStyle(); - String inlineLabel(); + String inlineBlock(); + + String mtuLabel(); } } 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 f283e59..e22539a 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 @@ -41,8 +41,15 @@ width: 100px; } - .checkBox { + .noPadding { padding: 0px !important; + } + + .mtuSelector { + width: auto; + padding: 0px; + float: none; + display: inline-block; } .vmNetworkStyle { @@ -73,7 +80,13 @@ width: 340px; } - .inlineLabel { + .mtuLabel { + width: 230px; + position: relative; + top: -25px; + } + + .inlineBlock { display: inline-block; } @@ -108,10 +121,7 @@ <ge:EntityModelCheckBoxEditor ui:field="isVmNetworkEditor" /> <g:Image resource="{resources.networkVm}" addStyleNames="{style.vmNetworkImage}" /> </g:HorizontalPanel> - <g:HorizontalPanel addStyleNames="{style.dependentField}"> - <ge:EntityModelCheckBoxEditor ui:field="hasMtuEditor"/> - <ge:IntegerEntityModelTextBoxOnlyEditor ui:field="mtuEditor" /> - </g:HorizontalPanel> + <e:ListModelRadioGroupEditor ui:field="mtuSelectorEditor" addStyleNames="{style.dependentField}" /> <w:EntityModelWidgetWithInfo ui:field="networkLabelWithInfo" addStyleNames="{style.dependentField} {style.propertyWidth} anpv_networkLabelPanel_pfly_fix" /> <g:HorizontalPanel verticalAlignment="ALIGN_MIDDLE" visible="false"> <e:ListModelListBoxEditor ui:field="qosEditor" addStyleNames="{style.dependentField} {style.propertyWidth}" /> diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/NewNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/NewNetworkPopupView.java index 5242646..6100277 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/NewNetworkPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/NewNetworkPopupView.java @@ -4,6 +4,7 @@ import org.ovirt.engine.ui.uicommonweb.models.datacenters.NetworkClusterModel; import org.ovirt.engine.ui.uicommonweb.models.datacenters.NewNetworkModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.ApplicationMessages; import org.ovirt.engine.ui.webadmin.ApplicationResources; import org.ovirt.engine.ui.webadmin.ApplicationTemplates; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.datacenter.NewNetworkPopupPresenterWidget; @@ -23,8 +24,8 @@ @Inject public NewNetworkPopupView(EventBus eventBus, ApplicationResources resources, - ApplicationConstants constants, ApplicationTemplates templates) { - super(eventBus, resources, constants, templates); + ApplicationConstants constants, ApplicationTemplates templates, ApplicationMessages messages) { + super(eventBus, resources, constants, templates, messages); driver.initialize(this); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/NewClusterNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/NewClusterNetworkPopupView.java index d6bd4f6..74c7339 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/NewClusterNetworkPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/NewClusterNetworkPopupView.java @@ -20,7 +20,7 @@ ApplicationConstants constants, ApplicationTemplates templates, ApplicationMessages messages) { - super(eventBus, resources, constants, templates); + super(eventBus, resources, constants, templates, messages); this.messages = messages; } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditDataCenterNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditDataCenterNetworkPopupView.java index f76c500..4797f17 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditDataCenterNetworkPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditDataCenterNetworkPopupView.java @@ -1,6 +1,7 @@ package org.ovirt.engine.ui.webadmin.section.main.view.popup.datacenter; import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.ApplicationMessages; import org.ovirt.engine.ui.webadmin.ApplicationResources; import org.ovirt.engine.ui.webadmin.ApplicationTemplates; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.datacenter.EditDataCenterNetworkPopupPresenterWidget; @@ -13,8 +14,8 @@ @Inject public EditDataCenterNetworkPopupView(EventBus eventBus, ApplicationResources resources, - ApplicationConstants constants, ApplicationTemplates templates) { - super(eventBus, resources, constants, templates); + ApplicationConstants constants, ApplicationTemplates templates, ApplicationMessages messages) { + super(eventBus, resources, constants, templates, messages); } @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditNetworkPopupView.java index 9df1aaf..30ddf13 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditNetworkPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditNetworkPopupView.java @@ -2,6 +2,7 @@ import org.ovirt.engine.ui.uicommonweb.models.datacenters.EditNetworkModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.ApplicationMessages; import org.ovirt.engine.ui.webadmin.ApplicationResources; import org.ovirt.engine.ui.webadmin.ApplicationTemplates; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.datacenter.EditNetworkPopupPresenterWidget; @@ -23,8 +24,9 @@ public EditNetworkPopupView(EventBus eventBus, ApplicationResources resources, ApplicationConstants constants, - ApplicationTemplates templates) { - super(eventBus, resources, constants, templates); + ApplicationTemplates templates, + ApplicationMessages messages) { + super(eventBus, resources, constants, templates, messages); driver.initialize(this); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/NewDataCenterNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/NewDataCenterNetworkPopupView.java index e1e85dd..8105ae6 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/NewDataCenterNetworkPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/NewDataCenterNetworkPopupView.java @@ -1,6 +1,7 @@ package org.ovirt.engine.ui.webadmin.section.main.view.popup.datacenter; import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.ApplicationMessages; import org.ovirt.engine.ui.webadmin.ApplicationResources; import org.ovirt.engine.ui.webadmin.ApplicationTemplates; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.datacenter.NewDataCenterNetworkPopupPresenterWidget; @@ -14,8 +15,8 @@ @Inject public NewDataCenterNetworkPopupView(EventBus eventBus, ApplicationResources resources, - ApplicationConstants constants, ApplicationTemplates templates) { - super(eventBus, resources, constants, templates); + ApplicationConstants constants, ApplicationTemplates templates, ApplicationMessages messages) { + super(eventBus, resources, constants, templates, messages); } @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java index e526dce..8617845 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java @@ -3,7 +3,9 @@ import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.NetworkBootProtocol; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; +import org.ovirt.engine.core.common.queries.ConfigurationValues; import org.ovirt.engine.ui.common.widget.renderer.EnumRenderer; +import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.hosts.network.BondNetworkInterfaceModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.network.LogicalNetworkModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.network.NetworkInterfaceModel; @@ -43,6 +45,7 @@ SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkNotSyncImage()).getHTML()); SafeHtml alertImage = SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.alertImage()).getHTML()); + private static int defaultMtu = (Integer) AsyncDataProvider.getConfigValuePreConverted(ConfigurationValues.DefaultMtu); public ItemInfoPopup() { super(true); @@ -127,8 +130,9 @@ } // Mtu - if (entity.getMtu() != 0) { - addRow(constants.mtuItemInfo(), String.valueOf(entity.getMtu())); + if (!entity.isExternal()) { + addRow(constants.mtuItemInfo(), + entity.getMtu() == 0 ? messages.defaultMtu(defaultMtu) : String.valueOf(entity.getMtu())); } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkGeneralView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkGeneralView.java index 68898f5..b42a571 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkGeneralView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkGeneralView.java @@ -16,6 +16,7 @@ import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.network.SubTabNetworkGeneralPresenter; +import org.ovirt.engine.ui.webadmin.widget.renderer.MtuRenderer; import com.google.gwt.core.client.GWT; import com.google.gwt.editor.client.Editor; @@ -41,7 +42,7 @@ TextBoxLabel description = new TextBoxLabel(); TextBoxLabel role = new TextBoxLabel(); ValueLabel<Integer> vlan = new ValueLabel<Integer>(new EmptyValueRenderer<Integer>(constants.noneVlan())); - ValueLabel<Integer> mtu = new ValueLabel<Integer>(new EmptyValueRenderer<Integer>(constants.defaultMtu())); + ValueLabel<Integer> mtu = new ValueLabel<Integer>(new MtuRenderer()); TextBoxLabel externalId = new TextBoxLabel(); @UiField(provided = true) @@ -70,7 +71,11 @@ formBuilder.addFormItem(new FormItem(constants.roleNetwork(), role, 0, 1)); formBuilder.addFormItem(new FormItem(constants.vlanNetwork(), vlan, 1, 1)); - formBuilder.addFormItem(new FormItem(constants.mtuNetwork(), mtu, 2, 1)); + formBuilder.addFormItem(new FormItem(constants.mtuNetwork(), mtu, 2, 1) { + public boolean getIsAvailable() { + return getDetailModel().getExternalId() == null; + } + }); formBuilder.addFormItem(new FormItem(constants.externalIdProviderNetwork(), externalId, 3, 0) { @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/MtuRenderer.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/MtuRenderer.java new file mode 100644 index 0000000..7974374 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/MtuRenderer.java @@ -0,0 +1,22 @@ +package org.ovirt.engine.ui.webadmin.widget.renderer; + +import org.ovirt.engine.core.common.queries.ConfigurationValues; +import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; +import org.ovirt.engine.ui.webadmin.ApplicationMessages; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.text.shared.AbstractRenderer; + +public class MtuRenderer extends AbstractRenderer<Integer> { + + private static int defaultMtu = + (Integer) AsyncDataProvider.getConfigValuePreConverted(ConfigurationValues.DefaultMtu); + + private final ApplicationMessages messages = GWT.create(ApplicationMessages.class); + + @Override + public String render(Integer mtu) { + return mtu == 0 ? messages.defaultMtu(defaultMtu) : mtu.toString(); + } + +} -- To view, visit http://gerrit.ovirt.org/30717 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9f813fd292b56407c97ae69c1580061bbc0eef04 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Alona Kaplan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
