X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=server%2Fruntime%2Forg.argeo.server.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fjcr%2FJcrUtils.java;h=6edb854cb6d3f3df5a8458c54f057fbd86f6af53;hb=da55282938aaebf9fa148454dbc8add9c558501f;hp=bc7862f5fea23b5a3a2b4d935cfbb1bed2d13ebc;hpb=fb4f7c451ea7d9025f7cf7fe032020f229df794a;p=lgpl%2Fargeo-commons.git 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 bc7862f5f..6edb854cb 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 @@ -650,6 +650,24 @@ public class JcrUtils implements ArgeoJcrConstants { return getUserHome(session, userID); } + /** + * Returns user home has path, embedding exceptions. Contrary to + * {@link #getUserHome(Session)}, it never returns null but throws and + * exception if not found. + */ + public static String getUserHomePath(Session session) { + String userID = session.getUserID(); + try { + Node userHome = getUserHome(session, userID); + if (userHome != null) + return userHome.getPath(); + else + throw new ArgeoException("No home registered for " + userID); + } catch (RepositoryException e) { + throw new ArgeoException("Cannot find user home path", e); + } + } + /** Get the profile of the user attached to this session. */ public static Node getUserProfile(Session session) { String userID = session.getUserID();