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