X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.client.ui.dist%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fcontrollers%2FDistTreeComparer.java;fp=org.argeo.slc.client.ui.dist%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fcontrollers%2FDistTreeComparer.java;h=5c6b9dee3fabcc85f2743ddba242c2737378040e;hb=7e2f6c6ae08e97925955184aaa29035ac05de149;hp=0000000000000000000000000000000000000000;hpb=48b6f7647f12f4b96d1914bcafc95efd7f43cc43;p=gpl%2Fargeo-slc.git 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 index 000000000..5c6b9dee3 --- /dev/null +++ b/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeComparer.java @@ -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