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) {