1 package org.argeo.slc.client.ui.model;
2
3 import javax.jcr.RepositoryException;
4
5 import org.argeo.slc.SlcException;
6 import org.eclipse.jface.viewers.IElementComparer;
7
8
9
10
11
12
13
14 public class ResultItemsComparer implements IElementComparer {
15
16
17
18 public boolean equals(Object a, Object b) {
19 if (b == null)
20 return a == null ? true : false;
21
22 if (a.hashCode() != b.hashCode() || !a.getClass().equals(b.getClass()))
23 return false;
24 else if (a instanceof SingleResultNode) {
25 try {
26 String ida = ((SingleResultNode) a).getNode().getIdentifier();
27
28 String idb = ((SingleResultNode) b).getNode().getIdentifier();
29
30 if (ida.equals(idb))
31 return true;
32 else
33 return false;
34
35 } catch (RepositoryException e) {
36 throw new SlcException("Cannot compare single reult nodes", e);
37 }
38 } else
39 return true;
40 }
41
42 public int hashCode(Object element) {
43 return element.hashCode();
44 }
45
46 }