Alona Kaplan has uploaded a new change for review. Change subject: webadmin: create VfsPopupWidget and init it with num of vfs ......................................................................
webadmin: create VfsPopupWidget and init it with num of vfs Change-Id: I665b38a0d5a5df038216eae99364aa7afbcf2a23 Signed-off-by: Alona Kaplan <alkap...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.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/gin/WebAdminGinUiBinderWidgets.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml 9 files changed, 167 insertions(+), 8 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/60/36260/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java index ab09e12..d09be71 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java @@ -13,8 +13,10 @@ public class HostNicModel extends Model { + public static final VfsConfigModel EMPTY_VFS_CONFIG_MODEL = new VfsConfigModel(); + private final NicLabelModel labelsModel; - private VfsConfigModel vfsConfigModel = null; + private VfsConfigModel vfsConfigModel = EMPTY_VFS_CONFIG_MODEL; private VdsNetworkInterface iface; public NicLabelModel getLabelsModel() { @@ -42,7 +44,7 @@ public VfsConfigModel getVfsConfigModel() { return vfsConfigModel; } - + public VdsNetworkInterface getInterface() { return iface; } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java index 882ae22..0666af0 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java @@ -1,5 +1,6 @@ package org.ovirt.engine.ui.uicommonweb.models.hosts; +import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -19,6 +20,10 @@ private ListModel<Network> networks = new ListModel<>(); private ListModel<String> labels = new ListModel<>(); + public VfsConfigModel() { + this(new HostNicVfsConfig(), new ArrayList<Network>()); + } + public VfsConfigModel(HostNicVfsConfig vfsConfig, List<Network> allClusterNetworks) { setEntity(vfsConfig); maxNumOfVfs.setEntity(vfsConfig.getMaxNumOfVfs()); 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 faefdce..847eb08 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 @@ -3980,4 +3980,10 @@ @DefaultStringValue("Virtual Functions (SR-IOV)") String vfsConfigTab(); + @DefaultStringValue("Num of VFs setting") + String numOfVfsSetting(); + + @DefaultStringValue("Vfs Number") + String numOfVfs(); + } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/WebAdminGinUiBinderWidgets.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/WebAdminGinUiBinderWidgets.java index 0c3b101..2bbec36 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/WebAdminGinUiBinderWidgets.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/WebAdminGinUiBinderWidgets.java @@ -1,6 +1,8 @@ package org.ovirt.engine.ui.webadmin.gin; import org.ovirt.engine.ui.common.gin.CommonGinUiBinderWidgets; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigWidget; public interface WebAdminGinUiBinderWidgets extends CommonGinUiBinderWidgets { + VfsConfigWidget getVfsConfigWidget(); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java index 9f70d92..c1ad6a4 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java @@ -23,9 +23,7 @@ @Override public void init(HostNicModel model) { - super.init(model); - - if (model.getVfsConfigModel() != null) { + if (model.getVfsConfigModel() != HostNicModel.EMPTY_VFS_CONFIG_MODEL) { if (model.getInterface().getBondName() == null) { // sriov nic getView().showTabs(); @@ -37,6 +35,8 @@ // regular nic getView().showOnlyPf(); } + + super.init(model); } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java index dd69ef2..8871261 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java @@ -48,15 +48,22 @@ @Ignore NicLabelWidget labelsWidget; + @UiField + @Ignore + VfsConfigWidget vfsConfigWidget; + + private ApplicationConstants constants; + @Inject public HostNicPopupView(EventBus eventBus, CommonApplicationResources resources, ApplicationConstants constants) { super(eventBus, resources); + this.constants = constants; initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); - localize(constants); + localize(); driver.initialize(this); } - private void localize(ApplicationConstants constants) { + private void localize() { pfTab.setLabel(constants.pfTab()); vfsConfigTab.setLabel(constants.vfsConfigTab()); } @@ -65,11 +72,13 @@ public void edit(HostNicModel model) { driver.edit(model); labelsWidget.edit(model.getLabelsModel()); + vfsConfigWidget.edit(model.getVfsConfigModel()); } @Override public HostNicModel flush() { labelsWidget.flush(); + vfsConfigWidget.flush(); return driver.flush(); } @@ -109,5 +118,4 @@ contentPanel.setWidget(vfsConfigTab.getContent()); mainPanel.setWidth("400px"); //$NON-NLS-1$ } - } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml index 4c92261..e6d76ed 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml @@ -27,6 +27,9 @@ <t:tab> <t:DialogTab ui:field="vfsConfigTab"> <t:content> + <g:FlowPanel> + <h:VfsConfigWidget ui:field="vfsConfigWidget"/> + </g:FlowPanel> </t:content> </t:DialogTab> </t:tab> diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java new file mode 100644 index 0000000..ec251c5 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java @@ -0,0 +1,103 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.popup.host; + +import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; +import org.ovirt.engine.ui.common.widget.dialog.AdvancedParametersExpander; +import org.ovirt.engine.ui.common.widget.editor.generic.IntegerEntityModelTextBoxEditor; +import org.ovirt.engine.ui.common.widget.uicommon.popup.AbstractModelBoundPopupWidget; +import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel; +import org.ovirt.engine.ui.webadmin.ApplicationConstants; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.editor.client.SimpleBeanEditorDriver; +import com.google.gwt.resources.client.CssResource; +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.inject.Inject; + +public class VfsConfigWidget extends AbstractModelBoundPopupWidget<VfsConfigModel> { + + interface Driver extends SimpleBeanEditorDriver<VfsConfigModel, VfsConfigWidget> { + } + + interface WidgetUiBinder extends UiBinder<FlowPanel, VfsConfigWidget> { + WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class); + } + + interface WidgetIdHandler extends ElementIdHandler<VfsConfigWidget> { + WidgetIdHandler idHandler = GWT.create(WidgetIdHandler.class); + } + + private final Driver driver = GWT.create(Driver.class); + + interface WidgetStyle extends CssResource { + String valueWidth(); + } + + @UiField + WidgetStyle style; + + @UiField + @Ignore + AdvancedParametersExpander numVfsExpander; + + @UiField + @Ignore + FlowPanel numVfsExpanderContent; + + @UiField + @Path(value = "numOfVfs.entity") + IntegerEntityModelTextBoxEditor numOfVfs; + + VfsConfigModel vfsConfigModel; + + @Inject + public VfsConfigWidget(ApplicationConstants constants) { + initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); + WidgetIdHandler.idHandler.generateAndSetIds(this); + + initExpander(constants); + localize(constants); + driver.initialize(this); + addStyles(); + } + + private void initExpander(ApplicationConstants constants) { + numVfsExpander.initWithContent(numVfsExpanderContent.getElement()); + numVfsExpander.setTitleWhenExpended(constants.numOfVfsSetting()); + numVfsExpander.setTitleWhenCollapsed(constants.numOfVfsSetting()); + } + + private void localize(ApplicationConstants constants) { + numOfVfs.setLabel(constants.numOfVfs()); + } + + protected void addStyles() { + numOfVfs.addContentWidgetStyleName(style.valueWidth()); + } + + interface Style extends CssResource { + String valueBox(); + } + + @Override + public void edit(VfsConfigModel model) { + vfsConfigModel = model; + + if (vfsConfigModel == null) { + return; + } + + driver.edit(model); + + } + + @Override + public VfsConfigModel flush() { + if (vfsConfigModel == null) { + return null; + } + + return driver.flush(); + } +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml new file mode 100644 index 0000000..ac2780f --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> +<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" + 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.generic" + xmlns:ge="urn:import:org.ovirt.engine.ui.common.widget.editor.generic"> + <ui:with field='constants' type='org.ovirt.engine.ui.webadmin.ApplicationConstants' /> + + <ui:style type="org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigWidget.WidgetStyle"> + .valueWidth { + width: 60px; + } + + .numOfVfs { + width: 150px; + } + + .expanderContent { + margin-left: 20px; + } + </ui:style> + + <g:FlowPanel> + <d:AdvancedParametersExpander ui:field="numVfsExpander"/> + <g:FlowPanel ui:field="numVfsExpanderContent" addStyleNames="{style.expanderContent}"> + <ge:IntegerEntityModelTextBoxEditor ui:field="numOfVfs" addStyleNames="{style.numOfVfs}" /> + </g:FlowPanel> + </g:FlowPanel> + +</ui:UiBinder> \ No newline at end of file -- To view, visit http://gerrit.ovirt.org/36260 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I665b38a0d5a5df038216eae99364aa7afbcf2a23 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <alkap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches