Lior Vernia has uploaded a new change for review. Change subject: webadmin: Added QoS to Network dialog ......................................................................
webadmin: Added QoS to Network dialog This to enable to attach a QoS configuration to a network, to be carried over to host interfaces. Change-Id: I26a7444eee1d5e3bd37d056a0faa080d8e7da1fe Signed-off-by: Lior Vernia <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.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/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 4 files changed, 58 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/07/22607/1 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..885e4df 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 @@ -10,6 +10,7 @@ import org.ovirt.engine.core.common.businessentities.Provider; import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.network.Network; +import org.ovirt.engine.core.common.businessentities.network.NetworkQoS; import org.ovirt.engine.core.common.businessentities.network.VnicProfile; import org.ovirt.engine.core.common.queries.ConfigurationValues; import org.ovirt.engine.core.compat.Guid; @@ -17,6 +18,7 @@ import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.frontend.INewAsyncCallback; +import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; @@ -54,6 +56,7 @@ private EntityModel privateHasMtu; private EntityModel privateMtu; private EntityModel privateIsVmNetwork; + private ListModel<NetworkQoS> qos; private boolean isSupportBridgesReportByVDSM = false; private boolean mtuOverrideSupported = false; private ListModel privateDataCenters; @@ -139,6 +142,8 @@ profiles.add(defaultProfile); getProfiles().setDefaultProfile(defaultProfile); getProfiles().setItems(profiles); + + setQos(new ListModel<NetworkQoS>()); // Update changeability according to initial values onExportChanged(); @@ -303,6 +308,14 @@ privateIsVmNetwork = value; } + public ListModel<NetworkQoS> getQos() { + return qos; + } + + private void setQos(ListModel<NetworkQoS> qos) { + this.qos = qos; + } + public boolean isSupportBridgesReportByVDSM() { return isSupportBridgesReportByVDSM; } @@ -442,8 +455,20 @@ setMTUOverrideSupported(isMTUOverrideSupported); - onExportChanged(); + AsyncQuery query = new AsyncQuery(); + query.asyncCallback = new INewAsyncCallback() { + @Override + public void onSuccess(Object model, Object returnValue) { + Iterable<NetworkQoS> qos = (Iterable<NetworkQoS>) returnValue; + NetworkQoS selectedQos = getNetwork().getQos(); + getQos().setItems(qos); + getQos().setSelectedItem(Linq.findNetworkQosById(qos, selectedQos == null ? null : selectedQos.getId())); + } + }; + AsyncDataProvider.getAllNetworkQos(dc.getId(), query); + + onExportChanged(); getProfiles().updateDcId(dc.getId()); } @@ -486,6 +511,9 @@ for (VnicProfileModel profileModel : getProfiles().getItems()) { profileModel.flush(); } + + NetworkQoS qos = getQos().getSelectedItem(); + network.setQos(qos == NetworkQoSModel.getEmptyQos() ? null : qos); } protected abstract void executeSave(); 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 863aa00..5cb8a89 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 @@ -212,6 +212,9 @@ @DefaultStringValue("Override MTU") String overrideMtuLabel(); + @DefaultStringValue("Quality of Service") + String qos(); + @DefaultStringValue("Name") String nameClusterHeader(); 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 63a1dc3..7224913 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 @@ -4,6 +4,7 @@ import org.ovirt.engine.core.common.businessentities.Provider; import org.ovirt.engine.core.common.businessentities.StoragePool; +import org.ovirt.engine.core.common.businessentities.network.NetworkQoS; import org.ovirt.engine.ui.common.idhandler.WithElementId; import org.ovirt.engine.ui.common.view.popup.AbstractModelBoundPopupView; import org.ovirt.engine.ui.common.widget.Align; @@ -113,6 +114,10 @@ public EntityModelTextBoxOnlyEditor mtuEditor; @UiField(provided = true) + @Path(value = "qos.selectedItem") + public ListModelListBoxEditor<NetworkQoS> qosEditor; + + @UiField(provided = true) @Ignore public final EntityModelCellTable<ListModel> clustersTable; @@ -167,6 +172,12 @@ return ((Provider) object).getName(); } }); + qosEditor = new ListModelListBoxEditor<NetworkQoS>(new NullSafeRenderer<NetworkQoS>() { + @Override + protected String renderNullSafe(NetworkQoS qos) { + return qos.getName(); + } + }); exportEditor = new EntityModelCheckBoxEditor(Align.RIGHT); exportEditor.asCheckBox().addValueChangeHandler(new ValueChangeHandler<Boolean>() { @@ -205,6 +216,7 @@ isVmNetworkEditor.setLabel(constants.vmNetworkLabel()); vlanTagging.setLabel(constants.enableVlanTagLabel()); hasMtuEditor.setLabel(constants.overrideMtuLabel()); + qosEditor.setLabel(constants.qos()); profilesLabel.setText(constants.profilesLabel()); } @@ -212,12 +224,15 @@ protected void addStyles() { vlanTag.addContentWidgetStyleName(style.valueBox()); mtuEditor.addContentWidgetStyleName(style.valueBox()); + qosEditor.addContentWidgetStyleName(style.valueBox()); 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()); + qosEditor.addLabelStyleName(style.checkBox()); + qosEditor.addLabelStyleName(style.qosLabel()); } @Override @@ -386,6 +401,8 @@ String valueBox(); String checkBox(); + + String qosLabel(); } } 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 ad4a2d8..fcff767 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 @@ -51,6 +51,14 @@ padding: 5px; } + .qosStyle { + float: left; + } + + .qosLabel { + display: inline-block; + } + </ui:style> <d:SimpleDialogPanel ui:field="mainPanel" width="780px" height="550px"> @@ -84,6 +92,7 @@ <e:EntityModelCheckBoxEditor ui:field="hasMtuEditor"/> <e:EntityModelTextBoxOnlyEditor ui:field="mtuEditor" /> </g:HorizontalPanel> + <e:ListModelListBoxEditor ui:field="qosEditor" addStyleNames="{style.dependentField} {style.qosStyle}" /> </g:FlowPanel> </g:FlowPanel> </t:content> -- To view, visit http://gerrit.ovirt.org/22607 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I26a7444eee1d5e3bd37d056a0faa080d8e7da1fe Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Lior Vernia <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
