+++ /dev/null
-package org.argeo.eclipse.ui.jcr;\r
-\r
-import javax.jcr.Node;\r
-import javax.jcr.RepositoryException;\r
-\r
-import org.argeo.eclipse.ui.EclipseUiException;\r
-import org.eclipse.jface.viewers.IElementComparer;\r
-\r
-/** Element comparer for JCR node, to be used in JFace viewers. */\r
-public class NodeElementComparer implements IElementComparer {\r
-\r
- public boolean equals(Object a, Object b) {\r
- try {\r
- if ((a instanceof Node) && (b instanceof Node)) {\r
- Node nodeA = (Node) a;\r
- Node nodeB = (Node) b;\r
- return nodeA.getIdentifier().equals(nodeB.getIdentifier());\r
- } else {\r
- return a.equals(b);\r
- }\r
- } catch (RepositoryException e) {\r
- throw new EclipseUiException("Cannot compare nodes", e);\r
- }\r
- }\r
-\r
- public int hashCode(Object element) {\r
- try {\r
- if (element instanceof Node)\r
- return ((Node) element).getIdentifier().hashCode();\r
- return element.hashCode();\r
- } catch (RepositoryException e) {\r
- throw new EclipseUiException("Cannot get hash code", e);\r
- }\r
- }\r
-\r
-}\r