1 package org
.argeo
.internal
.app
.jcr
;
5 import org
.argeo
.api
.acr
.Content
;
6 import org
.argeo
.api
.acr
.ContentRepository
;
7 import org
.argeo
.api
.acr
.ContentSession
;
8 import org
.argeo
.api
.cms
.CmsConstants
;
9 import org
.argeo
.api
.cms
.CmsSession
;
10 import org
.argeo
.app
.api
.AppUserState
;
11 import org
.argeo
.app
.jcr
.SuiteJcrUtils
;
12 import org
.argeo
.cms
.acr
.ContentUtils
;
13 import org
.argeo
.cms
.jcr
.acr
.JcrContentProvider
;
14 import org
.argeo
.jcr
.Jcr
;
16 public class AppUserStateImpl
implements AppUserState
{
17 private ContentRepository contentRepository
;
18 private JcrContentProvider jcrContentProvider
;
20 @SuppressWarnings("deprecation")
22 public Content
getOrCreateSessionDir(CmsSession session
) {
23 Node userDirNode
= jcrContentProvider
.doInAdminSession((adminSession
) -> {
24 Node node
= SuiteJcrUtils
.getOrCreateCmsSessionNode(adminSession
, session
);
27 ContentSession contentSession
= ContentUtils
.openSession(contentRepository
, session
);
28 Content userDir
= contentSession
.get(Content
.ROOT_PATH
+ CmsConstants
.SYS_WORKSPACE
+ Jcr
.getPath(userDirNode
));
32 public void setJcrContentProvider(JcrContentProvider jcrContentProvider
) {
33 this.jcrContentProvider
= jcrContentProvider
;
36 public void setContentRepository(ContentRepository contentRepository
) {
37 this.contentRepository
= contentRepository
;