Index: /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/RepositoryImpl.java =================================================================== --- /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/RepositoryImpl.java (revision 425762) +++ /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/RepositoryImpl.java (working copy) @@ -767,7 +767,7 @@ * @throws NoSuchWorkspaceException if such a workspace does not exist * @throws RepositoryException if some other error occurs */ - SystemSession getSystemSession(String workspaceName) + public SystemSession getSystemSession(String workspaceName) throws NoSuchWorkspaceException, RepositoryException { // check sanity of this instance sanityCheck(); @@ -987,7 +987,7 @@ * * @throws RepositoryException */ - protected Properties loadRepProps() throws RepositoryException { + public Properties loadRepProps() throws RepositoryException { FileSystemResource propFile = new FileSystemResource(metaDataStore, PROPERTIES_RESOURCE); try { Properties props = new Properties(); Index: /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/SystemSession.java =================================================================== --- /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/SystemSession.java (revision 425762) +++ /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/SystemSession.java (working copy) @@ -35,7 +35,7 @@ /** * A SystemSession ... */ -class SystemSession extends SessionImpl { +public class SystemSession extends SessionImpl { private static Logger log = LoggerFactory.getLogger(SystemSession.class); Index: /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/config/ConfigurationParser.java =================================================================== --- /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/config/ConfigurationParser.java (revision 425762) +++ /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/config/ConfigurationParser.java (working copy) @@ -53,6 +53,11 @@ /** Name of the bean parameter value configuration attribute. */ public static final String VALUE_ATTRIBUTE = "value"; + /** Name of the persistence manager configuration element. */ + public static final String PERSISTENCE_MANAGER_ELEMENT = + "PersistenceManager"; + + /** * The configuration parser variables. These name-value pairs * are used to substitute ${...} variable references @@ -70,6 +75,7 @@ public ConfigurationParser(Properties variables) { this.variables = variables; } + /** * Returns the variables. @@ -267,6 +273,20 @@ + element.getNodeName() + "."); } } + + /** + * Parses the PersistenceManager config. + * + * @param parent parent of the PersistenceManager element + * @return persistence manager configuration + * @throws ConfigurationException if the configuration is broken + */ + protected PersistenceManagerConfig parsePersistenceManagerConfig( + Element parent) throws ConfigurationException { + return new PersistenceManagerConfig( + parseBeanConfig(parent, PERSISTENCE_MANAGER_ELEMENT)); + } + /** * Returns the value of the named attribute of the given element. Index: /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/config/RepositoryConfigurationParser.java =================================================================== --- /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/config/RepositoryConfigurationParser.java (revision 425762) +++ /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/config/RepositoryConfigurationParser.java (working copy) @@ -73,9 +73,7 @@ /** Name of the file system configuration element. */ public static final String FILE_SYSTEM_ELEMENT = "FileSystem"; - /** Name of the persistence manager configuration element. */ - public static final String PERSISTENCE_MANAGER_ELEMENT = - "PersistenceManager"; + /** Name of the search index configuration element. */ public static final String SEARCH_INDEX_ELEMENT = "SearchIndex"; @@ -427,18 +425,7 @@ return new VersioningConfig(home, fsc, pmc); } - /** - * Parses the PersistenceManager config. - * - * @param parent parent of the PersistenceManager element - * @return persistence manager configuration - * @throws ConfigurationException if the configuration is broken - */ - protected PersistenceManagerConfig parsePersistenceManagerConfig( - Element parent) throws ConfigurationException { - return new PersistenceManagerConfig( - parseBeanConfig(parent, PERSISTENCE_MANAGER_ELEMENT)); - } + /** * Creates a new instance of a configuration parser but with overlayed Index: /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java =================================================================== --- /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java (revision 425762) +++ /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java (working copy) @@ -430,6 +430,22 @@ // return clone to make sure nobody messes around with the 'live' definition return (NodeTypeDef) def.clone(); } + + /** + * Returns the nodes types definitions of all registered node types. + * + * @return the node type definition of all registered node types. + * @throws NoSuchNodeTypeException + */ + public NodeTypeDef[] getRegisteredNodesTypesDefs() throws NoSuchNodeTypeException { + QName[] qn = this.getRegisteredNodeTypes(); + NodeTypeDef[] ntd = new NodeTypeDef[qn.length]; + + for (int i=0; i < qn.length; i++) { + ntd[i] = this.getNodeTypeDef(qn[i]); + } + return ntd; + } /** * @param nodeTypeName