]> git.argeo.org Git - gpl/argeo-suite.git/blob - org.argeo.app.jcr/src/org/argeo/internal/app/jcr/AppUserStateImpl.java
Adapt to changes in Argeo Commons
[gpl/argeo-suite.git] / org.argeo.app.jcr / src / org / argeo / internal / app / jcr / AppUserStateImpl.java
1 package org.argeo.internal.app.jcr;
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.jcr.SuiteJcrUtils;
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 @SuppressWarnings("deprecation")
19 @Override
20 public Content getOrCreateSessionDir(ContentSession contentSession, CmsSession session) {
21 Node userDirNode = jcrContentProvider.doInAdminSession((adminSession) -> {
22 Node node = SuiteJcrUtils.getOrCreateCmsSessionNode(adminSession, session);
23 return node;
24 });
25 Content userDir = contentSession
26 .get(ContentUtils.SLASH + CmsConstants.SYS_WORKSPACE + Jcr.getPath(userDirNode));
27 return userDir;
28 }
29
30 public void setJcrContentProvider(JcrContentProvider jcrContentProvider) {
31 this.jcrContentProvider = jcrContentProvider;
32 }
33
34 }