]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/acr/ContentUtils.java
HTTP parameters support
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / acr / ContentUtils.java
index cfd90f93c1d5e77aa86e900985646095204adf4c..bf5954411bc157a32003bf17d3e4363e8ee9d5bc 100644 (file)
@@ -16,6 +16,7 @@ import org.argeo.api.acr.ContentRepository;
 import org.argeo.api.acr.ContentSession;
 import org.argeo.api.acr.DName;
 import org.argeo.api.cms.CmsAuth;
+import org.argeo.api.cms.CmsSession;
 import org.argeo.api.cms.directory.CmsDirectory;
 import org.argeo.api.cms.directory.CmsUserManager;
 import org.argeo.api.cms.directory.HierarchyUnit;
@@ -67,7 +68,6 @@ public class ContentUtils {
 
        public static final char SLASH = '/';
        public static final String SLASH_STRING = Character.toString(SLASH);
-       public static final String ROOT_SLASH = "" + SLASH;
        public static final String EMPTY = "";
 
        /**
@@ -103,7 +103,7 @@ public class ContentUtils {
 
        public static List<String> toPathSegments(String path) {
                List<String> res = new ArrayList<>();
-               if (EMPTY.equals(path) || ROOT_SLASH.equals(path))
+               if (EMPTY.equals(path) || Content.ROOT_PATH.equals(path))
                        return res;
                collectPathSegments(path, res);
                return res;
@@ -177,7 +177,7 @@ public class ContentUtils {
                }
        }
 
-       public static ContentSession openDataAdminSession(ContentRepository repository) {
+       public static ContentSession openDataAdminSession(ContentRepository contentRepository) {
                LoginContext loginContext;
                try {
                        loginContext = CmsAuth.DATA_ADMIN.newLoginContext();
@@ -190,12 +190,16 @@ public class ContentUtils {
                ClassLoader currentCl = Thread.currentThread().getContextClassLoader();
                try {
                        Thread.currentThread().setContextClassLoader(ContentUtils.class.getClassLoader());
-                       return CurrentSubject.callAs(loginContext.getSubject(), () -> repository.get());
+                       return CurrentSubject.callAs(loginContext.getSubject(), () -> contentRepository.get());
                } finally {
                        Thread.currentThread().setContextClassLoader(currentCl);
                }
        }
 
+       public static ContentSession openSession(ContentRepository contentRepository, CmsSession cmsSession) {
+               return CurrentSubject.callAs(cmsSession.getSubject(), () -> contentRepository.get());
+       }
+
        /**
         * Constructs a relative path between a base path and a given path.
         *