From 02693451a9af0a877ab97c59681fb2f32976155a Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 19 Jan 2011 22:39:19 +0000 Subject: [PATCH] Introduce compare properties git-svn-id: https://svn.argeo.org/commons/trunk@4056 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../src/main/java/org/argeo/jcr/JcrUtils.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrUtils.java b/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrUtils.java index 4bc30534a..707639526 100644 --- a/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrUtils.java +++ b/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrUtils.java @@ -330,4 +330,28 @@ public class JcrUtils { + toNode, e); } } + + /** + * Check whether all first-level properties (except jcr:* properties) are + * equal. + */ + public static Boolean allPropertiesEquals(Node node1, Node node2) { + try { + PropertyIterator pit = node1.getProperties(); + while (pit.hasNext()) { + Property prop1 = pit.nextProperty(); + String propName = prop1.getName(); + if (!node2.hasProperty(propName)) + return false; + // TODO: deal with multiple property values? + if (!node2.getProperty(propName).getValue() + .equals(prop1.getValue())) + return false; + } + return true; + } catch (RepositoryException e) { + throw new ArgeoException("Cannot check all properties equals of " + + node1 + " and " + node2, e); + } + } } -- 2.30.2