Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Only display explanatory text when no VM interfaces
......................................................................

webadmin: Only display explanatory text when no VM interfaces

Previous text wasn't accurate in case interfaces were already assigned
profiles, and there really isn't much point in showing the text unless
no interfaces exist.

Change-Id: I79d0d3d62f48c1d56292e65f5087a7a7100e118a
Bug-Url: https://bugzilla.redhat.com/1032513
Signed-off-by: Lior Vernia <lver...@redhat.com>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationMessages.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
3 files changed, 8 insertions(+), 38 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/04/25004/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationMessages.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationMessages.java
index 8bb2f01..b02d09f 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationMessages.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationMessages.java
@@ -99,12 +99,6 @@
     @DefaultMessage("default: {0}")
     String defaultTimeZoneCaption(String currentDefault);
 
-    @DefaultMessage("VM has {0} network interfaces. Assign profiles to them.")
-    String assignNicsToProfilesPlural(int numOfNics);
-
-    @DefaultMessage("VM has 1 network interface. Assign a profile to it.")
-    String assignNicsToProfilesSingular();
-
     @DefaultMessage("VM has no network interfaces. To add one, assign a 
profile.")
     String assignNicsNothingToAssign();
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
index 9eeb3b8..87f9bdb 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
@@ -2,7 +2,8 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.List;
+import java.util.HashMap;
+import java.util.Map;
 
 import 
org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface;
 import org.ovirt.engine.core.common.businessentities.network.VnicProfileView;
@@ -35,11 +36,10 @@
     private static final CommonApplicationMessages messages = 
GWT.create(CommonApplicationMessages.class);
 
     private Collection<VnicProfileView> vnicProfiles;
-    private final List<VmNetworkInterface> vnics;
-    private int realEntryCount;
+    private final Map<VmNetworkInterface, Boolean> vnics;
 
     public ProfilesInstanceTypeEditor() {
-        vnics = new ArrayList<VmNetworkInterface>();
+        vnics = new HashMap<VmNetworkInterface, Boolean>();
         initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this));
     }
 
@@ -55,41 +55,18 @@
             vnicProfiles = new ArrayList<VnicProfileView>();
         }
 
-        Iterable<VnicInstanceType> values = model.getItems();
         vnics.clear();
-        if (values != null) {
-            for (VnicInstanceType value : values) {
-                vnics.add(value.getNetworkInterface());
-            }
-        }
         super.init(model);
-
-        realEntryCount = vnics.size() - 1; // don't count the ghost entry
-        updateHeaderLabel();
     }
 
     private void updateHeaderLabel() {
-        if (realEntryCount == 0) {
-            headerLabel.setText(messages.assignNicsNothingToAssign());
-        } else if (realEntryCount == 1) {
-            headerLabel.setText(messages.assignNicsToProfilesSingular());
-        } else {
-            
headerLabel.setText(messages.assignNicsToProfilesPlural(realEntryCount));
-        }
-    }
-
-    @Override
-    protected void onAdd(VnicInstanceType value, ProfileInstanceTypeEditor 
widget) {
-        super.onAdd(value, widget);
-        ++realEntryCount; // necessarily a ghost entry, but this will be 
offset when the entry is toggled to ghost
-        updateHeaderLabel();
+        headerLabel.setText(vnics.size() == 1 && vnics.containsValue(true) ? 
messages.assignNicsNothingToAssign() : ""); //$NON-NLS-1$
     }
 
     @Override
     protected void onRemove(VnicInstanceType value, ProfileInstanceTypeEditor 
widget) {
         super.onRemove(value, widget);
         vnics.remove(value.getNetworkInterface());
-        --realEntryCount; // necessarily a real entry
         updateHeaderLabel();
     }
 
@@ -111,8 +88,7 @@
     @Override
     protected VnicInstanceType createGhostValue() {
         VmNetworkInterface vnic = new VmNetworkInterface();
-        vnic.setName(AsyncDataProvider.getNewNicName(vnics));
-        vnics.add(vnic);
+        vnic.setName(AsyncDataProvider.getNewNicName(vnics.keySet()));
         VnicInstanceType vnicWithProfile = new VnicInstanceType(vnic);
         vnicWithProfile.setItems(vnicProfiles);
         return vnicWithProfile;
@@ -128,7 +104,7 @@
         item.profileEditor.setEnabled(!becomingGhost);
         item.profileEditor.asWidget().setEnabled(true);
 
-        realEntryCount += (becomingGhost ? -1 : 1);
+        vnics.put(value.getNetworkInterface(), becomingGhost);
         updateHeaderLabel();
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
index 87ca215..6e2dbe8 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
@@ -3153,7 +3153,7 @@
         return diskInterfaces;
     }
 
-    public static String getNewNicName(List<VmNetworkInterface> 
existingInterfaces)
+    public static String getNewNicName(Collection<VmNetworkInterface> 
existingInterfaces)
     {
         int maxIfaceNumber = 0;
         if (existingInterfaces != null)


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

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