Author: thomasm
Date: Tue Dec  8 10:11:15 2015
New Revision: 1718546

URL: http://svn.apache.org/viewvc?rev=1718546&view=rev
Log:
OAK-3728 Document indexes in the index itself

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUtils.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/InitialContent.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUtils.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUtils.java?rev=1718546&r1=1718545&r2=1718546&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUtils.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUtils.java
 Tue Dec  8 10:11:15 2015
@@ -103,13 +103,13 @@ public class IndexUtils {
      * @param propertyNames
      * @param declaringNodeTypeNames
      */
-    public static void createIndexDefinition(@Nonnull NodeUtil indexNode,
+    public static NodeUtil createIndexDefinition(@Nonnull NodeUtil indexNode,
                                              @Nonnull String indexDefName,
                                              boolean unique,
                                              @Nonnull String[] propertyNames,
                                              @Nullable String[] 
declaringNodeTypeNames) throws RepositoryException {
 
-        createIndexDefinition(indexNode, indexDefName, unique, propertyNames, 
declaringNodeTypeNames, PropertyIndexEditorProvider.TYPE);
+        return createIndexDefinition(indexNode, indexDefName, unique, 
propertyNames, declaringNodeTypeNames, PropertyIndexEditorProvider.TYPE);
     }
 
     /**
@@ -123,20 +123,21 @@ public class IndexUtils {
      * @param propertyIndexType
      * @throws RepositoryException
      */
-    public static void createIndexDefinition(@Nonnull NodeUtil indexNode, 
+    public static NodeUtil createIndexDefinition(@Nonnull NodeUtil indexNode, 
                                              @Nonnull String indexDefName, 
                                              boolean unique, 
                                              @Nonnull String[] propertyNames, 
                                              @Nullable String[] 
declaringNodeTypeNames, 
                                              @Nonnull String 
propertyIndexType) throws RepositoryException {
-        createIndexDefinition(indexNode, indexDefName, unique, propertyNames,
+        return createIndexDefinition(indexNode, indexDefName, unique, 
propertyNames,
             declaringNodeTypeNames, propertyIndexType, null);
     }
 
     public static void createReferenceIndex(@Nonnull NodeBuilder index) {
         index.child(NodeReferenceConstants.NAME)
                 .setProperty(JCR_PRIMARYTYPE, INDEX_DEFINITIONS_NODE_TYPE, 
NAME)
-                .setProperty(TYPE_PROPERTY_NAME, NodeReferenceConstants.TYPE);
+                .setProperty(TYPE_PROPERTY_NAME, NodeReferenceConstants.TYPE)
+                .setProperty("info", "Oak index for reference lookup.");
     }
 
     public static boolean isIndexNodeType(NodeState state) {
@@ -167,7 +168,7 @@ public class IndexUtils {
      * @param properties any additional property to be added to the index 
definition.
      * @throws RepositoryException
      */
-    public static void createIndexDefinition(@Nonnull NodeUtil indexNode, 
+    public static NodeUtil createIndexDefinition(@Nonnull NodeUtil indexNode, 
                                              @Nonnull String indexDefName, 
                                              boolean unique, 
                                              @Nonnull String[] propertyNames, 
@@ -190,6 +191,7 @@ public class IndexUtils {
                 entry.setString(k, properties.get(k));
             }
         }
+        return entry;
     }
 
     /**
@@ -205,7 +207,7 @@ public class IndexUtils {
      * @param properties                any additional property to be added to 
the index definition.
      * @throws RepositoryException
      */
-    public static void createIndexDefinition(@Nonnull NodeBuilder indexNode, 
+    public static NodeBuilder createIndexDefinition(@Nonnull NodeBuilder 
indexNode, 
                                              @Nonnull String indexDefName, 
                                              boolean unique, 
                                              @Nonnull Iterable<String> 
propertyNames, 
@@ -231,5 +233,6 @@ public class IndexUtils {
                 entry.setProperty(k, properties.get(k));
             }
         }
+        return entry;
     }
 }

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/InitialContent.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/InitialContent.java?rev=1718546&r1=1718545&r2=1718546&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/InitialContent.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/InitialContent.java
 Tue Dec  8 10:11:15 2015
@@ -93,17 +93,25 @@ public class InitialContent implements R
         if (!builder.hasChildNode(IndexConstants.INDEX_DEFINITIONS_NAME)) {
             NodeBuilder index = IndexUtils.getOrCreateOakIndex(builder);
 
-            IndexUtils.createIndexDefinition(index, "uuid", true, true,
+            NodeBuilder uuid = IndexUtils.createIndexDefinition(index, "uuid", 
true, true,
                     ImmutableList.<String>of(JCR_UUID), null);
-            IndexUtils.createIndexDefinition(index, "nodetype", true, false,
+            uuid.setProperty("info",
+                    "Oak index for UUID lookup (direct lookup of nodes with 
the mixin 'mix:referenceable').");
+            NodeBuilder nodetype = IndexUtils.createIndexDefinition(index, 
"nodetype", true, false,
                     ImmutableList.of(JCR_PRIMARYTYPE, JCR_MIXINTYPES), null);
+            nodetype.setProperty("info", 
+                    "Oak index for queries with node type, and possibly path 
restrictions, " + 
+                    "for example \"/jcr:root/content//element(*, 
mix:language)\".");
             IndexUtils.createReferenceIndex(index);
             
             index.child("counter")
                     .setProperty(JCR_PRIMARYTYPE, INDEX_DEFINITIONS_NODE_TYPE, 
NAME)
                     .setProperty(TYPE_PROPERTY_NAME, 
NodeCounterEditorProvider.TYPE)
                     .setProperty(IndexConstants.ASYNC_PROPERTY_NAME, 
-                            IndexConstants.ASYNC_PROPERTY_NAME);
+                            IndexConstants.ASYNC_PROPERTY_NAME)
+                    .setProperty("info", "Oak index that allows to estimate " 
+ 
+                            "how many nodes are stored below a given path, " + 
+                            "to decide whether traversing or using an index is 
faster.");
         }
 
         // squeeze node state before it is passed to store (OAK-2411)

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java?rev=1718546&r1=1718545&r2=1718546&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java
 Tue Dec  8 10:11:15 2015
@@ -45,9 +45,12 @@ class AuthorizationInitializer implement
         // property index for rep:principalName stored in ACEs
         NodeBuilder index = IndexUtils.getOrCreateOakIndex(builder);
         if (!index.hasChildNode("acPrincipalName")) {
-            IndexUtils.createIndexDefinition(index, "acPrincipalName", true, 
false,
+            NodeBuilder acPrincipalName = 
IndexUtils.createIndexDefinition(index, "acPrincipalName", true, false,
                     ImmutableList.<String>of(REP_PRINCIPAL_NAME),
                     ImmutableList.<String>of(NT_REP_DENY_ACE, 
NT_REP_GRANT_ACE, NT_REP_ACE));
+            acPrincipalName.setProperty("info",
+                    "Oak index used by authorization to quickly search a 
principal by name."
+                    );
         }
 
         // create the permission store and the root for this workspace.

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java?rev=1718546&r1=1718545&r2=1718546&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java
 Tue Dec  8 10:11:15 2015
@@ -108,12 +108,18 @@ class UserInitializer implements Workspa
             NodeUtil index = 
rootTree.getOrAddChild(IndexConstants.INDEX_DEFINITIONS_NAME, 
JcrConstants.NT_UNSTRUCTURED);
 
             if (!index.hasChild("authorizableId")) {
-                IndexUtils.createIndexDefinition(index, "authorizableId", 
true, new String[]{REP_AUTHORIZABLE_ID}, null);
+                NodeUtil authorizableId = 
IndexUtils.createIndexDefinition(index, "authorizableId", true, new 
String[]{REP_AUTHORIZABLE_ID}, null);
+                authorizableId.setString("info", 
+                        "Oak index used by the user management " + 
+                        "to quickly search an authorizable by id.");
             }
             if (!index.hasChild("principalName")) {
-                IndexUtils.createIndexDefinition(index, "principalName", true,
+                NodeUtil principalName = 
IndexUtils.createIndexDefinition(index, "principalName", true,
                         new String[]{REP_PRINCIPAL_NAME},
                         new String[]{NT_REP_AUTHORIZABLE});
+                principalName.setString("info", 
+                        "Oak index used by the user management " + 
+                        "to quickly search a prinipal by name.");
             }
 
             ConfigurationParameters params = userConfiguration.getParameters();


Reply via email to