Massive Argeo APIs refactoring
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / KernelUtils.java
index 7d296ae0e91e8b1dfbe9dc7d5c8234d9de803be6..f267933cf5910de37b95213d30bab126c34cf8bd 100644 (file)
@@ -8,7 +8,6 @@ import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.security.PrivilegedAction;
 import java.security.URIParameter;
 import java.util.Dictionary;
 import java.util.Hashtable;
@@ -16,16 +15,8 @@ import java.util.Properties;
 import java.util.TreeMap;
 import java.util.TreeSet;
 
-import javax.jcr.Repository;
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-import javax.security.auth.Subject;
-import javax.security.auth.login.LoginContext;
-import javax.security.auth.login.LoginException;
-
-import org.apache.commons.logging.Log;
-import org.argeo.api.DataModelNamespace;
-import org.argeo.api.NodeConstants;
+import org.argeo.api.cms.CmsLog;
+import org.argeo.cms.osgi.DataModelNamespace;
 import org.osgi.framework.BundleContext;
 import org.osgi.util.tracker.ServiceTracker;
 
@@ -129,7 +120,7 @@ class KernelUtils implements KernelConstants {
        // }
        // }
 
-       static void logFrameworkProperties(Log log) {
+       static void logFrameworkProperties(CmsLog log) {
                BundleContext bc = getBundleContext();
                for (Object sysProp : new TreeSet<Object>(System.getProperties().keySet())) {
                        log.debug(sysProp + "=" + bc.getProperty(sysProp.toString()));
@@ -153,67 +144,67 @@ class KernelUtils implements KernelConstants {
                        out.println(key + "=" + display.get(key));
        }
 
-       static Session openAdminSession(Repository repository) {
-               return openAdminSession(repository, null);
-       }
-
-       static Session openAdminSession(final Repository repository, final String workspaceName) {
-               LoginContext loginContext = loginAsDataAdmin();
-               return Subject.doAs(loginContext.getSubject(), new PrivilegedAction<Session>() {
-
-                       @Override
-                       public Session run() {
-                               try {
-                                       return repository.login(workspaceName);
-                               } catch (RepositoryException e) {
-                                       throw new IllegalStateException("Cannot open admin session", e);
-                               } finally {
-                                       try {
-                                               loginContext.logout();
-                                       } catch (LoginException e) {
-                                               throw new IllegalStateException(e);
-                                       }
-                               }
-                       }
-
-               });
-       }
-
-       static LoginContext loginAsDataAdmin() {
-               ClassLoader currentCl = Thread.currentThread().getContextClassLoader();
-               Thread.currentThread().setContextClassLoader(KernelUtils.class.getClassLoader());
-               LoginContext loginContext;
-               try {
-                       loginContext = new LoginContext(NodeConstants.LOGIN_CONTEXT_DATA_ADMIN);
-                       loginContext.login();
-               } catch (LoginException e1) {
-                       throw new IllegalStateException("Could not login as data admin", e1);
-               } finally {
-                       Thread.currentThread().setContextClassLoader(currentCl);
-               }
-               return loginContext;
-       }
-
-       static void doAsDataAdmin(Runnable action) {
-               LoginContext loginContext = loginAsDataAdmin();
-               Subject.doAs(loginContext.getSubject(), new PrivilegedAction<Void>() {
-
-                       @Override
-                       public Void run() {
-                               try {
-                                       action.run();
-                                       return null;
-                               } finally {
-                                       try {
-                                               loginContext.logout();
-                                       } catch (LoginException e) {
-                                               throw new IllegalStateException(e);
-                                       }
-                               }
-                       }
-
-               });
-       }
+//     static Session openAdminSession(Repository repository) {
+//             return openAdminSession(repository, null);
+//     }
+//
+//     static Session openAdminSession(final Repository repository, final String workspaceName) {
+//             LoginContext loginContext = loginAsDataAdmin();
+//             return Subject.doAs(loginContext.getSubject(), new PrivilegedAction<Session>() {
+//
+//                     @Override
+//                     public Session run() {
+//                             try {
+//                                     return repository.login(workspaceName);
+//                             } catch (RepositoryException e) {
+//                                     throw new IllegalStateException("Cannot open admin session", e);
+//                             } finally {
+//                                     try {
+//                                             loginContext.logout();
+//                                     } catch (LoginException e) {
+//                                             throw new IllegalStateException(e);
+//                                     }
+//                             }
+//                     }
+//
+//             });
+//     }
+//
+//     static LoginContext loginAsDataAdmin() {
+//             ClassLoader currentCl = Thread.currentThread().getContextClassLoader();
+//             Thread.currentThread().setContextClassLoader(KernelUtils.class.getClassLoader());
+//             LoginContext loginContext;
+//             try {
+//                     loginContext = new LoginContext(NodeConstants.LOGIN_CONTEXT_DATA_ADMIN);
+//                     loginContext.login();
+//             } catch (LoginException e1) {
+//                     throw new IllegalStateException("Could not login as data admin", e1);
+//             } finally {
+//                     Thread.currentThread().setContextClassLoader(currentCl);
+//             }
+//             return loginContext;
+//     }
+
+//     static void doAsDataAdmin(Runnable action) {
+//             LoginContext loginContext = loginAsDataAdmin();
+//             Subject.doAs(loginContext.getSubject(), new PrivilegedAction<Void>() {
+//
+//                     @Override
+//                     public Void run() {
+//                             try {
+//                                     action.run();
+//                                     return null;
+//                             } finally {
+//                                     try {
+//                                             loginContext.logout();
+//                                     } catch (LoginException e) {
+//                                             throw new IllegalStateException(e);
+//                                     }
+//                             }
+//                     }
+//
+//             });
+//     }
 
        static void asyncOpen(ServiceTracker<?, ?> st) {
                Runnable run = new Runnable() {