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 an...@apache.org on 2014/02/28 12:02:56 UTC
svn commit: r1572917 - in
/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade:
RepositoryUpgrade.java security/GroupEditor.java
security/GroupEditorProvider.java
Author: angela
Date: Fri Feb 28 11:02:56 2014
New Revision: 1572917
URL: http://svn.apache.org/r1572917
Log:
OAK-1480 : Wrong default value for group-paths in GroupEditor
Modified:
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/GroupEditor.java
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/GroupEditorProvider.java
Modified: jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java?rev=1572917&r1=1572916&r2=1572917&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java Fri Feb 28 11:02:56 2014
@@ -22,7 +22,6 @@ import java.io.InputStream;
import java.util.List;
import java.util.Map;
import java.util.Properties;
-
import javax.jcr.NamespaceException;
import javax.jcr.NamespaceRegistry;
import javax.jcr.RepositoryException;
@@ -32,11 +31,13 @@ import javax.jcr.version.OnParentVersion
import org.apache.jackrabbit.core.NamespaceRegistryImpl;
import org.apache.jackrabbit.core.RepositoryContext;
import org.apache.jackrabbit.core.config.RepositoryConfig;
+import org.apache.jackrabbit.core.config.UserManagerConfig;
import org.apache.jackrabbit.core.fs.FileSystem;
import org.apache.jackrabbit.core.fs.FileSystemException;
import org.apache.jackrabbit.core.nodetype.NodeTypeRegistry;
import org.apache.jackrabbit.core.persistence.PersistenceManager;
import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry;
+import org.apache.jackrabbit.core.security.user.UserManagerImpl;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.plugins.index.CompositeIndexEditorProvider;
@@ -53,6 +54,7 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.commit.CompositeHook;
import org.apache.jackrabbit.oak.spi.commit.EditorHook;
import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBits;
+import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -205,9 +207,9 @@ public class RepositoryUpgrade {
* @throws RepositoryException if the copy operation fails
*/
public void copy() throws RepositoryException {
+ RepositoryConfig config = source.getRepositoryConfig();
logger.info(
- "Copying repository content from {} to Oak",
- source.getRepositoryConfig().getHomeDir());
+ "Copying repository content from {} to Oak", config.getHomeDir());
try {
NodeBuilder builder = target.getRoot().builder();
@@ -220,9 +222,16 @@ public class RepositoryUpgrade {
copyVersionStore(builder, idxToPrefix);
copyWorkspaces(builder, idxToPrefix);
+ String groupsPath;
+ UserManagerConfig userConfig = config.getSecurityConfig().getSecurityManagerConfig().getUserManagerConfig();
+ if (userConfig != null) {
+ groupsPath = userConfig.getParameters().getProperty(UserManagerImpl.PARAM_GROUPS_PATH, UserConstants.DEFAULT_GROUP_PATH);
+ } else {
+ groupsPath = UserConstants.DEFAULT_GROUP_PATH;
+ }
// TODO: default hooks?
CommitHook hook = new CompositeHook(
- new EditorHook(new GroupEditorProvider()),
+ new EditorHook(new GroupEditorProvider(groupsPath)),
new EditorHook(new CompositeEditorProvider(
new TypeEditorProvider(),
new IndexUpdateProvider(new CompositeIndexEditorProvider(
Modified: jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/GroupEditor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/GroupEditor.java?rev=1572917&r1=1572916&r2=1572917&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/GroupEditor.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/GroupEditor.java Fri Feb 28 11:02:56 2014
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.upgrad
import java.util.Set;
import java.util.TreeSet;
+import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
@@ -28,23 +29,18 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.apache.jackrabbit.util.Text;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.apache.jackrabbit.JcrConstants.JCR_PRIMARYTYPE;
import static org.apache.jackrabbit.oak.api.CommitFailedException.CONSTRAINT;
-/**
- */
class GroupEditor extends DefaultEditor {
- /**
- * default logger
- */
private static final Logger log = LoggerFactory.getLogger(GroupEditor.class);
- // todo: OAK-1480 wrong default. must be retrieved from configuration.
- private final static String[] ROOTS = {"home", "groups"};
+ private final String[] groupsRoot;
private State state;
@@ -52,13 +48,14 @@ class GroupEditor extends DefaultEditor
private final MembershipWriter writer = new MembershipWriter();
- GroupEditor(NodeBuilder builder) {
+ GroupEditor(@Nonnull NodeBuilder builder, @Nonnull String groupsPath) {
this.state = new State(builder);
+ this.groupsRoot = Text.explode(groupsPath, '/', false);
// writer.setMembershipSizeThreshold(10); // uncomment to test different split sizes
}
private boolean descend(String name) {
- if (state.depth < ROOTS.length && !name.equals(ROOTS[state.depth])) {
+ if (state.depth < groupsRoot.length && !name.equals(groupsRoot[state.depth])) {
return false;
}
state = state.push(name);
Modified: jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/GroupEditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/GroupEditorProvider.java?rev=1572917&r1=1572916&r2=1572917&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/GroupEditorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/GroupEditorProvider.java Fri Feb 28 11:02:56 2014
@@ -16,6 +16,8 @@
*/
package org.apache.jackrabbit.oak.upgrade.security;
+import javax.annotation.Nonnull;
+
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.Editor;
import org.apache.jackrabbit.oak.spi.commit.EditorProvider;
@@ -26,10 +28,17 @@ import org.apache.jackrabbit.oak.spi.sta
*/
public class GroupEditorProvider implements EditorProvider {
+ private final String groupsPath;
+
+ public GroupEditorProvider(@Nonnull String groupsPath) {
+ this.groupsPath = groupsPath;
+
+ }
+
@Override
public Editor getRootEditor(
NodeState before, NodeState after,
NodeBuilder builder, CommitInfo info) {
- return new GroupEditor(builder);
+ return new GroupEditor(builder, groupsPath);
}
}
\ No newline at end of file