X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api%2Fsrc%2Forg%2Fargeo%2Fapi%2FNodeUtils.java;h=9cbf82325c0c2452eb35a1b39ba5b86ca148a61e;hb=b5644c1dac96afe8b9bdcd68068c054a9f780926;hp=926f023dbe771ed43081de532f6f62e1b09f8ab0;hpb=10f1603677f125c014c06cfd3ab956b5589d6e55;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api/src/org/argeo/api/NodeUtils.java b/org.argeo.api/src/org/argeo/api/NodeUtils.java index 926f023db..9cbf82325 100644 --- a/org.argeo.api/src/org/argeo/api/NodeUtils.java +++ b/org.argeo.api/src/org/argeo/api/NodeUtils.java @@ -6,6 +6,7 @@ import java.util.Map; import javax.jcr.NoSuchWorkspaceException; import javax.jcr.Node; +import javax.jcr.Property; import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.RepositoryFactory; @@ -199,6 +200,16 @@ public class NodeUtils { return getUserHome(session, userID); } + /** Whether this node is the home of the user of the underlying session. */ + public static boolean isUserHome(Node node) { + try { + String userID = node.getSession().getUserID(); + return node.hasProperty(Property.JCR_ID) && node.getProperty(Property.JCR_ID).getString().equals(userID); + } catch (RepositoryException e) { + throw new IllegalStateException(e); + } + } + /** * Translate the path to this node into a path containing the name of the * repository and the name of the workspace.