]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeComparer.java
Start migrating SLC client
[gpl/argeo-slc.git] / org.argeo.slc.client.ui.dist / src / main / java / org / argeo / slc / client / ui / dist / controllers / DistTreeComparer.java
diff --git a/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeComparer.java b/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeComparer.java
new file mode 100644 (file)
index 0000000..5c6b9de
--- /dev/null
@@ -0,0 +1,28 @@
+package org.argeo.slc.client.ui.dist.controllers;
+
+import org.argeo.eclipse.ui.TreeParent;
+import org.eclipse.jface.viewers.IElementComparer;
+
+/** Compares two elements of the Distribution tree */
+public class DistTreeComparer implements IElementComparer {
+
+       public int hashCode(Object element) {
+               if (element instanceof TreeParent)
+                       return ((TreeParent) element).hashCode();
+               else
+
+                       return element.getClass().toString().hashCode();
+       }
+
+       public boolean equals(Object elementA, Object elementB) {
+               if (!(elementA instanceof TreeParent)
+                               || !(elementB instanceof TreeParent)) {
+                       return elementA == null ? elementB == null : elementA
+                                       .equals(elementB);
+               } else {
+                       TreeParent tpA = ((TreeParent) elementA);
+                       TreeParent tpB = ((TreeParent) elementB);
+                       return tpA.compareTo(tpB) == 0;
+               }
+       }
+}
\ No newline at end of file