Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Update network label GUI field
......................................................................

webadmin: Update network label GUI field

Moved it from the provider section in the Add/Edit Network dialog, as
now it has significance for an internal network as well. Changed it to
be a suggest box instead of a text box, where in case the network is
internal, the existing labels in the DC are suggested.

Change-Id: Ib0ed563897fd1d7eb4acc9ff322373132f01f8c3
Signed-off-by: Lior Vernia <lver...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java
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/datacenters/NewNetworkModel.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
5 files changed, 66 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/02/22902/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java
index e8253ae..d60e8e5 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java
@@ -40,7 +40,7 @@
         getExport().setEntity(getNetwork().isExternal());
         getExport().setIsChangable(false);
         getExternalProviders().setIsChangable(false);
-        getNetworkLabel().setIsChangable(false);
+        getNetworkLabel().setSelectedItem(getNetwork().getLabel());
         toggleProfilesAvailability();
     }
 
@@ -79,7 +79,9 @@
             getIsVmNetwork().setIsChangable(false);
             getHasMtu().setIsChangable(false);
             getMtu().setIsChangable(false);
+            getNetworkLabel().setIsChangable(false);
         }
+        super.onExportChanged();
     }
 
     @Override
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 14a987e..2e80e41 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
@@ -1,6 +1,7 @@
 package org.ovirt.engine.ui.uicommonweb.models.datacenters;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -12,6 +13,9 @@
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import org.ovirt.engine.core.common.businessentities.network.VnicProfile;
 import org.ovirt.engine.core.common.queries.ConfigurationValues;
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
+import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.StringHelper;
 import org.ovirt.engine.ui.frontend.AsyncQuery;
@@ -25,6 +29,7 @@
 import org.ovirt.engine.ui.uicommonweb.models.profiles.NetworkProfilesModel;
 import org.ovirt.engine.ui.uicommonweb.models.profiles.NewVnicProfileModel;
 import org.ovirt.engine.ui.uicommonweb.models.profiles.VnicProfileModel;
+import org.ovirt.engine.ui.uicommonweb.validation.AsciiNameValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.IValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.IntegerValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.LengthValidation;
@@ -46,7 +51,8 @@
     private EntityModel privateDescription;
     private EntityModel export;
     private ListModel externalProviders;
-    private EntityModel networkLabel;
+    private ListModel<String> networkLabel;
+    private Iterable<String> dcLabels;
     private EntityModel privateComment;
     private EntityModel privateVLanTag;
     private EntityModel privateIsStpEnabled;
@@ -90,7 +96,7 @@
             }
         });
 
-        setNetworkLabel(new EntityModel());
+        setNetworkLabel(new ListModel<String>());
         setExternalProviders(new ListModel());
         initExternalProviderList();
 
@@ -141,7 +147,6 @@
         getProfiles().setItems(profiles);
 
         // Update changeability according to initial values
-        onExportChanged();
         updateVlanTagChangeability();
         updateMtuChangeability();
     }
@@ -227,11 +232,11 @@
         this.externalProviders = externalProviders;
     }
 
-    public EntityModel getNetworkLabel() {
+    public ListModel<String> getNetworkLabel() {
         return networkLabel;
     }
 
-    public void setNetworkLabel(EntityModel networkLabel) {
+    public void setNetworkLabel(ListModel<String> networkLabel) {
         this.networkLabel = networkLabel;
     }
 
@@ -416,9 +421,11 @@
             }
         }
 
+        getNetworkLabel().validateSelectedItem(new IValidation[] { new 
AsciiNameValidation() });
+
         return getName().getIsValid() && getVLanTag().getIsValid() && 
getDescription().getIsValid()
                 && getMtu().getIsValid() && 
getExternalProviders().getIsValid() && getComment().getIsValid()
-                && profilesValid;
+                && profilesValid && getNetworkLabel().getIsValid();
     }
 
     protected boolean firstInit = true;
@@ -442,7 +449,7 @@
 
         setMTUOverrideSupported(isMTUOverrideSupported);
 
-        onExportChanged();
+        updateDcLabels();
 
         getProfiles().updateDcId(dc.getId());
     }
@@ -467,9 +474,11 @@
         network.setName((String) getName().getEntity());
         network.setStp((Boolean) getIsStpEnabled().getEntity());
         network.setDescription((String) getDescription().getEntity());
-        network.setLabel((String) getNetworkLabel().getEntity());
         network.setComment((String) getComment().getEntity());
         network.setVmNetwork((Boolean) getIsVmNetwork().getEntity());
+
+        String label = getNetworkLabel().getSelectedItem();
+        network.setLabel(label == null || !label.isEmpty() ? label : null);
 
         network.setMtu(0);
         if ((Boolean) getHasMtu().getEntity())
@@ -569,7 +578,30 @@
 
     protected abstract void selectExternalProvider();
 
