Frank Kobzik has uploaded a new change for review.

Change subject: frontend: fix display and graphics combo boxes behavior
......................................................................

frontend: fix display and graphics combo boxes behavior

Previously displayType list model contained entity models of
DisplayType enum. This is not necessary and this patch makes changes
the listmodel to contain items of DisplayType enum directly.

By eliminating unnecessary complexity, the patch fixes following
issue:
When user selected display or graphics and then altered some other
field that caused reloading of display or graphics listmodels,
selected items weren't preserved since the 'preserving logic' was
comparing entity models of display types instead of display types
themselves.

This patch also changes backing models of graphics and display
listmodels - they are now LinkedHashSet instead of inappropriate
SortedSet (we need to preserve ordering of listmodel instead of
sorting backind data).

Change-Id: If6376386a0a996c6c80406a57d4dd9a90427126d
Signed-off-by: Frantisek Kobzik <fkob...@redhat.com>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/HwOnlyCoreUnitToVmBaseBuilder.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeModelBehaviorBase.java
M 
frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseVmListModelTest.java
9 files changed, 50 insertions(+), 119 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/61/37561/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
index 148f828..979f05e 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
@@ -454,7 +454,7 @@
     @UiField(provided = true)
     @Path(value = "displayType.selectedItem")
     @WithElementId("displayType")
-    public ListModelListBoxEditor<EntityModel<DisplayType>> displayTypeEditor;
+    public ListModelListBoxEditor<DisplayType> displayTypeEditor;
 
     @UiField(provided = true)
     @Path(value = "graphicsType.selectedItem")
@@ -1289,14 +1289,11 @@
         
timeZoneEditorWithInfo.setExplanation(applicationTemplates.italicText(constants.timeZoneInfo()));
 
         // Console tab
-        displayTypeEditor = new 
ListModelListBoxEditor<EntityModel<DisplayType>>(new 
NullSafeRenderer<EntityModel<DisplayType>>() {
-            @Override
-            public String renderNullSafe(EntityModel<DisplayType> object) {
-                return EnumTranslator.getInstance().get(object.getEntity());
-            }
-        }, new ModeSwitchingVisibilityRenderer());
+        displayTypeEditor = new ListModelListBoxEditor<>(
+                new EnumRenderer<DisplayType>(),
+                new ModeSwitchingVisibilityRenderer());
 
-        graphicsTypeEditor = new 
ListModelListBoxEditor<UnitVmModel.GraphicsTypes>(new 
EnumRenderer<UnitVmModel.GraphicsTypes>());
+        graphicsTypeEditor = new ListModelListBoxEditor<>(new 
EnumRenderer<UnitVmModel.GraphicsTypes>());
 
         usbSupportEditor =
                 new ListModelListBoxEditor<UsbPolicy>(new 
EnumRenderer<UsbPolicy>(), new ModeSwitchingVisibilityRenderer());
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/HwOnlyCoreUnitToVmBaseBuilder.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/HwOnlyCoreUnitToVmBaseBuilder.java
index 946157c..29f981a 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/HwOnlyCoreUnitToVmBaseBuilder.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/HwOnlyCoreUnitToVmBaseBuilder.java
@@ -14,7 +14,7 @@
         vm.setMemSizeMb(model.getMemSize().getEntity());
         vm.setNumOfSockets(model.getNumOfSockets().getSelectedItem());
         
vm.setCpuPerSocket(Integer.parseInt(model.getTotalCPUCores().getEntity()) / 
model.getNumOfSockets().getSelectedItem());
-        
vm.setDefaultDisplayType(model.getDisplayType().getSelectedItem().getEntity());
+        vm.setDefaultDisplayType(model.getDisplayType().getSelectedItem());
         vm.setNumOfMonitors(model.getNumOfMonitors().getSelectedItem());
         vm.setSmartcardEnabled(model.getIsSmartcardEnabled().getEntity());
         vm.setSsoMethod(model.extractSelectedSsoMethod());
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
index 24e723e..d6bae6f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
@@ -1250,25 +1250,14 @@
         }
     }
 
