Lior Vernia has uploaded a new change for review. Change subject: webadmin: Added "new network" popup on Providers tab ......................................................................
webadmin: Added "new network" popup on Providers tab Added the ability to add a network to a provider through the Providers main tab. Change-Id: Ie1db12f4803bcf9456a7a2df0d9b198ab862cb93 Signed-off-by: Lior Vernia <lver...@redhat.com> --- 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/providers/ProviderNetworkListModel.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNewNetworkModel.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/PresenterModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/ProviderModule.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/provider/ProviderNewNetworkPopupPresenterWidget.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 A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderNewNetworkPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/provider/SubTabProviderNetworkView.java 11 files changed, 139 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/09/11409/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 3d4e809..79cb59a 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 @@ -27,6 +27,7 @@ private EntityModel privateName; private EntityModel privateDescription; + private EntityModel privateNetworkLabel; private EntityModel privateVLanTag; private EntityModel privateIsStpEnabled; private EntityModel privateHasVLanTag; @@ -51,6 +52,7 @@ this.sourceListModel = sourceListModel; setName(new EntityModel()); setDescription(new EntityModel()); + setNetworkLabel(new EntityModel()); setDataCenters(new ListModel()); getDataCenters().getSelectedItemChangedEvent().addListener(new IEventListener() { @@ -96,6 +98,14 @@ private void setDescription(EntityModel value) { privateDescription = value; + } + + public EntityModel getNetworkLabel() { + return privateNetworkLabel; + } + + private void setNetworkLabel(EntityModel value) { + privateNetworkLabel = value; } public EntityModel getVLanTag() @@ -286,7 +296,7 @@ } - protected void addCommands(){ + protected void addCommands() { UICommand tempVar2 = new UICommand("OnSave", this); //$NON-NLS-1$ tempVar2.setTitle(ConstantsManager.getInstance().getConstants().ok()); tempVar2.setIsDefault(true); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java index 6697004..096839c 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java @@ -20,6 +20,7 @@ import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel; +import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel; import org.ovirt.engine.ui.uicompat.ConstantsManager; import org.ovirt.engine.ui.uicompat.FrontendMultipleActionAsyncResult; @@ -29,6 +30,7 @@ public class ProviderNetworkListModel extends SearchableListModel { private UICommand privateDiscoverCommand; + private UICommand privateAddCommand; private UICommand privateRemoveCommand; public ProviderNetworkListModel() @@ -37,6 +39,7 @@ setHashName("networks"); //$NON-NLS-1$ setDiscoverCommand(new UICommand("Discover", this)); //$NON-NLS-1$ + setAddCommand(new UICommand("Add", this)); //$NON-NLS-1$ setRemoveCommand(new UICommand("Remove", this)); //$NON-NLS-1$ UpdateActionAvailability(); @@ -50,6 +53,14 @@ private void setDiscoverCommand(UICommand value) { privateDiscoverCommand = value; + } + + public UICommand getAddCommand() { + return privateAddCommand; + } + + private void setAddCommand(UICommand value) { + privateAddCommand = value; } public UICommand getRemoveCommand() @@ -164,6 +175,27 @@ cancel(); } + public void add() { + if (getWindow() != null) { + return; + } + + final ProviderNewNetworkModel providerNewNetworkModel = new ProviderNewNetworkModel(this); + setWindow(providerNewNetworkModel); // delegate to the popup window model + AsyncDataProvider.GetDataCenterList(new AsyncQuery(this, new INewAsyncCallback() { + + @SuppressWarnings("unchecked") + @Override + public void OnSuccess(Object model, Object returnValue) { + List<storage_pool> dataCenters = (List<storage_pool>) returnValue; + ListModel dataCenterListModel = providerNewNetworkModel.getDataCenters(); + dataCenterListModel.setItems(dataCenters); + dataCenterListModel.setSelectedItem(Linq.FirstOrDefault(dataCenters)); + } + + })); + } + public void remove() { if (getWindow() != null) @@ -247,6 +279,9 @@ { discover(); } + else if (command == getAddCommand()) { + add(); + } else if (command == getRemoveCommand()) { remove(); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNewNetworkModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNewNetworkModel.java new file mode 100644 index 0000000..cbcaf8e --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNewNetworkModel.java @@ -0,0 +1,18 @@ +package org.ovirt.engine.ui.uicommonweb.models.providers; + +import org.ovirt.engine.ui.uicommonweb.models.ListModel; +import org.ovirt.engine.ui.uicommonweb.models.datacenters.NewNetworkModel; + +public class ProviderNewNetworkModel extends NewNetworkModel { + + public ProviderNewNetworkModel(ListModel sourceListModel) { + super(sourceListModel); + } + + @Override + public void syncWithBackend() { + super.syncWithBackend(); + getIsVmNetwork().setIsChangable(false); + } + +} 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 d035913..49d3bb4 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 @@ -2556,4 +2556,10 @@ @DefaultStringValue("Public Network") String publicNetwork(); + + @DefaultStringValue("Add") + String addProviderNetwork(); + + @DefaultStringValue("Network Label") + String networkLabelLabel(); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java index 3d822ce..568fd5e 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java @@ -52,6 +52,7 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksManagementPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.pool.PoolEditPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.pool.PoolNewPopupPresenterWidget; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.ProviderNewNetworkPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.ProviderPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.DiscoverNetworkPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.quota.ChangeQuotaPopupPresenterWidget; @@ -238,6 +239,7 @@ import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.SetupNetworksManagementPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.pool.PoolEditPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.pool.PoolNewPopupView; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.provider.ProviderNewNetworkPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.provider.ProviderPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.provider.DiscoverNetworkPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.quota.ChangeQuotaPopupView; @@ -1179,5 +1181,9 @@ bindPresenterWidget(DiscoverNetworkPopupPresenterWidget.class, DiscoverNetworkPopupPresenterWidget.ViewDef.class, DiscoverNetworkPopupView.class); + + bindPresenterWidget(ProviderNewNetworkPopupPresenterWidget.class, + ProviderNewNetworkPopupPresenterWidget.ViewDef.class, + ProviderNewNetworkPopupView.class); } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/ProviderModule.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/ProviderModule.java index 52ad562..2478f46 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/ProviderModule.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/ProviderModule.java @@ -16,6 +16,7 @@ import org.ovirt.engine.ui.uicommonweb.models.providers.ProviderListModel; import org.ovirt.engine.ui.uicommonweb.models.providers.ProviderNetworkListModel; import org.ovirt.engine.ui.webadmin.gin.ClientGinjector; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.ProviderNewNetworkPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.ProviderPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.DiscoverNetworkPopupPresenterWidget; @@ -76,6 +77,7 @@ @Singleton public SearchableDetailModelProvider<Network, ProviderListModel, ProviderNetworkListModel> getNetworkClusterListProvider(ClientGinjector ginjector, final Provider<DiscoverNetworkPopupPresenterWidget> discoverNetworkPopupProvider, + final Provider<ProviderNewNetworkPopupPresenterWidget> addNetworkPopupProvider, final Provider<RemoveConfirmationPopupPresenterWidget> removeConfirmPopupProvider) { return new SearchableDetailTabModelProvider<Network, ProviderListModel, ProviderNetworkListModel>(ginjector, ProviderListModel.class, @@ -86,6 +88,8 @@ Model windowModel) { if (lastExecutedCommand == getModel().getDiscoverCommand()) { return discoverNetworkPopupProvider.get(); + } else if (lastExecutedCommand == getModel().getAddCommand()) { + return addNetworkPopupProvider.get(); } else { return super.getModelPopup(source, lastExecutedCommand, windowModel); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/provider/ProviderNewNetworkPopupPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/provider/ProviderNewNetworkPopupPresenterWidget.java new file mode 100644 index 0000000..15a1414 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/provider/ProviderNewNetworkPopupPresenterWidget.java @@ -0,0 +1,18 @@ +package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider; + +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.datacenter.NewNetworkPopupPresenterWidget; + +import com.google.gwt.event.shared.EventBus; +import com.google.inject.Inject; + +public class ProviderNewNetworkPopupPresenterWidget extends NewNetworkPopupPresenterWidget { + + public interface ViewDef extends NewNetworkPopupPresenterWidget.ViewDef { + } + + @Inject + public ProviderNewNetworkPopupPresenterWidget(EventBus eventBus, ViewDef view) { + super(eventBus, view); + } + +} 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 dd28eae..0120ac8 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 @@ -69,6 +69,10 @@ @Path(value = "description.entity") public EntityModelTextBoxEditor descriptionEditor; + @UiField + @Path(value = "networkLabel.entity") + public EntityModelTextBoxEditor networkLabelEditor; + @UiField(provided = true) @Path(value = "isVmNetwork.entity") public final EntityModelCheckBoxEditor isVmNetworkEditor; @@ -134,6 +138,7 @@ assignLabel.setText(constants.networkPopupAssignLabel()); nameEditor.setLabel(constants.nameLabel()); descriptionEditor.setLabel(constants.descriptionLabel()); + networkLabelEditor.setLabel(constants.networkLabelLabel()); isVmNetworkEditor.setLabel(constants.vmNetworkLabel()); vlanTagging.setLabel(constants.enableVlanTagLabel()); hasMtuEditor.setLabel(constants.overrideMtuLabel()); @@ -260,6 +265,7 @@ public void updateVisibility() { messageLabel.setVisible(false); publicUseEditor.setVisible(false); + networkLabelEditor.setVisible(false); } interface WidgetStyle extends CssResource { 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 da26a31..b8b8c53 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 @@ -57,6 +57,7 @@ <e:ListModelListBoxEditor ui:field="dataCenterEditor"/> <e:EntityModelTextBoxEditor ui:field="nameEditor" /> <e:EntityModelTextBoxEditor ui:field="descriptionEditor" /> + <e:EntityModelTextBoxEditor ui:field="networkLabelEditor" /> <g:HorizontalPanel> <e:EntityModelCheckBoxEditor ui:field="vlanTagging"/> <e:EntityModelTextBoxOnlyEditor ui:field="vlanTag" /> diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderNewNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderNewNetworkPopupView.java new file mode 100644 index 0000000..6c626c7 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderNewNetworkPopupView.java @@ -0,0 +1,27 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.popup.provider; + +import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.ApplicationResources; +import org.ovirt.engine.ui.webadmin.ApplicationTemplates; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.ProviderNewNetworkPopupPresenterWidget; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.NewNetworkPopupView; + +import com.google.gwt.event.shared.EventBus; +import com.google.inject.Inject; + +public class ProviderNewNetworkPopupView extends NewNetworkPopupView implements ProviderNewNetworkPopupPresenterWidget.ViewDef { + + @Inject + public ProviderNewNetworkPopupView(EventBus eventBus, + ApplicationResources resources, + ApplicationConstants constants, ApplicationTemplates templates) { + super(eventBus, resources, constants, templates); + } + + @Override + public void updateVisibility() { + super.updateVisibility(); + networkLabelEditor.setVisible(true); + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/provider/SubTabProviderNetworkView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/provider/SubTabProviderNetworkView.java index 4d2ce00..752a6d6 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/provider/SubTabProviderNetworkView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/provider/SubTabProviderNetworkView.java @@ -57,6 +57,13 @@ } }); + getTable().addActionButton(new WebAdminButtonDefinition<Network>(constants.addProviderNetwork()) { + @Override + protected UICommand resolveCommand() { + return getDetailModel().getAddCommand(); + } + }); + getTable().addActionButton(new WebAdminButtonDefinition<Network>(constants.removeNetwork()) { @Override protected UICommand resolveCommand() { -- To view, visit http://gerrit.ovirt.org/11409 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie1db12f4803bcf9456a7a2df0d9b198ab862cb93 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