Lior Vernia has uploaded a new change for review. Change subject: webadmin: Add MAC pool per DC ......................................................................
webadmin: Add MAC pool per DC Added tabs to the add/edit DC dialog. Change-Id: I338a5647ded866c6b7b07542e9a95ea3dc3a2594 Signed-off-by: Lior Vernia <[email protected]> --- 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/DataCenterModel.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/macpool/DcBoundMacPoolModel.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/presenter/popup/datacenter/DataCenterPopupPresenterWidget.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/DataCenterPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/DataCenterPopupView.ui.xml 7 files changed, 88 insertions(+), 10 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/92/27792/1 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 fac733d..2b2498d 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 @@ -312,6 +312,7 @@ model.setHelpTag(HelpTag.edit_data_center); model.setHashName("edit_data_center"); //$NON-NLS-1$ model.getName().setEntity(dataCenter.getName()); + model.getMacPoolModel().setEntity(dataCenter.getMacPool()); if (getSystemTreeSelectedItem() != null && getSystemTreeSelectedItem().getType() == SystemTreeItemType.DataCenter) @@ -754,6 +755,7 @@ dataCenter.setcompatibility_version(model.getVersion().getSelectedItem()); dataCenter.setQuotaEnforcementType(model.getQuotaEnforceTypeListModel() .getSelectedItem()); + dataCenter.setMacPool(model.getMacPoolModel().flush()); model.startProgress(null); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterModel.java index 24b99a4..d1cb2fc 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterModel.java @@ -16,6 +16,7 @@ import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicommonweb.models.Model; +import org.ovirt.engine.ui.uicommonweb.models.macpool.MacPoolModel; import org.ovirt.engine.ui.uicommonweb.validation.AsciiNameValidation; import org.ovirt.engine.ui.uicommonweb.validation.AsciiOrNoneValidation; import org.ovirt.engine.ui.uicommonweb.validation.IValidation; @@ -158,12 +159,23 @@ this.quotaEnforceTypeListModel = quotaEnforceTypeListModel; } + private MacPoolModel macPoolModel; + + public MacPoolModel getMacPoolModel() { + return macPoolModel; + } + + private void setMacPoolModel(MacPoolModel macPoolModel) { + this.macPoolModel = macPoolModel; + } + public DataCenterModel() { setName(new EntityModel<String>()); setDescription(new EntityModel<String>()); setComment(new EntityModel<String>()); setVersion(new ListModel<Version>()); + setMacPoolModel(new MacPoolModel()); setStoragePoolType(new ListModel<Boolean>()); getStoragePoolType().getSelectedItemChangedEvent().addListener(this); @@ -295,6 +307,8 @@ getComment().validateEntity(new IValidation[] { new SpecialAsciiI18NOrNoneValidation() }); + getMacPoolModel().validate(); + // TODO: add this code to async validate. // string name = (string)Name.Entity; // if (String.Compare(name, OriginalName, true) != 0 && !DataProvider.IsDataCenterNameUnique(name)) @@ -304,7 +318,7 @@ // } return getName().getIsValid() && getDescription().getIsValid() && getComment().getIsValid() - && getVersion().getIsValid(); + && getVersion().getIsValid() && getMacPoolModel().getIsValid(); } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/macpool/DcBoundMacPoolModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/macpool/DcBoundMacPoolModel.java new file mode 100644 index 0000000..aaf149a --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/macpool/DcBoundMacPoolModel.java @@ -0,0 +1,7 @@ +package org.ovirt.engine.ui.uicommonweb.models.macpool; + +public class DcBoundMacPoolModel extends MacPoolModel { + + ListModel<> + +} 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 cc1eeb1..754d565 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 @@ -2,6 +2,8 @@ import org.ovirt.engine.ui.common.CommonApplicationConstants; +import com.google.gwt.i18n.client.Constants.DefaultStringValue; + public interface ApplicationConstants extends CommonApplicationConstants { @DefaultStringValue("oVirt Engine Web Administration") @@ -3584,4 +3586,10 @@ @DefaultStringValue("iSCSI Multipathing") String dataCenterIscsiMultipathingSubTabLabel(); + + @DefaultStringValue("General") + String dataCenterGeneralTab(); + + @DefaultStringValue("MAC Address Pool") + String dataCenterMacPoolTab(); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/datacenter/DataCenterPopupPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/datacenter/DataCenterPopupPresenterWidget.java index 8a5ec08..b259541 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/datacenter/DataCenterPopupPresenterWidget.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/datacenter/DataCenterPopupPresenterWidget.java @@ -2,6 +2,10 @@ import org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget; import org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterModel; +import org.ovirt.engine.ui.uicommonweb.models.macpool.MacPoolModel; +import org.ovirt.engine.ui.uicompat.Event; +import org.ovirt.engine.ui.uicompat.EventArgs; +import org.ovirt.engine.ui.uicompat.IEventListener; import com.google.gwt.event.shared.EventBus; import com.google.inject.Inject; @@ -9,6 +13,7 @@ public class DataCenterPopupPresenterWidget extends AbstractModelBoundPopupPresenterWidget<DataCenterModel, DataCenterPopupPresenterWidget.ViewDef> { public interface ViewDef extends AbstractModelBoundPopupPresenterWidget.ViewDef<DataCenterModel> { + void updateMacPool(MacPoolModel macPoolModel); } @Inject @@ -16,4 +21,16 @@ super(eventBus, view); } + @Override + public void init(final DataCenterModel model) { + super.init(model); + model.getMacPoolModel().getEntityChangedEvent().addListener(new IEventListener() { + + @Override + public void eventRaised(Event ev, Object sender, EventArgs args) { + getView().updateMacPool(model.getMacPoolModel()); + } + }); + } + } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/DataCenterPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/DataCenterPopupView.java index 01463bc..9b5bbe0 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/DataCenterPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/DataCenterPopupView.java @@ -12,9 +12,11 @@ import org.ovirt.engine.ui.common.widget.renderer.EnumRenderer; import org.ovirt.engine.ui.common.widget.renderer.NullSafeRenderer; import org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterModel; +import org.ovirt.engine.ui.uicommonweb.models.macpool.MacPoolModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.ApplicationResources; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.datacenter.DataCenterPopupPresenterWidget; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.macpool.MacPoolWidget; import com.google.gwt.core.client.GWT; import com.google.gwt.editor.client.SimpleBeanEditorDriver; @@ -68,6 +70,11 @@ ListModelListBoxEditor<QuotaEnforcementTypeEnum> quotaEnforceTypeEditor; @UiField + @Path(value = "macPoolModel.entity") + @WithElementId + MacPoolWidget macPoolWidget; + + @UiField Style style; private final Driver driver = GWT.create(Driver.class); @@ -108,6 +115,7 @@ @Override public void edit(DataCenterModel object) { driver.edit(object); + updateMacPool(object.getMacPoolModel()); } @Override @@ -120,6 +128,11 @@ nameEditor.setFocus(true); } + @Override + public void updateMacPool(MacPoolModel macPoolModel) { + macPoolWidget.edit(macPoolModel); + } + public void addContentStyleName(String styleName) { this.asWidget().addContentStyleName(styleName); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/DataCenterPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/DataCenterPopupView.ui.xml index 0754ee1..d8c53ce 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/DataCenterPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/DataCenterPopupView.ui.xml @@ -2,7 +2,9 @@ <!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" - xmlns:ge="urn:import:org.ovirt.engine.ui.common.widget.editor.generic"> + xmlns:ge="urn:import:org.ovirt.engine.ui.common.widget.editor.generic" xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.dialog.tab" xmlns:dc="urn:import:org.ovirt.engine.ui.webadmin.section.main.view.popup.datacenter"> + + <ui:with field='constants' type='org.ovirt.engine.ui.webadmin.ApplicationConstants'/> <ui:style type="org.ovirt.engine.ui.webadmin.section.main.view.popup.datacenter.DataCenterPopupView.Style"> .contentStyle { @@ -11,14 +13,29 @@ <d:SimpleDialogPanel width="450px" height="320px"> <d:content> - <g:FlowPanel> - <ge:StringEntityModelTextBoxEditor ui:field="nameEditor" /> - <ge:StringEntityModelTextBoxEditor ui:field="descriptionEditor" /> - <e:ListModelListBoxEditor ui:field="storagePoolTypeEditor" /> - <e:ListModelListBoxEditor ui:field="versionEditor" /> - <e:ListModelListBoxEditor ui:field="quotaEnforceTypeEditor" /> - <ge:StringEntityModelTextBoxEditor ui:field="commentEditor" /> - </g:FlowPanel> + <t:DialogTabPanel> + <t:tab> + <t:DialogTab label="{constants.dataCenterGeneralTab}"> + <t:content> + <g:FlowPanel> + <ge:StringEntityModelTextBoxEditor ui:field="nameEditor" /> + <ge:StringEntityModelTextBoxEditor ui:field="descriptionEditor" /> + <e:ListModelListBoxEditor ui:field="storagePoolTypeEditor" /> + <e:ListModelListBoxEditor ui:field="versionEditor" /> + <e:ListModelListBoxEditor ui:field="quotaEnforceTypeEditor" /> + <ge:StringEntityModelTextBoxEditor ui:field="commentEditor" /> + </g:FlowPanel> + </t:content> + </t:DialogTab> + </t:tab> + <t:tab> + <t:DialogTab label="{constants.dataCenterMacPoolTab}"> + <t:content> + <dc:MacPoolWidget ui:field="macPoolWidget" /> + </t:content> + </t:DialogTab> + </t:tab> + </t:DialogTabPanel> </d:content> </d:SimpleDialogPanel> -- To view, visit http://gerrit.ovirt.org/27792 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I338a5647ded866c6b7b07542e9a95ea3dc3a2594 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