-    private void vmModel_DisplayProtocol_ItemsChanged()
-    {
+    private void vmModel_DisplayProtocol_ItemsChanged() {
         UnitVmModel model = (UnitVmModel) getWindow();
-        if (!model.getIsNew())
-        {
+        if (!model.getIsNew()) {
             UserPortalItemModel selectedItem = (UserPortalItemModel) 
getSelectedItem();
-            VM vm = (VM) selectedItem.getEntity();
-            EntityModel<DisplayType> displayType = null;
-
-            for (EntityModel<DisplayType> item : 
model.getDisplayType().getItems())
-            {
-                DisplayType dt = item.getEntity();
-                if (dt == vm.getDefaultDisplayType())
-                {
-                    displayType = item;
-                    break;
-                }
+            DisplayType displayType = ((VM) 
selectedItem.getEntity()).getDefaultDisplayType();
+            if (model.getDisplayType().getItems().contains(displayType)) {
+                model.getDisplayType().setSelectedItem(displayType);
             }
-            model.getDisplayType().setSelectedItem(displayType);
         }
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java
index fe6d498..141f6e5 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java
@@ -310,15 +310,9 @@
         getModel().getProvisioning().setIsAvailable(false);
 
         // Select display protocol.
-        for (EntityModel<DisplayType> model : 
getModel().getDisplayType().getItems())
-        {
-            DisplayType displayType = model.getEntity();
-
-            if (displayType == this.vm.getDefaultDisplayType())
-            {
-                getModel().getDisplayType().setSelectedItem(model);
-                break;
-            }
+        DisplayType displayType = this.vm.getDefaultDisplayType();
+        if (getModel().getDisplayType().getItems().contains(displayType)) {
+            getModel().getDisplayType().setSelectedItem(displayType);
         }
 
         initPriority(this.vm.getPriority());
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java
index 6258f38..c96c2ba 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java
@@ -15,7 +15,6 @@
 import org.ovirt.engine.ui.uicommonweb.builders.vm.CommonVmBaseToUnitBuilder;
 import 
org.ovirt.engine.ui.uicommonweb.builders.vm.NameAndDescriptionVmBaseToUnitBuilder;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
-import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
 import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel;
 
 import java.util.ArrayList;
@@ -203,15 +202,9 @@
         getModel().getProvisioning().setIsAvailable(false);
 
         // Select display protocol.
-        for (EntityModel<DisplayType> model : 
getModel().getDisplayType().getItems())
-        {
-            DisplayType displayType = model.getEntity();
-
-            if (displayType == template.getDefaultDisplayType())
-            {
-                getModel().getDisplayType().setSelectedItem(model);
-                break;
-            }
+        DisplayType displayType = template.getDefaultDisplayType();
+        if (getModel().getDisplayType().getItems().contains(displayType)) {
+            getModel().getDisplayType().setSelectedItem(displayType);
         }
 
         updateConsoleDevice(template.getId());
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
index d0e1382..d1cef78 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
@@ -5,12 +5,11 @@
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import java.util.SortedSet;
-import java.util.TreeSet;
 import org.ovirt.engine.core.common.businessentities.BootSequence;
 import 
org.ovirt.engine.core.common.businessentities.BusinessEntitiesDefinitions;
 import org.ovirt.engine.core.common.businessentities.DisplayType;
@@ -826,13 +825,13 @@
         this.memoryBalloonDeviceEnabled = memoryBalloonDeviceEnabled;
     }
 
-    private NotChangableForVmInPoolListModel<EntityModel<DisplayType>> 
displayType;
+    private NotChangableForVmInPoolListModel<DisplayType> displayType;
 
-    public ListModel<EntityModel<DisplayType>> getDisplayType() {
+    public ListModel<DisplayType> getDisplayType() {
         return displayType;
     }
 
-    private void 
setDisplayType(NotChangableForVmInPoolListModel<EntityModel<DisplayType>> 
value) {
+    private void setDisplayType(NotChangableForVmInPoolListModel<DisplayType> 
value) {
         displayType = value;
     }
 
@@ -1523,7 +1522,7 @@
         setInitrd_path(new NotChangableForVmInPoolEntityModel<String>());
         setCustomProperties(new NotChangableForVmInPoolEntityModel<String>());
         setCustomPropertySheet(new NotChangableForVmInPoolKeyValueModel());
-        setDisplayType(new 
NotChangableForVmInPoolListModel<EntityModel<DisplayType>>());
+        setDisplayType(new NotChangableForVmInPoolListModel<DisplayType>());
         setGraphicsType(new NotChangableForVmInPoolListModel<GraphicsTypes>());
         setSecondBootDevice(new 
NotChangableForVmInPoolListModel<EntityModel<BootSequence>>());
         setBootMenuEnabled(new NotChangableForVmInPoolEntityModel<Boolean>());
@@ -1945,9 +1944,7 @@
     private void initUsbPolicy() {
         VDSGroup cluster = getSelectedCluster();
         Integer osType = getOSType().getSelectedItem();
-        DisplayType displayType = (getDisplayType().getSelectedItem() != null
-                ? getDisplayType().getSelectedItem().getEntity()
-                : null);
+        DisplayType displayType = getDisplayType().getSelectedItem();
         GraphicsTypes graphicsTypes = getGraphicsType().getSelectedItem();
 
         if (osType == null || cluster == null || displayType == null || 
graphicsTypes == null) {
@@ -2042,33 +2039,18 @@
     }
 
     public void initDisplayModels(List<Pair<GraphicsType, DisplayType>> 
graphicsAndDisplays) {
-        DisplayType oldDisplayProtocolOption = null;
-        EntityModel<DisplayType> oldDisplayProtocolEntity = null;
-
-        if (getDisplayType().getSelectedItem() != null) {
-            oldDisplayProtocolOption = 
getDisplayType().getSelectedItem().getEntity();
-        }
-
-        SortedSet<DisplayType> displayTypes = new TreeSet<DisplayType>();
+        // get supported display types
+        Set<DisplayType> displayTypes = new LinkedHashSet<>();
         for (Pair<GraphicsType, DisplayType> graphicsTypeDisplayTypePair : 
graphicsAndDisplays) {
             displayTypes.add(graphicsTypeDisplayTypePair.getSecond());
         }
 
-        List<EntityModel<DisplayType>> displayTypeOptions = new 
ArrayList<EntityModel<DisplayType>>();
-
-        for (DisplayType displayType : displayTypes) {
-            EntityModel<DisplayType> displayTypeEntityModel = new 
EntityModel<DisplayType>(displayType);
-            displayTypeEntityModel.setTitle(displayType.name());
-            displayTypeOptions.add(displayTypeEntityModel);
-            if (oldDisplayProtocolOption == 
displayTypeEntityModel.getEntity()) {
-                oldDisplayProtocolEntity = new 
EntityModel<DisplayType>(oldDisplayProtocolOption);
-            }
-        }
-
-        if (displayTypeOptions.contains(oldDisplayProtocolEntity)) {
-            getDisplayType().setItems(displayTypeOptions, 
oldDisplayProtocolEntity);
-        } else if (displayTypeOptions.size() > 0) {
-            getDisplayType().setItems(displayTypeOptions, 
displayTypeOptions.iterator().next());
+        // set items and set selected one
+        DisplayType selectedDisplayType = getDisplayType().getSelectedItem();
+        if (displayTypes.contains(selectedDisplayType)) {
+            getDisplayType().setItems(displayTypes, selectedDisplayType);
+        } else if (displayTypes.size() > 0) {
+            getDisplayType().setItems(displayTypes, 
displayTypes.iterator().next());
         }
     }
 
@@ -2163,7 +2145,7 @@
     public boolean getIsQxlSupported() {
         // Enable Single PCI only on cluster 3.3 and high and on Linux OS
         boolean isLinux = getIsLinuxOS();
-        boolean isQxl = extractSelectedDisplayTypeEntity() == DisplayType.qxl;
+        boolean isQxl = getDisplayType().getSelectedItem() == DisplayType.qxl;
         boolean isSpice = getGraphicsType().getSelectedItem() == 
GraphicsTypes.SPICE;
         boolean clusterSupportsSinglePci = getSelectedCluster() != null &&
         Version.v3_3.compareTo(getSelectedCluster().getCompatibilityVersion()) 
<= 0;
@@ -2175,7 +2157,7 @@
         getBehavior().enableSinglePCI(getIsQxlSupported());
 
         if (getSelectedCluster() != null) {
-            boolean isQxl = extractSelectedDisplayTypeEntity() == 
DisplayType.qxl;
+            boolean isQxl = getDisplayType().getSelectedItem() == 
DisplayType.qxl;
             boolean spiceFileTransferToggle = isQxl
                     && 
AsyncDataProvider.getInstance().isSpiceFileTransferToggleSupported(getSelectedCluster().getCompatibilityVersion().toString());
             if (!spiceFileTransferToggle) {
@@ -2325,16 +2307,8 @@
         getMigrationDowntime().setIsChangable(Boolean.TRUE.equals(entity));
     }
 
-    private DisplayType extractSelectedDisplayTypeEntity() {
-        EntityModel<DisplayType> entityModel = 
getDisplayType().getSelectedItem();
-        if (entityModel == null) {
-            return null;
-        }
-        return entityModel.getEntity();
-    }
-
     private void displayTypeSelectedItemChanged(Object sender, EventArgs args) 
{
-        if (extractSelectedDisplayTypeEntity() == null) {
+        if (getDisplayType().getSelectedItem() == null) {
             getBehavior().activateInstanceTypeManager();
             return;
         }
@@ -2346,10 +2320,10 @@
             return;
         }
 
-        SortedSet<GraphicsTypes> graphicsTypes = new TreeSet<GraphicsTypes>();
+        Set<GraphicsTypes> graphicsTypes = new LinkedHashSet<>();
         List<Pair<GraphicsType, DisplayType>> graphicsAndDisplays = 
AsyncDataProvider.getInstance().getGraphicsAndDisplays(osType, 
cluster.getCompatibilityVersion());
         for (Pair<GraphicsType, DisplayType> graphicsAndDisplay : 
graphicsAndDisplays) {
-            if (graphicsAndDisplay.getSecond() == 
getDisplayType().getSelectedItem().getEntity()) {
+            if (graphicsAndDisplay.getSecond() == 
getDisplayType().getSelectedItem()) {
                 
graphicsTypes.add(GraphicsTypes.fromGraphicsType(graphicsAndDisplay.getFirst()));
             }
         }
@@ -2364,7 +2338,7 @@
     }
 
     private void upgradeGraphicsRelatedModels() {
-        DisplayType display = extractSelectedDisplayTypeEntity();
+        DisplayType display = getDisplayType().getSelectedItem();
         GraphicsTypes graphics = getGraphicsType().getSelectedItem();
         if (display == null || graphics == null) {
             return;
@@ -2411,13 +2385,11 @@
     }
 
     private void updateNumOfMonitors() {
-        EntityModel<DisplayType> selectedDisplayType = 
getDisplayType().getSelectedItem();
-
-        if (selectedDisplayType != null && selectedDisplayType.getEntity() != 
DisplayType.qxl) {
+        if (getDisplayType().getSelectedItem() == DisplayType.qxl) {
+            getNumOfMonitors().setIsChangable(true);
+        } else {
             getNumOfMonitors().setSelectedItem(1);
             getNumOfMonitors().setIsChangable(false);
-        } else {
-            getNumOfMonitors().setIsChangable(true);
         }
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java
index d63d682..6ba2425 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java
@@ -453,22 +453,15 @@
 
     protected void updateDefaultDisplayRelatedFields(final VmBase vmBase) {
         // Update display protocol selected item
-        if (model.getDisplayType().getItems() == null) {
+        Collection<DisplayType> displayTypes = 
model.getDisplayType().getItems();
+        if (displayTypes == null) {
             return;
         }
 
-        EntityModel<DisplayType> displayProtocol = null;
-        boolean isFirst = true;
-        for (EntityModel<DisplayType> item : 
model.getDisplayType().getItems()) {
-            if (isFirst) {
-                displayProtocol = item;
-                isFirst = false;
-            }
-            DisplayType dt = item.getEntity();
-            if (dt == vmBase.getDefaultDisplayType()) {
-                displayProtocol = item;
-                break;
-            }
+        // select display protocol
+        DisplayType displayProtocol = displayTypes.iterator().next(); // first 
by default
+        if (displayTypes.contains(vmBase.getDefaultDisplayType())) {
+            displayProtocol = vmBase.getDefaultDisplayType(); // if display 
types contain DT of a vm, pick this one
         }
 
         maybeSetSelectedItem(model.getDisplayType(), displayProtocol);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeModelBehaviorBase.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeModelBehaviorBase.java
index e5e7091..5b8fb76 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeModelBehaviorBase.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeModelBehaviorBase.java
@@ -7,7 +7,6 @@
 import org.ovirt.engine.core.common.businessentities.VmWatchdogType;
 import org.ovirt.engine.core.common.utils.Pair;
 import org.ovirt.engine.core.compat.Version;
-import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
 import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.VmModelBehaviorBase;
@@ -40,8 +39,7 @@
         
getModel().getDisplayType().getSelectedItemChangedEvent().addListener(new 
IEventListener() {
             @Override
             public void eventRaised(Event ev, Object sender, EventArgs args) {
-                EntityModel<DisplayType> displayType = 
getModel().getDisplayType().getSelectedItem();
-                enableSinglePCI(displayType.getEntity() == DisplayType.qxl);
+                enableSinglePCI(getModel().getDisplayType().getSelectedItem() 
== DisplayType.qxl);
             }
         });
 
@@ -58,11 +56,8 @@
         getModel().initDisplayModels(allGraphicsAndDisplays);
         initGraphicsModel(selectedGrahicsTypes);
 
-        for (EntityModel<DisplayType> displayType : 
getModel().getDisplayType().getItems()) {
-            if (displayType.getEntity() == selected) {
-                getModel().getDisplayType().setSelectedItem(displayType);
-                break;
-            }
+        if (getModel().getDisplayType().getItems().contains(selected)) {
+            getModel().getDisplayType().setSelectedItem(selected);
         }
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseVmListModelTest.java
 
b/frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseVmListModelTest.java
index 69a456c..6d871a0 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseVmListModelTest.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseVmListModelTest.java
@@ -6,7 +6,6 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-import org.ovirt.engine.core.common.businessentities.DisplayType;
 import org.ovirt.engine.core.common.businessentities.InstanceType;
 import org.ovirt.engine.core.common.businessentities.NumaTuneMode;
 import org.ovirt.engine.core.common.businessentities.Quota;
@@ -65,8 +64,7 @@
         ListModel<Quota> quotaListModel = mockQuotaListModel();
         when(model.getQuota()).thenReturn(quotaListModel);
         
when(model.getVncKeyboardLayout().getSelectedItem()).thenReturn(VNC_KEYBOARD_LAYOUT);
-        EntityModel<DisplayType> displayTypeEntityModel = 
mockEntityModel(DISPLAY_TYPE);
-        
when(model.getDisplayType().getSelectedItem()).thenReturn(displayTypeEntityModel);
+        
when(model.getDisplayType().getSelectedItem()).thenReturn(DISPLAY_TYPE);
         EntityModel<Integer> priorityEntityModel = mockEntityModel(PRIORITY);
         
when(model.getPriority().getSelectedItem()).thenReturn(priorityEntityModel);
         when(model.getIsRunAndPause().getEntity()).thenReturn(true);


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: If6376386a0a996c6c80406a57d4dd9a90427126d
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Frank Kobzik <fkob...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to