]> git.argeo.org Git - gpl/argeo-suite.git/blob - core/AppUserStateImpl.java
Prepare next development cycle
[gpl/argeo-suite.git] / core / AppUserStateImpl.java
1 package org.argeo.internal.app.core;
2
3 import javax.jcr.Node;
4
5 import org.argeo.api.acr.Content;
6 import org.argeo.api.acr.ContentSession;
7 import org.argeo.api.cms.CmsConstants;
8 import org.argeo.api.cms.CmsSession;
9 import org.argeo.app.api.AppUserState;
10 import org.argeo.app.core.SuiteUtils;
11 import org.argeo.cms.acr.ContentUtils;
12 import org.argeo.cms.jcr.acr.JcrContentProvider;
13 import org.argeo.jcr.Jcr;
14
15 public class AppUserStateImpl implements AppUserState {
16 private JcrContentProvider jcrContentProvider;
17
18 @Override
19 public Content getOrCreateSessionDir(ContentSession contentSession, CmsSession session) {
20 Node userDirNode = jcrContentProvider.doInAdminSession((adminSession) -> {
21 Node node = SuiteUtils.getOrCreateCmsSessionNode(adminSession, session);
22 return node;
23 });
24 Content userDir = contentSession
25 .get(ContentUtils.SLASH + CmsConstants.SYS_WORKSPACE + Jcr.getPath(userDirNode));
26 return userDir;
27 }
28
29 public void setJcrContentProvider(JcrContentProvider jcrContentProvider) {
30 this.jcrContentProvider = jcrContentProvider;
31 }
32
33 }