Start simplifying and clarifying CMS initialisation. Remove Jackrabbit
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / jcr / RepositoryBuilder.java
index 872d8ae531e977d3ea58a16859f184e3692813f7..bc6a82626cc70b0a92c3e1839a0dfa662af37c99 100644 (file)
@@ -58,7 +58,21 @@ public class RepositoryBuilder {
                                throw new ArgeoJcrException("Repository configuration not found");
                        InputSource config = new InputSource(in);
                        Properties jackrabbitVars = getConfigurationProperties(type, properties);
-                       RepositoryConfig repositoryConfig = RepositoryConfig.create(config, jackrabbitVars);
+                       // RepositoryConfig repositoryConfig = RepositoryConfig.create(config,
+                       // jackrabbitVars);
+
+                       // custom configuration parser
+                       CustomRepositoryConfigurationParser parser = new CustomRepositoryConfigurationParser(jackrabbitVars);
+                       parser.setAccessControlProviderClassLoader(cl);
+                       RepositoryConfig repositoryConfig = parser.parseRepositoryConfig(config);
+                       repositoryConfig.init();
+
+                       // set the proper classloaders
+                       repositoryConfig.getSecurityConfig().getSecurityManagerConfig().setClassLoader(cl);
+                       repositoryConfig.getSecurityConfig().getAccessManagerConfig().setClassLoader(cl);
+//                     for (WorkspaceConfig workspaceConfig : repositoryConfig.getWorkspaceConfigs()) {
+//                             workspaceConfig.getSecurityConfig().getAccessControlProviderConfig().setClassLoader(cl);
+//                     }
                        return repositoryConfig;
                }
        }