You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by al...@apache.org on 2013/03/05 20:23:11 UTC

svn commit: r1452956 - /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java

Author: alexparvulescu
Date: Tue Mar  5 19:23:11 2013
New Revision: 1452956

URL: http://svn.apache.org/r1452956
Log:
OAK-443 UserInitializer causes repository traversal

Modified:
    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/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=1452956&r1=1452955&r2=1452956&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 Mar  5 19:23:11 2013
@@ -104,11 +104,18 @@ public class UserInitializer implements 
         try {
             NodeUtil rootTree = checkNotNull(new NodeUtil(root.getTree("/")));
             NodeUtil index = rootTree.getOrAddChild(IndexConstants.INDEX_DEFINITIONS_NAME, JcrConstants.NT_UNSTRUCTURED);
-            IndexUtils.createIndexDefinition(index, "authorizableId", true, new String[]{REP_AUTHORIZABLE_ID}, null);
-            IndexUtils.createIndexDefinition(index, "principalName", true,
-                    new String[]{REP_PRINCIPAL_NAME},
-                    new String[]{NT_REP_GROUP, NT_REP_USER});
-            IndexUtils.createIndexDefinition(index, "members", false, new String[]{UserConstants.REP_MEMBERS}, null);
+
+            if (!index.hasChild("authorizableId")) {
+                IndexUtils.createIndexDefinition(index, "authorizableId", true, new String[]{REP_AUTHORIZABLE_ID}, null);
+            }
+            if (!index.hasChild("principalName")) {
+                IndexUtils.createIndexDefinition(index, "principalName", true,
+                        new String[]{REP_PRINCIPAL_NAME},
+                        new String[]{NT_REP_GROUP, NT_REP_USER});
+            }
+            if (!index.hasChild("members")) {
+                IndexUtils.createIndexDefinition(index, "members", false, new String[]{UserConstants.REP_MEMBERS}, null);
+            }
 
             String adminId = userConfiguration.getConfigurationParameters().getConfigValue(PARAM_ADMIN_ID, DEFAULT_ADMIN_ID);
             if (userManager.getAuthorizable(adminId) == null) {