X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=runtime%2Forg.argeo.slc.support.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fjcr%2FSlcJcrUtils.java;h=af7385000ffdb76e715ad0b4c28a84d6319b4764;hb=4e7678886b9f37c7e47896ff0889aa6cafbb3372;hp=81504b77657f70689673802ddbe3613b07664047;hpb=4444b88528fd1ba4de62d47bf885bbe9403d2216;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/SlcJcrUtils.java b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/SlcJcrUtils.java index 81504b776..af7385000 100644 --- a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/SlcJcrUtils.java +++ b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/SlcJcrUtils.java @@ -21,8 +21,10 @@ import java.util.GregorianCalendar; import javax.jcr.Node; import javax.jcr.NodeIterator; import javax.jcr.RepositoryException; +import javax.jcr.Session; import org.argeo.jcr.JcrUtils; +import org.argeo.jcr.UserJcrUtils; import org.argeo.slc.SlcException; import org.argeo.slc.core.execution.PrimitiveAccessor; import org.argeo.slc.core.execution.PrimitiveUtils; @@ -80,11 +82,19 @@ public class SlcJcrUtils implements SlcNames { + JcrUtils.dateAsPath(now, true) + uuid; } - /** Create a new execution result path based on the current time */ - public static String createResultPath(String username, String uuid) { + /** + * Create a new execution result path in the user home based on the current + * time + */ + public static String createResultPath(Session session, String uuid) + throws RepositoryException { Calendar now = new GregorianCalendar(); - return JcrUtils.getUserHomePath(username) + '/' + SlcNames.SLC_RESULTS - + '/' + JcrUtils.dateAsPath(now, true) + uuid; + Node userHome = UserJcrUtils.getUserHome(session); + if (userHome == null) + throw new SlcException("No user home available for " + + session.getUserID()); + return userHome.getPath() + '/' + SlcNames.SLC_RESULTS + '/' + + JcrUtils.dateAsPath(now, true) + uuid; } /**