Author: angela
Date: Wed Dec 13 17:30:38 2017
New Revision: 1818045
URL: http://svn.apache.org/viewvc?rev=1818045&view=rev
Log:
OAK-7017 : Replace usage in oak-core
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfiguration.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditor.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidator.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeInitializer.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImplTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/AbstractCompositeProviderTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfigurationTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeProviderCustomMixTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeTreePermissionTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImplTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImplTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java
Wed Dec 13 17:30:38 2017
@@ -21,13 +21,11 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
-
import javax.annotation.Nonnull;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
-
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.spi.commit.MoveTracker;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
@@ -112,7 +110,7 @@ public class TokenConfigurationImpl exte
super();
}
- public TokenConfigurationImpl(SecurityProvider securityProvider) {
+ public TokenConfigurationImpl(@Nonnull SecurityProvider securityProvider) {
super(securityProvider, securityProvider.getParameters(NAME));
}
@@ -147,7 +145,7 @@ public class TokenConfigurationImpl exte
@Nonnull
@Override
public List<? extends ValidatorProvider> getValidators(@Nonnull String
workspaceName, @Nonnull Set<Principal> principals, @Nonnull MoveTracker
moveTracker) {
- ValidatorProvider vp = new
TokenValidatorProvider(getSecurityProvider().getParameters(UserConfiguration.NAME));
+ ValidatorProvider vp = new
TokenValidatorProvider(getSecurityProvider().getParameters(UserConfiguration.NAME),
getTreeProvider());
return ImmutableList.of(vp);
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenValidatorProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenValidatorProvider.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenValidatorProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenValidatorProvider.java
Wed Dec 13 17:30:38 2017
@@ -25,7 +25,8 @@ import org.apache.jackrabbit.oak.api.Com
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.api.Type;
-import org.apache.jackrabbit.oak.plugins.tree.factories.TreeFactory;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
+import org.apache.jackrabbit.oak.plugins.tree.TreeUtil;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.DefaultValidator;
import org.apache.jackrabbit.oak.spi.commit.Validator;
@@ -36,7 +37,6 @@ import org.apache.jackrabbit.oak.spi.sec
import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
import org.apache.jackrabbit.oak.spi.security.user.util.PasswordUtil;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.plugins.tree.TreeUtil;
import org.apache.jackrabbit.util.Text;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,8 +49,11 @@ class TokenValidatorProvider extends Val
private final String userRootPath;
- TokenValidatorProvider(@Nonnull ConfigurationParameters userConfig) {
+ private final TreeProvider treeProvider;
+
+ TokenValidatorProvider(@Nonnull ConfigurationParameters userConfig,
@Nonnull TreeProvider treeProvider) {
userRootPath =
userConfig.getConfigValue(UserConstants.PARAM_USER_PATH,
UserConstants.DEFAULT_USER_PATH);
+ this.treeProvider = treeProvider;
}
@Override
@@ -69,7 +72,7 @@ class TokenValidatorProvider extends Val
private final CommitInfo commitInfo;
TokenValidator(@Nonnull NodeState parentBefore, @Nonnull NodeState
parentAfter, @Nonnull CommitInfo commitInfo) {
- this(TreeFactory.createReadOnlyTree(parentBefore),
TreeFactory.createReadOnlyTree(parentAfter), commitInfo);
+ this(treeProvider.createReadOnlyTree(parentBefore),
treeProvider.createReadOnlyTree(parentAfter), commitInfo);
}
private TokenValidator(@Nullable Tree parentBefore, @Nonnull Tree
parentAfter, @Nonnull CommitInfo commitInfo) {
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
Wed Dec 13 17:30:38 2017
@@ -16,20 +16,16 @@
*/
package org.apache.jackrabbit.oak.security.authorization;
-import static
org.apache.jackrabbit.oak.spi.security.RegistrationConstants.OAK_SECURITY_NAME;
-
import java.security.Principal;
import java.util.List;
import java.util.Map;
import java.util.Set;
-
import javax.annotation.Nonnull;
import javax.jcr.security.AccessControlManager;
+import com.google.common.collect.ImmutableList;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
-import org.apache.jackrabbit.oak.spi.namespace.NamespaceConstants;
-import org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants;
import org.apache.jackrabbit.oak.plugins.version.VersionablePathHook;
import
org.apache.jackrabbit.oak.security.authorization.accesscontrol.AccessControlImporter;
import
org.apache.jackrabbit.oak.security.authorization.accesscontrol.AccessControlManagerImpl;
@@ -46,6 +42,8 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.lifecycle.WorkspaceInitializer;
import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
import org.apache.jackrabbit.oak.spi.mount.Mounts;
+import org.apache.jackrabbit.oak.spi.namespace.NamespaceConstants;
+import org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants;
import org.apache.jackrabbit.oak.spi.security.ConfigurationBase;
import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
import org.apache.jackrabbit.oak.spi.security.Context;
@@ -58,8 +56,6 @@ import org.apache.jackrabbit.oak.spi.sec
import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants;
import org.apache.jackrabbit.oak.spi.xml.ImportBehavior;
import org.apache.jackrabbit.oak.spi.xml.ProtectedItemImporter;
-
-import com.google.common.collect.ImmutableList;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
@@ -68,6 +64,8 @@ import org.osgi.service.metatype.annotat
import org.osgi.service.metatype.annotations.ObjectClassDefinition;
import org.osgi.service.metatype.annotations.Option;
+import static
org.apache.jackrabbit.oak.spi.security.RegistrationConstants.OAK_SECURITY_NAME;
+
/**
* Default implementation of the {@code AccessControlConfiguration}.
*/
@@ -125,6 +123,10 @@ public class AuthorizationConfigurationI
super();
}
+ public AuthorizationConfigurationImpl(@Nonnull SecurityProvider
securityProvider) {
+ super(securityProvider, securityProvider.getParameters(NAME));
+ }
+
@SuppressWarnings("UnusedDeclaration")
@Activate
// reference to @Configuration class needed for correct DS xml generation
@@ -132,10 +134,6 @@ public class AuthorizationConfigurationI
setParameters(ConfigurationParameters.of(properties));
}
- public AuthorizationConfigurationImpl(SecurityProvider securityProvider) {
- super(securityProvider, securityProvider.getParameters(NAME));
- }
-
//----------------------------------------------< SecurityConfiguration
>---
@Nonnull
@Override
@@ -160,7 +158,7 @@ public class AuthorizationConfigurationI
public List<? extends CommitHook> getCommitHooks(@Nonnull String
workspaceName) {
return ImmutableList.of(
new VersionablePathHook(workspaceName),
- new PermissionHook(workspaceName, getRestrictionProvider(),
mountInfoProvider));
+ new PermissionHook(workspaceName, getRestrictionProvider(),
mountInfoProvider, getRootProvider(), getTreeProvider()));
}
@Nonnull
@@ -168,8 +166,8 @@ public class AuthorizationConfigurationI
public List<ValidatorProvider> getValidators(@Nonnull String
workspaceName, @Nonnull Set<Principal> principals, @Nonnull MoveTracker
moveTracker) {
return ImmutableList.of(
new PermissionStoreValidatorProvider(),
- new PermissionValidatorProvider(getSecurityProvider(),
workspaceName, principals, moveTracker),
- new AccessControlValidatorProvider(getSecurityProvider()));
+ new PermissionValidatorProvider(getSecurityProvider(),
workspaceName, principals, moveTracker, getRootProvider(), getTreeProvider()),
+ new AccessControlValidatorProvider(getSecurityProvider(),
getRootProvider(), getTreeProvider()));
}
@Nonnull
@@ -204,10 +202,10 @@ public class AuthorizationConfigurationI
if (mountInfoProvider.hasNonDefaultMounts()) {
return new MountPermissionProvider(root, workspaceName,
principals, getRestrictionProvider(),
- getParameters(), ctx, mountInfoProvider);
+ getParameters(), ctx, mountInfoProvider,
getRootProvider());
} else {
return new PermissionProviderImpl(root, workspaceName, principals,
getRestrictionProvider(),
- getParameters(), ctx);
+ getParameters(), ctx, getRootProvider());
}
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java
Wed Dec 13 17:30:38 2017
@@ -19,7 +19,6 @@ package org.apache.jackrabbit.oak.securi
import java.util.Collection;
import java.util.Collections;
import java.util.Set;
-
import javax.annotation.Nonnull;
import javax.jcr.RepositoryException;
import javax.jcr.security.AccessControlException;
@@ -28,7 +27,6 @@ import javax.jcr.security.Privilege;
import com.google.common.base.Objects;
import com.google.common.collect.Iterables;
import com.google.common.collect.Sets;
-
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
import org.apache.jackrabbit.oak.api.CommitFailedException;
@@ -36,9 +34,10 @@ import org.apache.jackrabbit.oak.api.Pro
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.plugins.nodetype.TypePredicate;
-import org.apache.jackrabbit.oak.plugins.tree.factories.TreeFactory;
-import org.apache.jackrabbit.oak.plugins.tree.impl.AbstractTree;
import org.apache.jackrabbit.oak.plugins.tree.TreeConstants;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
+import org.apache.jackrabbit.oak.plugins.tree.TreeUtil;
+import org.apache.jackrabbit.oak.plugins.tree.impl.AbstractTree;
import org.apache.jackrabbit.oak.spi.commit.DefaultValidator;
import org.apache.jackrabbit.oak.spi.commit.Validator;
import org.apache.jackrabbit.oak.spi.commit.VisibleValidator;
@@ -48,7 +47,6 @@ import org.apache.jackrabbit.oak.spi.sec
import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBits;
import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBitsProvider;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.plugins.tree.TreeUtil;
import org.apache.jackrabbit.util.Text;
import static com.google.common.base.Preconditions.checkNotNull;
@@ -70,11 +68,12 @@ class AccessControlValidator extends Def
private final TypePredicate isRepoAccessControllable;
private final TypePredicate isAccessControllable;
- AccessControlValidator(NodeState parentAfter,
- PrivilegeManager privilegeManager,
- PrivilegeBitsProvider privilegeBitsProvider,
- RestrictionProvider restrictionProvider) {
- this.parentAfter = TreeFactory.createReadOnlyTree(parentAfter);
+ AccessControlValidator(@Nonnull NodeState parentAfter,
+ @Nonnull PrivilegeManager privilegeManager,
+ @Nonnull PrivilegeBitsProvider
privilegeBitsProvider,
+ @Nonnull RestrictionProvider restrictionProvider,
+ @Nonnull TreeProvider treeProvider) {
+ this.parentAfter = treeProvider.createReadOnlyTree(parentAfter);
this.privilegeBitsProvider = privilegeBitsProvider;
this.privilegeManager = privilegeManager;
this.restrictionProvider = restrictionProvider;
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorProvider.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorProvider.java
Wed Dec 13 17:30:38 2017
@@ -20,8 +20,9 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
import org.apache.jackrabbit.oak.api.Root;
-import org.apache.jackrabbit.oak.plugins.tree.factories.RootFactory;
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.Validator;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
@@ -41,9 +42,13 @@ import org.apache.jackrabbit.oak.spi.sta
public class AccessControlValidatorProvider extends ValidatorProvider {
private final SecurityProvider securityProvider;
+ private final RootProvider rootProvider;
+ private final TreeProvider treeProvider;
- public AccessControlValidatorProvider(@Nonnull SecurityProvider
securityProvider) {
+ public AccessControlValidatorProvider(@Nonnull SecurityProvider
securityProvider, @Nonnull RootProvider rootProvider, @Nonnull TreeProvider
treeProvider) {
this.securityProvider = securityProvider;
+ this.rootProvider = rootProvider;
+ this.treeProvider = treeProvider;
}
//--------------------------------------------------< ValidatorProvider
>---
@@ -53,11 +58,11 @@ public class AccessControlValidatorProvi
RestrictionProvider restrictionProvider =
getConfig(AuthorizationConfiguration.class).getRestrictionProvider();
- Root root = RootFactory.createReadOnlyRoot(before);
+ Root root = rootProvider.createReadOnlyRoot(before);
PrivilegeManager privilegeManager =
getConfig(PrivilegeConfiguration.class).getPrivilegeManager(root,
NamePathMapper.DEFAULT);
PrivilegeBitsProvider privilegeBitsProvider = new
PrivilegeBitsProvider(root);
- return new AccessControlValidator(after, privilegeManager,
privilegeBitsProvider, restrictionProvider);
+ return new AccessControlValidator(after, privilegeManager,
privilegeBitsProvider, restrictionProvider, treeProvider);
}
private <T> T getConfig(Class<T> configClass) {
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfiguration.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfiguration.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfiguration.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfiguration.java
Wed Dec 13 17:30:38 2017
@@ -24,7 +24,6 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.jcr.security.AccessControlManager;
-import com.google.common.base.Function;
import com.google.common.collect.Lists;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
@@ -133,12 +132,7 @@ public class CompositeAuthorizationConfi
case 0: throw new IllegalStateException();
case 1: return configurations.get(0).getAccessControlManager(root,
namePathMapper);
default:
- List<AccessControlManager> mgrs =
Lists.transform(configurations, new Function<AuthorizationConfiguration,
AccessControlManager>() {
- @Override
- public AccessControlManager
apply(AuthorizationConfiguration authorizationConfiguration) {
- return
authorizationConfiguration.getAccessControlManager(root, namePathMapper);
- }
- });
+ List<AccessControlManager> mgrs =
Lists.transform(configurations, authorizationConfiguration ->
authorizationConfiguration.getAccessControlManager(root, namePathMapper));
return new CompositeAccessControlManager(root, namePathMapper,
getSecurityProvider(), mgrs);
}
@@ -191,7 +185,7 @@ public class CompositeAuthorizationConfi
pp = aggrPermissionProviders.get(0);
break;
default :
- pp = new CompositePermissionProvider(root,
aggrPermissionProviders, getContext(), compositionType);
+ pp = new CompositePermissionProvider(root,
aggrPermissionProviders, getContext(), compositionType, getRootProvider());
}
return pp;
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProvider.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProvider.java
Wed Dec 13 17:30:38 2017
@@ -16,19 +16,16 @@
*/
package org.apache.jackrabbit.oak.security.authorization.composite;
-import static
org.apache.jackrabbit.oak.security.authorization.composite.CompositeAuthorizationConfiguration.CompositionType.AND;
-
import java.util.List;
import java.util.Set;
import java.util.function.Function;
-
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.api.Tree;
-import org.apache.jackrabbit.oak.plugins.tree.factories.RootFactory;
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
import org.apache.jackrabbit.oak.plugins.tree.TreeLocation;
import org.apache.jackrabbit.oak.plugins.tree.TreeType;
import org.apache.jackrabbit.oak.plugins.tree.TreeTypeProvider;
@@ -44,6 +41,8 @@ import org.apache.jackrabbit.oak.spi.sec
import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBits;
import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBitsProvider;
+import static
org.apache.jackrabbit.oak.security.authorization.composite.CompositeAuthorizationConfiguration.CompositionType.AND;
+
/**
* Permission provider implementation that aggregates a list of different
* provider implementations. Note, that the aggregated provider implementations
@@ -57,6 +56,7 @@ class CompositePermissionProvider implem
private final AggregatedPermissionProvider[] pps;
private final Context ctx;
private final CompositionType compositionType;
+ private final RootProvider rootProvider;
private final RepositoryPermission repositoryPermission;
@@ -65,14 +65,16 @@ class CompositePermissionProvider implem
private TreeTypeProvider typeProvider;
CompositePermissionProvider(@Nonnull Root root, @Nonnull
List<AggregatedPermissionProvider> pps,
- @Nonnull Context acContext, @Nonnull CompositionType
compositionType) {
+ @Nonnull Context acContext, @Nonnull
CompositionType compositionType,
+ @Nonnull RootProvider rootProvider) {
this.root = root;
this.pps = pps.toArray(new AggregatedPermissionProvider[pps.size()]);
this.ctx = acContext;
this.compositionType = compositionType;
+ this.rootProvider = rootProvider;
repositoryPermission = new CompositeRepositoryPermission(this.pps,
this.compositionType);
- immutableRoot = RootFactory.createReadOnlyRoot(root);
+ immutableRoot = rootProvider.createReadOnlyRoot(root);
privilegeBitsProvider = new PrivilegeBitsProvider(immutableRoot);
typeProvider = new TreeTypeProvider(ctx);
}
@@ -80,7 +82,7 @@ class CompositePermissionProvider implem
//-------------------------------------------------< PermissionProvider
>---
@Override
public void refresh() {
- immutableRoot = RootFactory.createReadOnlyRoot(root);
+ immutableRoot = rootProvider.createReadOnlyRoot(root);
privilegeBitsProvider = new PrivilegeBitsProvider(immutableRoot);
for (PermissionProvider pp : pps) {
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProvider.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProvider.java
Wed Dec 13 17:30:38 2017
@@ -26,6 +26,7 @@ import java.util.Set;
import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.api.Root;
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
import org.apache.jackrabbit.oak.spi.mount.Mount;
import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
@@ -48,9 +49,11 @@ public class MountPermissionProvider ext
private final MountInfoProvider mountInfoProvider;
public MountPermissionProvider(@Nonnull Root root, @Nonnull String
workspaceName,
- @Nonnull Set<Principal> principals, @Nonnull RestrictionProvider
restrictionProvider,
- @Nonnull ConfigurationParameters options, @Nonnull Context ctx,
MountInfoProvider mountInfoProvider) {
- super(root, workspaceName, principals, restrictionProvider, options,
ctx);
+ @Nonnull Set<Principal> principals,
@Nonnull RestrictionProvider restrictionProvider,
+ @Nonnull ConfigurationParameters options,
@Nonnull Context ctx,
+ @Nonnull MountInfoProvider
mountInfoProvider,
+ @Nonnull RootProvider rootProvider) {
+ super(root, workspaceName, principals, restrictionProvider, options,
ctx, rootProvider);
this.mountInfoProvider = mountInfoProvider;
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java
Wed Dec 13 17:30:38 2017
@@ -24,7 +24,6 @@ import org.apache.jackrabbit.oak.api.Com
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.commons.PathUtils;
-import org.apache.jackrabbit.oak.plugins.tree.factories.RootFactory;
import org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree;
import org.apache.jackrabbit.oak.spi.commit.EditorDiff;
import org.apache.jackrabbit.oak.spi.commit.MoveTracker;
@@ -47,7 +46,7 @@ public class MoveAwarePermissionValidato
@Nonnull PermissionValidatorProvider provider,
@Nonnull MoveTracker moveTracker) {
super(rootBefore, rootAfter, permissionProvider, provider);
- moveCtx = new MoveContext(moveTracker, rootBefore, rootAfter);
+ moveCtx = new MoveContext(moveTracker,
provider.createReadOnlyRoot(rootBefore),
provider.createReadOnlyRoot(rootAfter));
}
private MoveAwarePermissionValidator(@Nullable Tree parentBefore,
@@ -115,11 +114,11 @@ public class MoveAwarePermissionValidato
private final Root rootAfter;
private MoveContext(@Nonnull MoveTracker moveTracker,
- @Nonnull NodeState before,
- @Nonnull NodeState after) {
+ @Nonnull Root before,
+ @Nonnull Root after) {
this.moveTracker = moveTracker;
- rootBefore = RootFactory.createReadOnlyRoot(before);
- rootAfter = RootFactory.createReadOnlyRoot(after);
+ rootBefore = before;
+ rootAfter = after;
}
private boolean containsMove(@Nullable Tree parentBefore, @Nullable
Tree parentAfter) {
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java
Wed Dec 13 17:30:38 2017
@@ -22,7 +22,8 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.plugins.nodetype.TypePredicate;
-import org.apache.jackrabbit.oak.plugins.tree.factories.RootFactory;
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.PostValidationHook;
import org.apache.jackrabbit.oak.spi.mount.Mount;
@@ -67,6 +68,8 @@ public class PermissionHook implements P
private final RestrictionProvider restrictionProvider;
private final String workspaceName;
private final MountInfoProvider mountInfoProvider;
+ private final RootProvider rootProvider;
+ private final TreeProvider treeProvider;
private NodeBuilder permissionStore;
private PrivilegeBitsProvider bitsProvider;
@@ -78,10 +81,14 @@ public class PermissionHook implements P
private Map<String, PermissionStoreEditor> modified = new HashMap<String,
PermissionStoreEditor>();
private Map<String, PermissionStoreEditor> deleted = new HashMap<String,
PermissionStoreEditor>();
- public PermissionHook(String workspaceName, RestrictionProvider
restrictionProvider, MountInfoProvider mountInfoProvider) {
+ public PermissionHook(@Nonnull String workspaceName, @Nonnull
RestrictionProvider restrictionProvider,
+ @Nonnull MountInfoProvider mountInfoProvider,
@Nonnull RootProvider rootProvider,
+ @Nonnull TreeProvider treeProvider) {
this.workspaceName = workspaceName;
this.restrictionProvider = restrictionProvider;
this.mountInfoProvider = mountInfoProvider;
+ this.rootProvider = rootProvider;
+ this.treeProvider = treeProvider;
}
//---------------------------------------------------------< CommitHook
>---
@@ -93,7 +100,7 @@ public class PermissionHook implements P
NodeBuilder rootAfter = after.builder();
permissionStore = getPermissionStore(rootAfter);
- bitsProvider = new
PrivilegeBitsProvider(RootFactory.createReadOnlyRoot(after));
+ bitsProvider = new
PrivilegeBitsProvider(rootProvider.createReadOnlyRoot(after));
isACL = new TypePredicate(after, NT_REP_ACL);
isACE = new TypePredicate(after, NT_REP_ACE);
@@ -209,7 +216,7 @@ public class PermissionHook implements P
}
private PermissionStoreEditor createPermissionStoreEditor(@Nonnull
String nodeName, @Nonnull NodeState nodeState) {
- return new PermissionStoreEditor(parentPath, nodeName, nodeState,
getPermissionRoot(parentPath), isACE, isGrantACE, bitsProvider,
restrictionProvider);
+ return new PermissionStoreEditor(parentPath, nodeName, nodeState,
getPermissionRoot(parentPath), isACE, isGrantACE, bitsProvider,
restrictionProvider, treeProvider);
}
}
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java
Wed Dec 13 17:30:38 2017
@@ -24,7 +24,7 @@ import javax.annotation.Nullable;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.api.Tree;
-import org.apache.jackrabbit.oak.plugins.tree.factories.RootFactory;
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
import org.apache.jackrabbit.oak.plugins.tree.TreeLocation;
import org.apache.jackrabbit.oak.plugins.tree.TreeType;
import org.apache.jackrabbit.oak.spi.version.VersionConstants;
@@ -56,6 +56,8 @@ public class PermissionProviderImpl impl
private final Context ctx;
+ private final RootProvider rootProvider;
+
private CompiledPermissions compiledPermissions;
private Root immutableRoot;
@@ -65,20 +67,22 @@ public class PermissionProviderImpl impl
@Nonnull Set<Principal> principals,
@Nonnull RestrictionProvider
restrictionProvider,
@Nonnull ConfigurationParameters options,
- @Nonnull Context ctx) {
+ @Nonnull Context ctx,
+ @Nonnull RootProvider rootProvider) {
this.root = root;
this.workspaceName = workspaceName;
this.principals = principals;
this.restrictionProvider = restrictionProvider;
this.options = options;
this.ctx = ctx;
+ this.rootProvider = rootProvider;
- immutableRoot = RootFactory.createReadOnlyRoot(root);
+ immutableRoot = rootProvider.createReadOnlyRoot(root);
}
@Override
public void refresh() {
- immutableRoot = RootFactory.createReadOnlyRoot(root);
+ immutableRoot = rootProvider.createReadOnlyRoot(root);
getCompiledPermissions().refresh(immutableRoot, workspaceName);
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditor.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditor.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditor.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditor.java
Wed Dec 13 17:30:38 2017
@@ -30,7 +30,7 @@ import org.apache.jackrabbit.oak.api.Pro
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.plugins.memory.PropertyStates;
import org.apache.jackrabbit.oak.plugins.nodetype.TypePredicate;
-import org.apache.jackrabbit.oak.plugins.tree.factories.TreeFactory;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
import
org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AccessControlConstants;
import
org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionConstants;
import
org.apache.jackrabbit.oak.spi.security.authorization.restriction.Restriction;
@@ -62,7 +62,8 @@ final class PermissionStoreEditor implem
@Nonnull NodeState node, @Nonnull NodeBuilder
permissionRoot,
@Nonnull TypePredicate isACE, @Nonnull TypePredicate
isGrantACE,
@Nonnull PrivilegeBitsProvider bitsProvider,
- @Nonnull RestrictionProvider restrictionProvider) {
+ @Nonnull RestrictionProvider restrictionProvider,
+ @Nonnull TreeProvider treeProvider) {
this.permissionRoot = permissionRoot;
if (name.equals(REP_REPO_POLICY)) {
accessControlledPath = "";
@@ -84,7 +85,7 @@ final class PermissionStoreEditor implem
if (isACE.apply(ace)) {
boolean isAllow = isGrantACE.apply(ace);
PrivilegeBits privilegeBits =
bitsProvider.getBits(ace.getNames(REP_PRIVILEGES));
- Set<Restriction> restrictions =
restrictionProvider.readRestrictions(Strings.emptyToNull(accessControlledPath),
TreeFactory.createReadOnlyTree(ace));
+ Set<Restriction> restrictions =
restrictionProvider.readRestrictions(Strings.emptyToNull(accessControlledPath),
treeProvider.createReadOnlyTree(ace));
AcEntry entry = (privilegeBits.equals(jcrAll)) ?
new JcrAllAcEntry(ace, accessControlledPath, index,
isAllow, privilegeBits, restrictions) :
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidator.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidator.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidator.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidator.java
Wed Dec 13 17:30:38 2017
@@ -25,7 +25,6 @@ import org.apache.jackrabbit.oak.api.Com
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.plugins.index.IndexConstants;
-import org.apache.jackrabbit.oak.plugins.tree.factories.TreeFactory;
import org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree;
import org.apache.jackrabbit.oak.plugins.lock.LockConstants;
import org.apache.jackrabbit.oak.plugins.nodetype.TypePredicate;
@@ -69,8 +68,8 @@ class PermissionValidator extends Defaul
@Nonnull NodeState rootAfter,
@Nonnull PermissionProvider permissionProvider,
@Nonnull PermissionValidatorProvider provider) {
- this.parentBefore = TreeFactory.createReadOnlyTree(rootBefore);
- this.parentAfter = TreeFactory.createReadOnlyTree(rootAfter);
+ this.parentBefore = provider.createReadOnlyTree(rootBefore);
+ this.parentAfter = provider.createReadOnlyTree(rootAfter);
this.parentPermission =
permissionProvider.getTreePermission(parentBefore, TreePermission.EMPTY);
this.permissionProvider = permissionProvider;
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidatorProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidatorProvider.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidatorProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidatorProvider.java
Wed Dec 13 17:30:38 2017
@@ -18,10 +18,12 @@ package org.apache.jackrabbit.oak.securi
import java.security.Principal;
import java.util.Set;
-
import javax.annotation.Nonnull;
-import org.apache.jackrabbit.oak.plugins.tree.factories.RootFactory;
+import org.apache.jackrabbit.oak.api.Root;
+import org.apache.jackrabbit.oak.api.Tree;
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.MoveTracker;
import org.apache.jackrabbit.oak.spi.commit.Validator;
@@ -50,10 +52,15 @@ public class PermissionValidatorProvider
private final Set<Principal> principals;
private final MoveTracker moveTracker;
+ private final RootProvider rootProvider;
+ private final TreeProvider treeProvider;
+
private Context acCtx;
private Context userCtx;
- public PermissionValidatorProvider(SecurityProvider securityProvider,
String workspaceName, Set<Principal> principals, MoveTracker moveTracker) {
+ public PermissionValidatorProvider(@Nonnull SecurityProvider
securityProvider, @Nonnull String workspaceName,
+ @Nonnull Set<Principal> principals,
@Nonnull MoveTracker moveTracker,
+ @Nonnull RootProvider rootProvider,
@Nonnull TreeProvider treeProvider) {
this.securityProvider = securityProvider;
this.acConfig =
securityProvider.getConfiguration(AuthorizationConfiguration.class);
@@ -64,6 +71,9 @@ public class PermissionValidatorProvider
this.workspaceName = workspaceName;
this.principals = principals;
this.moveTracker = moveTracker;
+
+ this.rootProvider = rootProvider;
+ this.treeProvider = treeProvider;
}
//--------------------------------------------------< ValidatorProvider
>---
@@ -71,7 +81,7 @@ public class PermissionValidatorProvider
@Override @Nonnull
public Validator getRootValidator(
NodeState before, NodeState after, CommitInfo info) {
- PermissionProvider pp =
acConfig.getPermissionProvider(RootFactory.createReadOnlyRoot(before),
workspaceName, principals);
+ PermissionProvider pp =
acConfig.getPermissionProvider(createReadOnlyRoot(before), workspaceName,
principals);
if (moveTracker.isEmpty()) {
return new PermissionValidator(before, after, pp, this);
} else {
@@ -100,4 +110,11 @@ public class PermissionValidatorProvider
return Permissions.includes(jr2Permissions, permission);
}
+ Root createReadOnlyRoot(@Nonnull NodeState nodeState) {
+ return rootProvider.createReadOnlyRoot(nodeState);
+ }
+
+ Tree createReadOnlyTree(@Nonnull NodeState nodeState) {
+ return treeProvider.createReadOnlyTree(nodeState);
+ }
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java
Wed Dec 13 17:30:38 2017
@@ -21,7 +21,6 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
-
import javax.annotation.Nonnull;
import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
@@ -68,7 +67,7 @@ public class PrivilegeConfigurationImpl
@Nonnull
@Override
public RepositoryInitializer getRepositoryInitializer() {
- return new PrivilegeInitializer();
+ return new PrivilegeInitializer(getRootProvider());
}
@Nonnull
@@ -80,7 +79,7 @@ public class PrivilegeConfigurationImpl
@Nonnull
@Override
public List<? extends ValidatorProvider> getValidators(@Nonnull String
workspaceName, @Nonnull Set<Principal> principals, @Nonnull MoveTracker
moveTracker) {
- return Collections.singletonList(new PrivilegeValidatorProvider());
+ return Collections.singletonList(new
PrivilegeValidatorProvider(getRootProvider()));
}
@Nonnull
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeInitializer.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeInitializer.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeInitializer.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeInitializer.java
Wed Dec 13 17:30:38 2017
@@ -23,9 +23,9 @@ import org.apache.jackrabbit.JcrConstant
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
-import org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants;
-import org.apache.jackrabbit.oak.plugins.tree.factories.RootFactory;
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
import org.apache.jackrabbit.oak.spi.lifecycle.RepositoryInitializer;
+import org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants;
import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants;
import org.apache.jackrabbit.oak.spi.state.ApplyDiff;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -46,6 +46,12 @@ class PrivilegeInitializer implements Re
private static final Logger log =
LoggerFactory.getLogger(PrivilegeInitializer.class);
+ private final RootProvider rootProvider;
+
+ PrivilegeInitializer(@Nonnull RootProvider rootProvider) {
+ this.rootProvider = rootProvider;
+ }
+
@Override
public void initialize(@Nonnull NodeBuilder builder) {
NodeBuilder system = builder.child(JcrConstants.JCR_SYSTEM);
@@ -59,7 +65,7 @@ class PrivilegeInitializer implements Re
NodeState base = squeeze(builder.getNodeState());
NodeStore store = new MemoryNodeStore(base);
try {
- Root systemRoot = RootFactory.createSystemRoot(store, null,
null, null, null);
+ Root systemRoot = rootProvider.createSystemRoot(store, null);
new
PrivilegeDefinitionWriter(systemRoot).writeBuiltInDefinitions();
} catch (RepositoryException e) {
log.error("Failed to register built-in privileges", e);
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidatorProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidatorProvider.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidatorProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidatorProvider.java
Wed Dec 13 17:30:38 2017
@@ -19,7 +19,7 @@ package org.apache.jackrabbit.oak.securi
import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.api.Root;
-import org.apache.jackrabbit.oak.plugins.tree.factories.RootFactory;
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.SubtreeValidator;
import org.apache.jackrabbit.oak.spi.commit.Validator;
@@ -36,6 +36,12 @@ import static org.apache.jackrabbit.oak.
*/
class PrivilegeValidatorProvider extends ValidatorProvider {
+ private final RootProvider rootProvider;
+
+ PrivilegeValidatorProvider(@Nonnull RootProvider rootProvider) {
+ this.rootProvider = rootProvider;
+ }
+
@Nonnull
@Override
public Validator getRootValidator(
@@ -45,6 +51,6 @@ class PrivilegeValidatorProvider extends
}
private Root createRoot(NodeState nodeState) {
- return RootFactory.createReadOnlyRoot(nodeState);
+ return rootProvider.createReadOnlyRoot(nodeState);
}
}
\ No newline at end of file
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheValidatorProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheValidatorProvider.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheValidatorProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheValidatorProvider.java
Wed Dec 13 17:30:38 2017
@@ -28,7 +28,7 @@ import org.apache.jackrabbit.oak.api.Com
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.plugins.nodetype.TypePredicate;
-import org.apache.jackrabbit.oak.plugins.tree.factories.TreeFactory;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.DefaultValidator;
import org.apache.jackrabbit.oak.spi.commit.Validator;
@@ -47,10 +47,12 @@ import static com.google.common.base.Pre
class CacheValidatorProvider extends ValidatorProvider implements
CacheConstants {
private final boolean isSystem;
+ private final TreeProvider treeProvider;
- CacheValidatorProvider(@Nonnull Set<Principal> principals) {
+ CacheValidatorProvider(@Nonnull Set<Principal> principals, @Nonnull
TreeProvider treeProvider) {
super();
isSystem = principals.contains(SystemPrincipal.INSTANCE);
+ this.treeProvider = treeProvider;
}
@CheckForNull
@@ -58,7 +60,7 @@ class CacheValidatorProvider extends Val
protected Validator getRootValidator(NodeState before, NodeState after,
CommitInfo info) {
TypePredicate cachePredicate = new TypePredicate(after, NT_REP_CACHE);
boolean isValidCommitInfo = CommitMarker.isValidCommitInfo(info);
- return new CacheValidator(TreeFactory.createReadOnlyTree(before),
TreeFactory.createReadOnlyTree(after), cachePredicate, isValidCommitInfo);
+ return new CacheValidator(treeProvider.createReadOnlyTree(before),
treeProvider.createReadOnlyTree(after), cachePredicate, isValidCommitInfo);
}
//--------------------------------------------------------------------------
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
Wed Dec 13 17:30:38 2017
@@ -206,7 +206,7 @@ public class UserConfigurationImpl exten
@Nonnull
@Override
public List<? extends ValidatorProvider> getValidators(@Nonnull String
workspaceName, @Nonnull Set<Principal> principals, @Nonnull MoveTracker
moveTracker) {
- return ImmutableList.of(new UserValidatorProvider(getParameters()),
new CacheValidatorProvider(principals));
+ return ImmutableList.of(new UserValidatorProvider(getParameters(),
getRootProvider(), getTreeProvider()), new CacheValidatorProvider(principals,
getTreeProvider()));
}
@Nonnull
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidatorProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidatorProvider.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidatorProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidatorProvider.java
Wed Dec 13 17:30:38 2017
@@ -18,27 +18,29 @@ package org.apache.jackrabbit.oak.securi
import javax.annotation.Nonnull;
-import org.apache.jackrabbit.oak.plugins.tree.factories.RootFactory;
-import org.apache.jackrabbit.oak.plugins.tree.factories.TreeFactory;
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.Validator;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import static com.google.common.base.Preconditions.checkNotNull;
-
/**
* Provides a validator for user and group management.
*/
class UserValidatorProvider extends ValidatorProvider {
private final ConfigurationParameters config;
+ private final RootProvider rootProvider;
+ private final TreeProvider treeProvider;
private MembershipProvider membershipProvider;
- UserValidatorProvider(ConfigurationParameters config) {
- this.config = checkNotNull(config);
+ UserValidatorProvider(@Nonnull ConfigurationParameters config, @Nonnull
RootProvider rootProvider, @Nonnull TreeProvider treeProvider) {
+ this.config = config;
+ this.rootProvider = rootProvider;
+ this.treeProvider = treeProvider;
}
//--------------------------------------------------< ValidatorProvider
>---
@@ -46,8 +48,8 @@ class UserValidatorProvider extends Vali
@Override @Nonnull
public Validator getRootValidator(
NodeState before, NodeState after, CommitInfo info) {
- membershipProvider = new
MembershipProvider(RootFactory.createReadOnlyRoot(after), config);
- return new UserValidator(TreeFactory.createReadOnlyTree(before),
TreeFactory.createReadOnlyTree(after), this);
+ membershipProvider = new
MembershipProvider(rootProvider.createReadOnlyRoot(after), config);
+ return new UserValidator(treeProvider.createReadOnlyTree(before),
treeProvider.createReadOnlyTree(after), this);
}
//-----------------------------------------------------------< internal
>---
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImplTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImplTest.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImplTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImplTest.java
Wed Dec 13 17:30:38 2017
@@ -40,6 +40,7 @@ public class TokenConfigurationImplTest
public void before() throws Exception {
super.before();
tc = new TokenConfigurationImpl(getSecurityProvider());
+ tc.setTreeProvider(getTreeProvider());
}
@Override
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorTest.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorTest.java
Wed Dec 13 17:30:38 2017
@@ -89,6 +89,10 @@ public class AccessControlValidatorTest
return new NodeUtil(root.getTree(testPath));
}
+ private AccessControlValidatorProvider createValidatorProvider() {
+ return new AccessControlValidatorProvider(getSecurityProvider(),
getRootProvider(), getTreeProvider());
+ }
+
private NodeUtil createAcl() throws AccessDeniedException {
NodeUtil testRoot = getTestRoot();
testRoot.setNames(JcrConstants.JCR_MIXINTYPES,
MIX_REP_ACCESS_CONTROLLABLE);
@@ -406,7 +410,7 @@ public class AccessControlValidatorTest
@Test
public void hiddenNodeAdded() throws CommitFailedException {
- AccessControlValidatorProvider provider = new
AccessControlValidatorProvider(getSecurityProvider());
+ AccessControlValidatorProvider provider = createValidatorProvider();
MemoryNodeStore store = new MemoryNodeStore();
NodeState root = store.getRoot();
NodeBuilder builder = root.builder();
@@ -425,7 +429,7 @@ public class AccessControlValidatorTest
@Test
public void hiddenNodeChanged() throws CommitFailedException {
- AccessControlValidatorProvider provider = new
AccessControlValidatorProvider(getSecurityProvider());
+ AccessControlValidatorProvider provider = createValidatorProvider();
MemoryNodeStore store = new MemoryNodeStore();
NodeBuilder builder = store.getRoot().builder();
builder.child("test").child(":hidden");
@@ -447,7 +451,7 @@ public class AccessControlValidatorTest
@Test
public void hiddenNodeDeleted() throws CommitFailedException {
- AccessControlValidatorProvider provider = new
AccessControlValidatorProvider(getSecurityProvider());
+ AccessControlValidatorProvider provider = createValidatorProvider();
MemoryNodeStore store = new MemoryNodeStore();
NodeBuilder builder = store.getRoot().builder();
builder.child("test").child(":hidden");
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/AbstractCompositeProviderTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/AbstractCompositeProviderTest.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/AbstractCompositeProviderTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/AbstractCompositeProviderTest.java
Wed Dec 13 17:30:38 2017
@@ -254,7 +254,7 @@ public abstract class AbstractCompositeP
String workspaceName = root.getContentSession().getWorkspaceName();
AuthorizationConfiguration config =
getConfig(AuthorizationConfiguration.class);
return new CompositePermissionProvider(root,
getAggregatedProviders(workspaceName, config, principals),
- config.getContext(), CompositionType.AND);
+ config.getContext(), CompositionType.AND, getRootProvider());
}
CompositePermissionProvider createPermissionProviderOR(Principal...
principals) {
@@ -265,7 +265,7 @@ public abstract class AbstractCompositeP
String workspaceName = root.getContentSession().getWorkspaceName();
AuthorizationConfiguration config =
getConfig(AuthorizationConfiguration.class);
return new CompositePermissionProvider(root,
getAggregatedProviders(workspaceName, config, principals),
- config.getContext(), CompositionType.OR);
+ config.getContext(), CompositionType.OR, getRootProvider());
}
@Test
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfigurationTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfigurationTest.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfigurationTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfigurationTest.java
Wed Dec 13 17:30:38 2017
@@ -43,12 +43,22 @@ public class CompositeAuthorizationConfi
private CompositeAuthorizationConfiguration
getCompositeConfiguration(AuthorizationConfiguration... entries) {
CompositeAuthorizationConfiguration compositeConfiguration = new
CompositeAuthorizationConfiguration(getSecurityProvider());
+ compositeConfiguration.setRootProvider(getRootProvider());
+ compositeConfiguration.setTreeProvider(getTreeProvider());
+
for (AuthorizationConfiguration ac : entries) {
compositeConfiguration.addConfiguration(ac);
}
return compositeConfiguration;
}
+ private AuthorizationConfigurationImpl
createAuthorizationConfigurationImpl() {
+ AuthorizationConfigurationImpl ac = new
AuthorizationConfigurationImpl(getSecurityProvider());
+ ac.setRootProvider(getRootProvider());
+ ac.setTreeProvider(getTreeProvider());
+ return ac;
+ }
+
@Test(expected = IllegalStateException.class)
public void testEmptyGetAccessControlManager() {
getCompositeConfiguration().getAccessControlManager(root,
NamePathMapper.DEFAULT);
@@ -66,7 +76,7 @@ public class CompositeAuthorizationConfi
@Test
public void testSingleGetAccessControlManager() {
- CompositeAuthorizationConfiguration cc = getCompositeConfiguration(new
AuthorizationConfigurationImpl(getSecurityProvider()));
+ CompositeAuthorizationConfiguration cc =
getCompositeConfiguration(createAuthorizationConfigurationImpl());
AccessControlManager accessControlManager =
cc.getAccessControlManager(root, NamePathMapper.DEFAULT);
assertFalse(accessControlManager instanceof
CompositeAccessControlManager);
@@ -74,7 +84,7 @@ public class CompositeAuthorizationConfi
@Test
public void testSingleGetPermissionProvider() {
- CompositeAuthorizationConfiguration cc = getCompositeConfiguration(new
AuthorizationConfigurationImpl(getSecurityProvider()));
+ CompositeAuthorizationConfiguration cc =
getCompositeConfiguration(createAuthorizationConfigurationImpl());
PermissionProvider pp = cc.getPermissionProvider(root,
root.getContentSession().getWorkspaceName(), Collections.<Principal>emptySet());
assertFalse(pp instanceof CompositePermissionProvider);
@@ -82,7 +92,7 @@ public class CompositeAuthorizationConfi
@Test
public void testSingleRestrictionProvider() {
- CompositeAuthorizationConfiguration cc = getCompositeConfiguration(new
AuthorizationConfigurationImpl(getSecurityProvider()));
+ CompositeAuthorizationConfiguration cc =
getCompositeConfiguration(createAuthorizationConfigurationImpl());
RestrictionProvider rp = cc.getRestrictionProvider();
assertFalse(rp instanceof CompositeRestrictionProvider);
@@ -91,8 +101,8 @@ public class CompositeAuthorizationConfi
@Test
public void testMultipleGetAccessControlManager() throws
RepositoryException {
CompositeAuthorizationConfiguration cc = getCompositeConfiguration(
- new AuthorizationConfigurationImpl(getSecurityProvider()),
- new AuthorizationConfigurationImpl(getSecurityProvider()));
+ createAuthorizationConfigurationImpl(),
+ createAuthorizationConfigurationImpl());
AccessControlManager accessControlManager =
cc.getAccessControlManager(root, NamePathMapper.DEFAULT);
assertTrue(accessControlManager instanceof
CompositeAccessControlManager);
@@ -102,7 +112,7 @@ public class CompositeAuthorizationConfi
public void testMultipleGetPermissionProvider() {
CompositeAuthorizationConfiguration cc = getCompositeConfiguration(
new OpenAuthorizationConfiguration(),
- new AuthorizationConfigurationImpl(getSecurityProvider()));
+ createAuthorizationConfigurationImpl());
PermissionProvider pp = cc.getPermissionProvider(root,
root.getContentSession().getWorkspaceName(), Collections.<Principal>emptySet());
assertFalse(pp instanceof CompositePermissionProvider);
@@ -111,8 +121,8 @@ public class CompositeAuthorizationConfi
@Test
public void testMultipleGetPermissionProvider2() {
CompositeAuthorizationConfiguration cc = getCompositeConfiguration(
- new AuthorizationConfigurationImpl(getSecurityProvider()),
- new AuthorizationConfigurationImpl(getSecurityProvider()));
+ createAuthorizationConfigurationImpl(),
+ createAuthorizationConfigurationImpl());
PermissionProvider pp = cc.getPermissionProvider(root,
root.getContentSession().getWorkspaceName(), Collections.<Principal>emptySet());
assertTrue(pp instanceof CompositePermissionProvider);
@@ -132,8 +142,8 @@ public class CompositeAuthorizationConfi
@Test
public void testMultipleRestrictionProvider() {
CompositeAuthorizationConfiguration cc = getCompositeConfiguration(
- new AuthorizationConfigurationImpl(getSecurityProvider()),
- new AuthorizationConfigurationImpl(getSecurityProvider()));
+ createAuthorizationConfigurationImpl(),
+ createAuthorizationConfigurationImpl());
RestrictionProvider rp = cc.getRestrictionProvider();
assertTrue(rp instanceof CompositeRestrictionProvider);
@@ -142,7 +152,7 @@ public class CompositeAuthorizationConfi
@Test
public void testMultipleWithEmptyRestrictionProvider() {
CompositeAuthorizationConfiguration cc = getCompositeConfiguration(
- new AuthorizationConfigurationImpl(getSecurityProvider()),
+ createAuthorizationConfigurationImpl(),
new OpenAuthorizationConfiguration() {
@Nonnull
@Override
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeProviderCustomMixTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeProviderCustomMixTest.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeProviderCustomMixTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeProviderCustomMixTest.java
Wed Dec 13 17:30:38 2017
@@ -232,7 +232,7 @@ public class CompositeProviderCustomMixT
AuthorizationConfiguration config =
getConfig(AuthorizationConfiguration.class);
List<AggregatedPermissionProvider> composite = ImmutableList.of(a1,
a2);
- return new CompositePermissionProvider(root, composite,
config.getContext(), type);
+ return new CompositePermissionProvider(root, composite,
config.getContext(), type, getRootProvider());
}
private static class CustomProvider implements
AggregatedPermissionProvider {
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeTreePermissionTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeTreePermissionTest.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeTreePermissionTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeTreePermissionTest.java
Wed Dec 13 17:30:38 2017
@@ -73,7 +73,7 @@ public class CompositeTreePermissionTest
}
private TreePermission
createRootTreePermission(AggregatedPermissionProvider... providers) {
- return new CompositePermissionProvider(readOnlyRoot,
Arrays.asList(providers), Context.DEFAULT, CompositionType.AND)
+ return new CompositePermissionProvider(readOnlyRoot,
Arrays.asList(providers), Context.DEFAULT, CompositionType.AND,
getRootProvider())
.getTreePermission(rootTree, TreePermission.EMPTY);
}
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImplTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImplTest.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImplTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImplTest.java
Wed Dec 13 17:30:38 2017
@@ -23,10 +23,12 @@ import com.google.common.collect.Immutab
import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
+import org.apache.jackrabbit.oak.plugins.tree.impl.RootProviderService;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
import org.apache.jackrabbit.oak.spi.commit.MoveTracker;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConfiguration;
+import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
@@ -38,6 +40,11 @@ public class PrivilegeConfigurationImplT
private final PrivilegeConfigurationImpl configuration = new
PrivilegeConfigurationImpl();
+ @Before
+ public void before() {
+ configuration.setRootProvider(new RootProviderService());
+ }
+
@Test
public void testGetName() {
assertEquals(PrivilegeConfiguration.NAME, configuration.getName());
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImplTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImplTest.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImplTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImplTest.java
Wed Dec 13 17:30:38 2017
@@ -59,6 +59,9 @@ public class UserConfigurationImplTest e
@Test
public void testValidators() {
UserConfigurationImpl configuration = new
UserConfigurationImpl(getSecurityProvider());
+ configuration.setRootProvider(getRootProvider());
+ configuration.setTreeProvider(getTreeProvider());
+
List<? extends ValidatorProvider> validators =
configuration.getValidators(adminSession.getWorkspaceName(),
Collections.<Principal>emptySet(), new MoveTracker());
assertEquals(2, validators.size());
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java?rev=1818045&r1=1818044&r2=1818045&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java
Wed Dec 13 17:30:38 2017
@@ -60,6 +60,10 @@ public class UserValidatorTest extends A
userPath = getTestUser().getPath();
}
+ private UserValidatorProvider createValidatorProvider() {
+ return new UserValidatorProvider(getConfig(), getRootProvider(),
getTreeProvider());
+ }
+
@Test
public void removePassword() throws Exception {
try {
@@ -341,7 +345,7 @@ public class UserValidatorTest extends A
@Test
public void hiddenNodeAdded() throws CommitFailedException {
- UserValidatorProvider provider = new
UserValidatorProvider(getConfig());
+ UserValidatorProvider provider = createValidatorProvider();
MemoryNodeStore store = new MemoryNodeStore();
NodeState root = store.getRoot();
NodeBuilder builder = root.builder();
@@ -361,7 +365,7 @@ public class UserValidatorTest extends A
@Test
public void hiddenNodeChanged() throws CommitFailedException {
- UserValidatorProvider provider = new
UserValidatorProvider(getConfig());
+ UserValidatorProvider provider = createValidatorProvider();
MemoryNodeStore store = new MemoryNodeStore();
NodeBuilder builder = store.getRoot().builder();
builder.child("test").child(":hidden");
@@ -384,7 +388,7 @@ public class UserValidatorTest extends A
@Test
public void hiddenNodeDeleted() throws CommitFailedException {
- UserValidatorProvider provider = new
UserValidatorProvider(getConfig());
+ UserValidatorProvider provider = createValidatorProvider();
MemoryNodeStore store = new MemoryNodeStore();
NodeBuilder builder = store.getRoot().builder();
builder.child("test").child(":hidden");