You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 10:23:33 UTC

[sling-org-apache-sling-testing-sling-mock] 17/37: SLING-5064 sling-mock: Register JCR node types for OSGi bundles in class path

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit f0086449f4be80cc374ab20194eb5f7c5c5990fe
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Sun Sep 27 09:04:13 2015 +0000

    SLING-5064 sling-mock: Register JCR node types for OSGi bundles in class path
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1705517 13f79535-47bb-0310-9956-ffa450edef68
---
 .../sling/context/NodeTypeDefinitionScanner.java    | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/src/main/java/org/apache/sling/testing/mock/sling/context/NodeTypeDefinitionScanner.java b/src/main/java/org/apache/sling/testing/mock/sling/context/NodeTypeDefinitionScanner.java
index bec7900..441c0c8 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/context/NodeTypeDefinitionScanner.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/context/NodeTypeDefinitionScanner.java
@@ -44,6 +44,11 @@ import org.apache.jackrabbit.commons.cnd.CndImporter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Singleton class that fetches all node type definitions from OSGi bundle MANIFEST.MF files
+ * with "Sling-Nodetypes" definitions in the classpath.
+ * Additionally it support registering them to a JCR repository. 
+ */
 public final class NodeTypeDefinitionScanner {
     
     private static final NodeTypeDefinitionScanner SINGLETON = new NodeTypeDefinitionScanner();
@@ -101,6 +106,15 @@ public final class NodeTypeDefinitionScanner {
       }
     }
     
+    /**
+     * Register node types found in classpath in JCR repository, and remove those that succeeded to register from the list.
+     * @param nodeTypeResources List of nodetype classpath resources
+     * @param classLoader
+     * @param nodeTypeManager
+     * @param namespaceRegistry
+     * @param valueFactory
+     * @param logError if true, and error is logged if node type registration failed. Otherwise it is ignored.
+     */
     private void registerAndRemoveSucceeds(List<String> nodeTypeResources, ClassLoader classLoader,
             NodeTypeManager nodeTypeManager, NamespaceRegistry namespaceRegistry, ValueFactory valueFactory,
             boolean logError) {
@@ -127,6 +141,13 @@ public final class NodeTypeDefinitionScanner {
         }
     }
     
+    /**
+     * Find all node type definition classpath paths by searching all MANIFEST.MF files in the classpath and reading
+     * the paths from the "Sling-Nodetypes" entry.
+     * The order of the paths from each entry is preserved, but the overall order when multiple bundles define such an entry
+     * is not deterministic and may not be correct according to the dependencies between the node type definitions.
+     * @return List of node type definition class paths
+     */
     private static List<String> findeNodeTypeDefinitions() {
         List<String> nodeTypeDefinitions = new ArrayList<String>();
         try {

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.