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