Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Added plugin to Provider popup
......................................................................

webadmin: Added plugin to Provider popup

Added a plugin field which appears when the selected provider type
is OpenStack Network.

Change-Id: Ic3c64a2e5f21f86ca4658c2792a1a9b8c9bd35e8
Signed-off-by: Lior Vernia <lver...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderModel.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/provider/ProviderPopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.ui.xml
4 files changed, 43 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/44/15844/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderModel.java
index 38956b7..4447af5 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderModel.java
@@ -5,7 +5,8 @@
 import org.ovirt.engine.core.common.action.ProviderParameters;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
-import 
org.ovirt.engine.core.common.businessentities.MultiTenantProviderProperties;
+import 
org.ovirt.engine.core.common.businessentities.OpenstackNetworkPluginType;
+import 
org.ovirt.engine.core.common.businessentities.OpenstackNetworkProviderProperties;
 import org.ovirt.engine.core.common.businessentities.Provider;
 import org.ovirt.engine.core.common.businessentities.ProviderType;
 import org.ovirt.engine.core.common.errors.VdcBllErrors;
@@ -53,6 +54,7 @@
     private EntityModel username = new EntityModel();
     private EntityModel password = new EntityModel();
     private EntityModel tenantName = new EntityModel();
+    private ListModel pluginType = new ListModel();
     private UICommand testCommand;
     private EntityModel testResult = new EntityModel();
 
@@ -62,6 +64,10 @@
 
     public ListModel getType() {
         return type;
+    }
+
+    private boolean isTypeOpenStackNetwork() {
+        return (ProviderType) getType().getSelectedItem() == 
ProviderType.OPENSTACK_NETWORK;
     }
 
     public EntityModel getDescription() {
@@ -86,6 +92,10 @@
 
     public EntityModel getTenantName() {
         return tenantName;
+    }
+
+    public ListModel getPluginType() {
+        return pluginType;
     }
 
     public UICommand getTestCommand() {
@@ -117,7 +127,9 @@
         getType().getSelectedItemChangedEvent().addListener(new 
IEventListener() {
             @Override
             public void eventRaised(Event ev, Object sender, EventArgs args) {
-                getTenantName().setIsAvailable(((ProviderType) 
getType().getSelectedItem()) == ProviderType.OPENSTACK_NETWORK);
+                boolean openStackNetProvider = isTypeOpenStackNetwork();
+                getTenantName().setIsAvailable(openStackNetProvider);
+                getPluginType().setIsAvailable(openStackNetProvider);
             }
         });
 
@@ -128,11 +140,16 @@
         getUsername().setEntity(provider.getUsername());
         getPassword().setEntity(provider.getPassword());
         getTenantName().setIsAvailable(false);
+        getPluginType().setIsAvailable(false);
 
         getType().setItems(Arrays.asList(ProviderType.values()));
         getType().setSelectedItem(provider.getType());
-        if (getTenantName().getIsAvailable()) {
-            getTenantName().setEntity(((MultiTenantProviderProperties) 
provider.getAdditionalProperties()).getTenantName());
+        
getPluginType().setItems(Arrays.asList(OpenstackNetworkPluginType.values()));
+        if (isTypeOpenStackNetwork()) {
+            OpenstackNetworkProviderProperties properties =
+                    (OpenstackNetworkProviderProperties) 
provider.getAdditionalProperties();
+            getTenantName().setEntity(properties.getTenantName());
+            getPluginType().setSelectedItem(properties.getPluginType());
         }
 
         UICommand tempVar = new UICommand(CMD_SAVE, this);
@@ -169,13 +186,20 @@
         provider.setDescription((String) description.getEntity());
         provider.setUrl((String) url.getEntity());
 
+        if (isTypeOpenStackNetwork()) {
+            OpenstackNetworkProviderProperties properties = new 
OpenstackNetworkProviderProperties();
+            properties.setPluginType((OpenstackNetworkPluginType) 
getPluginType().getSelectedItem());
+            provider.setAdditionalProperties(properties);
+        }
+
         boolean authenticationRequired = (Boolean) 
requiresAuthentication.getEntity();
         provider.setRequiringAuthentication(authenticationRequired);
         if (authenticationRequired) {
             provider.setUsername((String) username.getEntity());
             provider.setPassword((String) password.getEntity());
-            if (getTenantName().getIsAvailable()) {
-                provider.setAdditionalProperties(new 
MultiTenantProviderProperties((String) getTenantName().getEntity()));
+            if (isTypeOpenStackNetwork()) {
+                ((OpenstackNetworkProviderProperties) 
provider.getAdditionalProperties()).setTenantName(
+                        (String) getTenantName().getEntity());
             }
         }
     }
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 a6702d4..2a7dc0e 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
@@ -2737,6 +2737,9 @@
     @DefaultStringValue("Tenant Name")
     String tenantName();
 
+    @DefaultStringValue("Networking Plugin")
+    String pluginType();
+
     @DefaultStringValue("Add")
     String addProvider();
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.java
index 0c3d915..a5e87f7 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.java
@@ -93,6 +93,11 @@
     @WithElementId
     EntityModelTextBoxEditor tenantNameEditor;
 
+    @UiField(provided = true)
+    @Path(value = "pluginType.selectedItem")
+    @WithElementId
+    ListModelListBoxEditor<Object> pluginTypeEditor;
+
     @UiField
     Style style;
 
@@ -104,6 +109,7 @@
         super(eventBus, resources);
 
         typeEditor = new ListModelListBoxEditor<Object>(new EnumRenderer());
+        pluginTypeEditor = new ListModelListBoxEditor<Object>(new 
EnumRenderer());
         requiresAuthenticationEditor = new 
EntityModelCheckBoxEditor(Align.RIGHT);
 
         this.resources = resources;
@@ -125,6 +131,7 @@
         usernameEditor.setLabel(constants.usernameProvider());
         passwordEditor.setLabel(constants.passwordProvider());
         tenantNameEditor.setLabel(constants.tenantName());
+        pluginTypeEditor.setLabel(constants.pluginType());
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.ui.xml
index 9c93cfd..b0dbecf 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.ui.xml
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.ui.xml
@@ -53,6 +53,9 @@
                                                        
<e:EntityModelPasswordBoxEditor ui:field="passwordEditor" 
addStyleNames="{style.authField}" />
                                                        
<e:EntityModelTextBoxEditor ui:field="tenantNameEditor" 
addStyleNames="{style.authField}" />
                                                </g:FlowPanel>
+                                               <g:FlowPanel 
addStyleNames="{style.sectionStyle}">
+                                                       
<e:ListModelListBoxEditor ui:field="pluginTypeEditor" />
+                                               </g:FlowPanel>
                                        </g:FlowPanel>
                                </g:center>
                                <g:south size="30">


-- 
To view, visit http://gerrit.ovirt.org/15844
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic3c64a2e5f21f86ca4658c2792a1a9b8c9bd35e8
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