Vojtech Szocs has uploaded a new change for review.

Change subject: webadmin: Fix SystemTreeItemModel equals method
......................................................................

webadmin: Fix SystemTreeItemModel equals method

This patch fixes a problem with System Tree selection due
to equals method not taking SystemTreeItemType into account.

Change-Id: I7b28d330cecd13e6129a5703949640ff912763d5
Signed-off-by: Vojtech Szocs <vsz...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeItemModel.java
1 file changed, 18 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/52/27052/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeItemModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeItemModel.java
index 9bd17e7..9dc478d 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeItemModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeItemModel.java
@@ -3,6 +3,7 @@
 import java.util.List;
 
 import org.ovirt.engine.core.common.mode.ApplicationMode;
+import org.ovirt.engine.core.common.utils.ObjectUtils;
 import org.ovirt.engine.ui.uicommonweb.TreeNodeInfo;
 import org.ovirt.engine.ui.uicompat.ObservableCollection;
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
@@ -115,37 +116,35 @@
         if (other == null || other.getClass() != getClass()) {
             return false;
         }
-        boolean result = true;
         SystemTreeItemModel otherModel = (SystemTreeItemModel) other;
+
+        // Compare item's attributes
+        if (!ObjectUtils.objectsEqual(getType(), otherModel.getType())
+                || !ObjectUtils.objectsEqual(getEntity(), 
otherModel.getEntity())) {
+            return false;
+        }
+
+        // Compare item's children, if necessary
         if (getChildren().size() > 0 && deepCompare) {
-            if (otherModel.getChildren().size() == getChildren().size()) {
-                for (int i = 0; i < getChildren().size(); i++) {
-                    result = 
getChildren().get(i).equals(otherModel.getChildren().get(i), deepCompare);
-                    if (!result) {
-                        break;
-                    }
+            if (getChildren().size() != otherModel.getChildren().size()) {
+                return false;
+            }
+            for (int i = 0; i < getChildren().size(); i++) {
+                if 
(!getChildren().get(i).equals(otherModel.getChildren().get(i), deepCompare)) {
+                    return false;
                 }
-            } else {
-                result = false;
             }
         }
-        if (result) {
-            if (!((otherModel.getEntity() == null && getEntity() == null)
-                    || (otherModel.getEntity() != null && 
otherModel.getEntity().equals(getEntity())
-                    && ((otherModel.getTitle() == null && getTitle() == null)
-                            || (otherModel.getTitle() != null && 
otherModel.getTitle().equals(getTitle())))))) {
-                result = false;
-            }
-        }
-        return result;
+
+        return true;
     }
 
     @Override
     public int hashCode() {
         final int prime = 31;
         int result = super.hashCode();
+        result = prime * result + ((getType() == null) ? 0 : 
getType().hashCode());
         result = prime * result + ((getEntity() == null) ? 0 : 
getEntity().hashCode());
-        result = prime * result + ((getTitle() == null) ? 0 : 
getTitle().hashCode());
         return result;
     }
 


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

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

Reply via email to