-    protected abstract void onExportChanged();
+    protected void onExportChanged() {
+        String label = getNetworkLabel().getSelectedItem();
+        if ((Boolean) getExport().getEntity()) {
+            getNetworkLabel().setItems(new HashSet<String>());
+        } else {
+            getNetworkLabel().setItems(dcLabels);
+        }
+        getNetworkLabel().setSelectedItem(label);
+    }
+
+    private void updateDcLabels() {
+        startProgress(null);
+        
Frontend.getInstance().runQuery(VdcQueryType.GetNetworkLabelsByDataCenterId,
+                new IdQueryParameters(getSelectedDc().getId()),
+                new AsyncQuery(new INewAsyncCallback() {
+
+                    @Override
+                    public void onSuccess(Object model, Object returnValue) {
+                        dcLabels = ((VdcQueryReturnValue) 
returnValue).getReturnValue();
+                        stopProgress();
+                        onExportChanged();
+                    }
+                }));
+    }
 
     private void updateVlanTagChangeability() {
         getVLanTag().setIsChangable((Boolean) getHasVLanTag().getEntity());
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NewNetworkModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NewNetworkModel.java
index e5254c0..44f34a3 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NewNetworkModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NewNetworkModel.java
@@ -106,13 +106,13 @@
     protected void onExportChanged() {
         boolean externalNetwork = (Boolean) getExport().getEntity();
         getExternalProviders().setIsChangable(externalNetwork);
-        getNetworkLabel().setIsChangable(externalNetwork);
         getIsVmNetwork().setIsChangable(!externalNetwork);
         getHasMtu().setIsChangable(!externalNetwork);
         if (externalNetwork) {
             getIsVmNetwork().setEntity(true);
             getHasMtu().setEntity(false);
         }
+        super.onExportChanged();
     }
 
     @Override
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 9cf6068..8cf8020 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
@@ -15,6 +15,7 @@
 import org.ovirt.engine.ui.common.widget.editor.EntityModelTextBoxEditor;
 import org.ovirt.engine.ui.common.widget.editor.EntityModelTextBoxOnlyEditor;
 import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor;
+import 
org.ovirt.engine.ui.common.widget.editor.generic.ListModelSuggestBoxEditor;
 import org.ovirt.engine.ui.common.widget.renderer.NullSafeRenderer;
 import org.ovirt.engine.ui.common.widget.table.column.CheckboxColumn;
 import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip;
@@ -112,6 +113,10 @@
     @Path(value = "mtu.entity")
     public EntityModelTextBoxOnlyEditor mtuEditor;
 
+    @UiField
+    @Path(value = "networkLabel.selectedItem")
+    public ListModelSuggestBoxEditor networkLabel;
+
     @UiField(provided = true)
     @Ignore
     public final EntityModelCellTable<ListModel> clustersTable;
@@ -125,10 +130,6 @@
 
     @UiField
     public WidgetStyle style;
-
-    @UiField
-    @Path(value = "networkLabel.entity")
-    public EntityModelTextBoxEditor networkLabel;
 
     @UiField
     @Ignore
@@ -212,12 +213,15 @@
    protected void addStyles() {
         vlanTag.addContentWidgetStyleName(style.vlanEditor());
         mtuEditor.addContentWidgetStyleName(style.mtuEditor());
+        networkLabel.addContentWidgetStyleName(style.mtuEditor());
         isVmNetworkEditor.addContentWidgetStyleName(style.checkBox());
         isVmNetworkEditor.asCheckBox().addStyleName(style.checkBox());
         vlanTagging.addContentWidgetStyleName(style.checkBox());
         vlanTagging.asCheckBox().addStyleName(style.checkBox());
         hasMtuEditor.addContentWidgetStyleName(style.checkBox());
         hasMtuEditor.asCheckBox().addStyleName(style.checkBox());
+        networkLabel.addLabelStyleName(style.checkBox());
+        networkLabel.addLabelStyleName(style.inlineLabel());
     }
 
     @Override
@@ -388,6 +392,8 @@
         String vlanEditor();
 
         String checkBox();
+
+        String inlineLabel();
     }
 
 }
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 c62dfd1..fd2e0a4 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
@@ -4,7 +4,8 @@
        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:we="urn:import:org.ovirt.engine.ui.webadmin.widget.editor"
        xmlns:v="urn:import:org.ovirt.engine.ui.webadmin.widget.vnicProfile"
-       xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.dialog.tab">
+       xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.dialog.tab"
+       xmlns:ge="urn:import:org.ovirt.engine.ui.common.widget.editor.generic">
 
        <ui:with field='constants' 
type='org.ovirt.engine.ui.webadmin.ApplicationConstants' />
 
@@ -55,6 +56,14 @@
                        padding: 5px;
                }
 
+               .floatLeft {
+                       float: left;
+               }
+
+               .inlineLabel {
+                       display: inline-block;
+               }
+
        </ui:style>
 
        <d:SimpleDialogPanel ui:field="mainPanel" width="780px" height="550px">
@@ -75,7 +84,6 @@
                                                                        
<g:Label ui:field="exportLabel" addStyleNames="{style.mainLabel}" />
                                                <e:EntityModelCheckBoxEditor 
ui:field="exportEditor" />
                                                                        
<e:ListModelListBoxEditor ui:field="externalProviderEditor" 
addStyleNames="{style.dependentField}" />
-                                                                       
<e:EntityModelTextBoxEditor ui:field="networkLabel" 
addStyleNames="{style.dependentField}" />
                                                                </g:FlowPanel>
                                                                <g:FlowPanel 
addStyleNames="{style.sectionStyle}">
                                                                        
<g:Label ui:field="mainLabel" addStyleNames="{style.mainLabel}" />
@@ -88,6 +96,7 @@
                                                                                
<e:EntityModelCheckBoxEditor ui:field="hasMtuEditor"/>
                                                                                
<e:EntityModelTextBoxOnlyEditor ui:field="mtuEditor" />
                                                                        
</g:HorizontalPanel>
+                                                                       
<ge:ListModelSuggestBoxEditor ui:field="networkLabel" 
addStyleNames="{style.dependentField} {style.floatLeft}" />
                                                                </g:FlowPanel>
                                                        </g:FlowPanel>
                         </t:content>


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

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