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

Reply via email to