Author: stillalex
Date: Wed Nov 29 14:02:43 2017
New Revision: 1816629

URL: http://svn.apache.org/viewvc?rev=1816629&view=rev
Log:
OAK-6221 Deprecate SecurityProviderImpl


Added:
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderBuilder.java
   (with props)
Modified:
    
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/AbstractExternalAuthTest.java
    
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestSecurityProvider.java
    
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityImporterTest.java
    
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/AbstractCugTest.java
    
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManagerTest.java
    
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationTest.java
    
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugImportBaseTest.java
    
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugSecurityProvider.java
    jackrabbit/oak/trunk/oak-benchmarks/pom.xml
    
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractLoginTest.java
    
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/AddMembersTest.java
    
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CompositeAuthorizationTest.java
    
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CugTest.java
    
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/IsMemberTest.java
    
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/MemberBaseTest.java
    
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/RemoveMembersTest.java
    
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/SecurityProviderImpl.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/ChangeCollectorProviderTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImplTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProviderRandomTestIT.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserInitializerTest.java
    
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/ClusterPermissionsTest.java
    
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ImportIgnoreTest.java
    
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/AbstractImportTest.java
    jackrabbit/oak/trunk/oak-segment-tar/pom.xml
    
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/InitializerTest.java
    jackrabbit/oak/trunk/oak-store-document/pom.xml
    
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/InitializerTest.java

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/AbstractExternalAuthTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/AbstractExternalAuthTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/AbstractExternalAuthTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/AbstractExternalAuthTest.java
 Wed Nov 29 14:02:43 2017
@@ -136,7 +136,7 @@ public abstract class AbstractExternalAu
     @Override
     protected SecurityProvider getSecurityProvider() {
         if (securityProvider == null) {
-            securityProvider = new 
TestSecurityProvider(getSecurityConfigParameters(), 
externalPrincipalConfiguration);
+            securityProvider = 
TestSecurityProvider.newTestSecurityProvider(getSecurityConfigParameters(), 
externalPrincipalConfiguration);
 
             // register PrincipalConfiguration with OSGi context
             
context.registerInjectActivateService(externalPrincipalConfiguration);

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestSecurityProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestSecurityProvider.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestSecurityProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestSecurityProvider.java
 Wed Nov 29 14:02:43 2017
@@ -18,26 +18,29 @@ package org.apache.jackrabbit.oak.spi.se
 
 import javax.annotation.Nonnull;
 
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
+import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import 
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.principal.ExternalPrincipalConfiguration;
 import 
org.apache.jackrabbit.oak.spi.security.principal.CompositePrincipalConfiguration;
 import org.apache.jackrabbit.oak.spi.security.principal.PrincipalConfiguration;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+public class TestSecurityProvider {
 
-public class TestSecurityProvider extends SecurityProviderImpl {
+    public static SecurityProvider newTestSecurityProvider(@Nonnull 
ConfigurationParameters configuration,
+            @Nonnull ExternalPrincipalConfiguration 
externalPrincipalConfiguration) {
+        SecurityProvider delegate = new 
SecurityProviderBuilder().with(configuration).build();
 
-    public TestSecurityProvider(@Nonnull ConfigurationParameters 
configuration, @Nonnull ExternalPrincipalConfiguration 
externalPrincipalConfiguration) {
-        super(configuration);
-
-        PrincipalConfiguration principalConfiguration = 
getConfiguration(PrincipalConfiguration.class);
+        PrincipalConfiguration principalConfiguration = 
delegate.getConfiguration(PrincipalConfiguration.class);
         if (!(principalConfiguration instanceof 
CompositePrincipalConfiguration)) {
             throw new IllegalStateException();
         } else {
-            PrincipalConfiguration defConfig = 
checkNotNull(((CompositePrincipalConfiguration) 
principalConfiguration).getDefaultConfig());
-            bindPrincipalConfiguration(externalPrincipalConfiguration);
-            bindPrincipalConfiguration(defConfig);
+            externalPrincipalConfiguration.setSecurityProvider(delegate);
+            CompositePrincipalConfiguration composite = 
(CompositePrincipalConfiguration) principalConfiguration;
+            PrincipalConfiguration defConfig = composite.getDefaultConfig();
+            composite.addConfiguration(externalPrincipalConfiguration);
+            composite.addConfiguration(defConfig);
         }
+        return delegate;
     }
 }
\ No newline at end of file

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityImporterTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityImporterTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityImporterTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityImporterTest.java
 Wed Nov 29 14:02:43 2017
@@ -78,7 +78,8 @@ public class ExternalIdentityImporterTes
 
     @Before
     public void before() throws Exception {
-        securityProvider = new 
TestSecurityProvider(getConfigurationParameters(), new 
ExternalPrincipalConfiguration());
+        securityProvider = 
TestSecurityProvider.newTestSecurityProvider(getConfigurationParameters(),
+                new ExternalPrincipalConfiguration());
         QueryEngineSettings queryEngineSettings = new QueryEngineSettings();
         queryEngineSettings.setFailTraversal(true);
 

Modified: 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/AbstractCugTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/AbstractCugTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/AbstractCugTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/AbstractCugTest.java
 Wed Nov 29 14:02:43 2017
@@ -137,7 +137,7 @@ public class AbstractCugTest extends Abs
     @Override
     protected SecurityProvider getSecurityProvider() {
         if (securityProvider == null) {
-            securityProvider = new 
CugSecurityProvider(getSecurityConfigParameters());
+            securityProvider = 
CugSecurityProvider.newTestSecurityProvider(getSecurityConfigParameters());
         }
         return securityProvider;
     }

Modified: 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManagerTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManagerTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManagerTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManagerTest.java
 Wed Nov 29 14:02:43 2017
@@ -224,7 +224,7 @@ public class CugAccessControlManagerTest
         ConfigurationParameters config = 
ConfigurationParameters.of(AuthorizationConfiguration.NAME, 
ConfigurationParameters.of(
                     CugConstants.PARAM_CUG_SUPPORTED_PATHS, SUPPORTED_PATHS,
                     CugConstants.PARAM_CUG_ENABLED, false));
-        CugAccessControlManager acMgr = new CugAccessControlManager(root, 
NamePathMapper.DEFAULT, new CugSecurityProvider(config), 
ImmutableSet.copyOf(SUPPORTED_PATHS));
+        CugAccessControlManager acMgr = new CugAccessControlManager(root, 
NamePathMapper.DEFAULT, CugSecurityProvider.newTestSecurityProvider(config), 
ImmutableSet.copyOf(SUPPORTED_PATHS));
         AccessControlPolicy[] policies = 
acMgr.getEffectivePolicies(SUPPORTED_PATH);
         assertEquals(0, policies.length);
 

Modified: 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationTest.java
 Wed Nov 29 14:02:43 2017
@@ -50,7 +50,7 @@ import static org.junit.Assert.assertTru
 public class CugConfigurationTest extends AbstractSecurityTest {
 
     private static CugConfiguration 
createConfiguration(ConfigurationParameters params) {
-        SecurityProvider sp = new 
CugSecurityProvider(ConfigurationParameters.EMPTY);
+        SecurityProvider sp = 
CugSecurityProvider.newTestSecurityProvider(ConfigurationParameters.EMPTY);
         CugConfiguration cugConfiguration = new CugConfiguration();
         cugConfiguration.setSecurityProvider(sp);
         cugConfiguration.activate(params);

Modified: 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugImportBaseTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugImportBaseTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugImportBaseTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugImportBaseTest.java
 Wed Nov 29 14:02:43 2017
@@ -107,7 +107,7 @@ public abstract class CugImportBaseTest
     @Before
     public void before() throws Exception {
         ConfigurationParameters config = getConfigurationParameters();
-        SecurityProvider securityProvider = new CugSecurityProvider(config);
+        SecurityProvider securityProvider = 
CugSecurityProvider.newTestSecurityProvider(config);
         QueryEngineSettings queryEngineSettings = new QueryEngineSettings();
         queryEngineSettings.setFailTraversal(true);
 

Modified: 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugSecurityProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugSecurityProvider.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugSecurityProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugSecurityProvider.java
 Wed Nov 29 14:02:43 2017
@@ -16,29 +16,35 @@
  */
 package org.apache.jackrabbit.oak.spi.security.authorization.cug.impl;
 
+import static com.google.common.base.Preconditions.checkNotNull;
+
 import javax.annotation.Nonnull;
 
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
 import 
org.apache.jackrabbit.oak.security.authorization.composite.CompositeAuthorizationConfiguration;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
+import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import 
org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+final class CugSecurityProvider {
 
-final class CugSecurityProvider extends SecurityProviderImpl {
-    public CugSecurityProvider(@Nonnull ConfigurationParameters configuration) 
{
-        super(configuration);
+    public static SecurityProvider newTestSecurityProvider(@Nonnull 
ConfigurationParameters configuration) {
+        SecurityProvider delegate = new 
SecurityProviderBuilder().with(configuration).build();
 
-        AuthorizationConfiguration authorizationConfiguration = 
getConfiguration(AuthorizationConfiguration.class);
+        AuthorizationConfiguration authorizationConfiguration = delegate
+                .getConfiguration(AuthorizationConfiguration.class);
         if (!(authorizationConfiguration instanceof 
CompositeAuthorizationConfiguration)) {
             throw new IllegalStateException();
         } else {
             CugConfiguration cugConfiguration = new CugConfiguration();
-            cugConfiguration.setSecurityProvider(this);
+            cugConfiguration.setSecurityProvider(delegate);
             
cugConfiguration.activate(configuration.getConfigValue(AuthorizationConfiguration.NAME,
 ConfigurationParameters.EMPTY));
-            AuthorizationConfiguration defConfig = 
checkNotNull(((CompositeAuthorizationConfiguration) 
authorizationConfiguration).getDefaultConfig());
-            bindAuthorizationConfiguration(cugConfiguration);
-            bindAuthorizationConfiguration(defConfig);
+
+            CompositeAuthorizationConfiguration composite = 
(CompositeAuthorizationConfiguration) authorizationConfiguration;
+            AuthorizationConfiguration defConfig = 
checkNotNull(composite.getDefaultConfig());
+            composite.addConfiguration(cugConfiguration);
+            composite.addConfiguration(defConfig);
         }
+        return delegate;
     }
 }
\ No newline at end of file

Modified: jackrabbit/oak/trunk/oak-benchmarks/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/pom.xml?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-benchmarks/pom.xml Wed Nov 29 14:02:43 2017
@@ -135,6 +135,12 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>oak-core</artifactId>
+            <version>${project.version}</version>
+            <classifier>tests</classifier>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-solr-core</artifactId>
             <version>${project.version}</version>
         </dependency>

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractLoginTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractLoginTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractLoginTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractLoginTest.java
 Wed Nov 29 14:02:43 2017
@@ -34,7 +34,7 @@ import org.apache.jackrabbit.oak.fixture
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
 import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.authentication.ConfigurationUtil;
@@ -143,7 +143,7 @@ abstract class AbstractLoginTest extends
                                     UserConfiguration.NAME, 
ConfigurationParameters.of(iterations, cache));
                         }
                         conf = prepare(conf);
-                        SecurityProvider sp = new SecurityProviderImpl(conf);
+                        SecurityProvider sp = new 
SecurityProviderBuilder().with(conf).build();
                         return new Jcr(oak).with(sp);
                     }
                 });

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/AddMembersTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/AddMembersTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/AddMembersTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/AddMembersTest.java
 Wed Nov 29 14:02:43 2017
@@ -34,7 +34,7 @@ import org.apache.jackrabbit.oak.fixture
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
 import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl;
@@ -135,7 +135,9 @@ public class AddMembersTest extends Abst
             return ((OakRepositoryFixture) fixture).setUpCluster(1, new 
JcrCreator() {
                 @Override
                 public Jcr customize(Oak oak) {
-                    SecurityProvider sp = new 
SecurityProviderImpl(ConfigurationParameters.of(UserConfiguration.NAME, 
ConfigurationParameters.of(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR, 
importBehavior)));
+                    ConfigurationParameters config = 
ConfigurationParameters.of(UserConfiguration.NAME,
+                            
ConfigurationParameters.of(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR, 
importBehavior));
+                    SecurityProvider sp = new 
SecurityProviderBuilder().with(config).build();
                     return new Jcr(oak).with(sp);
                 }
             });

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CompositeAuthorizationTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CompositeAuthorizationTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CompositeAuthorizationTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CompositeAuthorizationTest.java
 Wed Nov 29 14:02:43 2017
@@ -37,8 +37,8 @@ import org.apache.jackrabbit.oak.namepat
 import org.apache.jackrabbit.oak.plugins.tree.factories.RootFactory;
 import org.apache.jackrabbit.oak.plugins.tree.TreeLocation;
 import org.apache.jackrabbit.oak.plugins.tree.TreeType;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
 import 
org.apache.jackrabbit.oak.security.authorization.composite.CompositeAuthorizationConfiguration;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.commit.CommitHook;
 import org.apache.jackrabbit.oak.spi.commit.MoveTracker;
 import org.apache.jackrabbit.oak.spi.commit.ThreeWayConflictHandler;
@@ -47,6 +47,7 @@ import org.apache.jackrabbit.oak.spi.lif
 import org.apache.jackrabbit.oak.spi.lifecycle.WorkspaceInitializer;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.Context;
+import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import 
org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration;
 import 
org.apache.jackrabbit.oak.spi.security.authorization.permission.AggregatedPermissionProvider;
 import 
org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider;
@@ -79,7 +80,7 @@ public class CompositeAuthorizationTest
             return ((OakRepositoryFixture) fixture).setUpCluster(1, new 
JcrCreator() {
                 @Override
                 public Jcr customize(Oak oak) {
-                    return new Jcr(oak).with(new TmpSecurityProvider(cnt));
+                    return new Jcr(oak).with(newTestSecurityProvider(cnt));
                 }
             });
         } else {
@@ -87,22 +88,22 @@ public class CompositeAuthorizationTest
         }
     }
 
-    private static final class TmpSecurityProvider extends 
SecurityProviderImpl {
+    private static SecurityProvider newTestSecurityProvider(int cnt) {
+        SecurityProvider delegate = new SecurityProviderBuilder().build();
 
-        private TmpSecurityProvider(int cnt) {
-            super();
-
-            AuthorizationConfiguration authorizationConfiguration = 
getConfiguration(AuthorizationConfiguration.class);
-            if (!(authorizationConfiguration instanceof 
CompositeAuthorizationConfiguration)) {
-                throw new IllegalStateException();
-            } else {
-                final AuthorizationConfiguration defConfig = 
checkNotNull(((CompositeAuthorizationConfiguration) 
authorizationConfiguration).getDefaultConfig());
-                for (int i = 0; i < cnt; i++) {
-                    bindAuthorizationConfiguration(new 
TmpAuthorizationConfig(defConfig));
-                }
-                bindAuthorizationConfiguration(defConfig);
+        AuthorizationConfiguration authorizationConfiguration = delegate
+                .getConfiguration(AuthorizationConfiguration.class);
+        if (!(authorizationConfiguration instanceof 
CompositeAuthorizationConfiguration)) {
+            throw new IllegalStateException();
+        } else {
+            CompositeAuthorizationConfiguration composite = 
(CompositeAuthorizationConfiguration) authorizationConfiguration;
+            final AuthorizationConfiguration defConfig = 
checkNotNull(composite.getDefaultConfig());
+            for (int i = 0; i < cnt; i++) {
+                composite.addConfiguration(new 
TmpAuthorizationConfig(defConfig));
             }
+            composite.addConfiguration(defConfig);
         }
+        return delegate;
     }
 
     private static final class TmpAuthorizationConfig implements 
AuthorizationConfiguration {

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CugTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CugTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CugTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CugTest.java
 Wed Nov 29 14:02:43 2017
@@ -25,8 +25,8 @@ import org.apache.jackrabbit.oak.fixture
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
 import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
 import 
org.apache.jackrabbit.oak.security.authorization.composite.CompositeAuthorizationConfiguration;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import 
org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration;
@@ -78,23 +78,22 @@ public class CugTest extends ReadDeepTre
     }
 
     protected SecurityProvider createSecurityProvider() {
-        return new TmpSecurityProvider(params, reverseOrder);
+        return newTestSecurityProvider(params, reverseOrder);
     }
 
-    private static final class TmpSecurityProvider extends 
SecurityProviderImpl {
-
-        private TmpSecurityProvider(@Nonnull ConfigurationParameters params, 
boolean reverseOrder) {
-            super(params);
-
-            AuthorizationConfiguration authorizationConfiguration = 
getConfiguration(AuthorizationConfiguration.class);
-            AuthorizationConfiguration defaultAuthorization = 
checkNotNull(((CompositeAuthorizationConfiguration) 
authorizationConfiguration).getDefaultConfig());
-            if (reverseOrder) {
-                bindAuthorizationConfiguration(defaultAuthorization);
-                bindAuthorizationConfiguration(new CugConfiguration(this));
-            } else {
-                bindAuthorizationConfiguration(new CugConfiguration(this));
-                bindAuthorizationConfiguration(defaultAuthorization);
-            }
+    private static SecurityProvider newTestSecurityProvider(@Nonnull 
ConfigurationParameters params,
+            boolean reverseOrder) {
+        SecurityProvider delegate = new 
SecurityProviderBuilder().with(params).build();
+        CompositeAuthorizationConfiguration authorizationConfiguration = 
(CompositeAuthorizationConfiguration) delegate
+                .getConfiguration((AuthorizationConfiguration.class));
+        AuthorizationConfiguration defaultAuthorization = 
checkNotNull(authorizationConfiguration.getDefaultConfig());
+        if (reverseOrder) {
+            authorizationConfiguration.addConfiguration(defaultAuthorization);
+            authorizationConfiguration.addConfiguration(new 
CugConfiguration(delegate));
+        } else {
+            authorizationConfiguration.addConfiguration(new 
CugConfiguration(delegate));
+            authorizationConfiguration.addConfiguration(defaultAuthorization);
         }
+        return delegate;
     }
 }
\ No newline at end of file

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/IsMemberTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/IsMemberTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/IsMemberTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/IsMemberTest.java
 Wed Nov 29 14:02:43 2017
@@ -34,7 +34,7 @@ import org.apache.jackrabbit.oak.fixture
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
 import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl;
@@ -139,7 +139,10 @@ public class IsMemberTest extends Abstra
             return ((OakRepositoryFixture) fixture).setUpCluster(1, new 
JcrCreator() {
                 @Override
                 public Jcr customize(Oak oak) {
-                    SecurityProvider sp = new 
SecurityProviderImpl(ConfigurationParameters.of(UserConfiguration.NAME, 
ConfigurationParameters.of(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR, 
ImportBehavior.NAME_BESTEFFORT)));
+                    ConfigurationParameters conf = 
ConfigurationParameters.of(UserConfiguration.NAME,
+                            
ConfigurationParameters.of(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR,
+                                    ImportBehavior.NAME_BESTEFFORT));
+                    SecurityProvider sp = new 
SecurityProviderBuilder().with(conf).build();
                     return new Jcr(oak).with(sp);
                 }
             });

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/MemberBaseTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/MemberBaseTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/MemberBaseTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/MemberBaseTest.java
 Wed Nov 29 14:02:43 2017
@@ -36,7 +36,7 @@ import org.apache.jackrabbit.oak.fixture
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
 import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl;
@@ -162,8 +162,9 @@ abstract class MemberBaseTest extends Ab
             return ((OakRepositoryFixture) fixture).setUpCluster(1, new 
JcrCreator() {
                 @Override
                 public Jcr customize(Oak oak) {
-                    SecurityProvider sp = new 
SecurityProviderImpl(ConfigurationParameters.of(UserConfiguration.NAME,
-                            
ConfigurationParameters.of(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR, 
ImportBehavior.NAME_BESTEFFORT)));
+                    ConfigurationParameters conf = 
ConfigurationParameters.of(UserConfiguration.NAME,
+                            
ConfigurationParameters.of(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR, 
ImportBehavior.NAME_BESTEFFORT));
+                    SecurityProvider sp = new 
SecurityProviderBuilder().with(conf).build();
                     return new Jcr(oak).with(sp);
                 }
             });

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/RemoveMembersTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/RemoveMembersTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/RemoveMembersTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/RemoveMembersTest.java
 Wed Nov 29 14:02:43 2017
@@ -34,7 +34,7 @@ import org.apache.jackrabbit.oak.fixture
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
 import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl;
@@ -133,8 +133,10 @@ public class RemoveMembersTest extends A
             return ((OakRepositoryFixture) fixture).setUpCluster(1, new 
JcrCreator() {
                 @Override
                 public Jcr customize(Oak oak) {
-                    SecurityProvider sp = new 
SecurityProviderImpl(ConfigurationParameters.of(UserConfiguration.NAME,
-                            
ConfigurationParameters.of(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR, 
ImportBehavior.NAME_BESTEFFORT)));
+                    ConfigurationParameters conf = 
ConfigurationParameters.of(UserConfiguration.NAME,
+                            
ConfigurationParameters.of(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR,
+                                    ImportBehavior.NAME_BESTEFFORT));
+                    SecurityProvider sp = new 
SecurityProviderBuilder().with(conf).build();
                     return new Jcr(oak).with(sp);
                 }
             });

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java
 Wed Nov 29 14:02:43 2017
@@ -43,8 +43,7 @@ import org.apache.jackrabbit.oak.fixture
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
 import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
-import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import 
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup;
 import 
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentity;
@@ -71,7 +70,6 @@ import org.apache.jackrabbit.oak.spi.whi
 import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils;
 import org.apache.sling.testing.mock.osgi.context.OsgiContextImpl;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 
 /**
@@ -97,7 +95,7 @@ abstract class AbstractExternalTest exte
     private final ExternalPrincipalConfiguration 
externalPrincipalConfiguration = new ExternalPrincipalConfiguration();
 
     private ContentRepository contentRepository;
-    private final SecurityProvider securityProvider = new 
TestSecurityProvider(ConfigurationParameters.EMPTY);
+    private final SecurityProvider securityProvider = 
newTestSecurityProvider(externalPrincipalConfiguration);
 
     final DefaultSyncConfig syncConfig = new DefaultSyncConfig();
     final SyncHandler syncHandler = new DefaultSyncHandler(syncConfig);
@@ -236,18 +234,21 @@ abstract class AbstractExternalTest exte
         }
     }
 
-    private final class TestSecurityProvider extends SecurityProviderImpl {
-        public TestSecurityProvider(@Nonnull ConfigurationParameters 
configuration) {
-            super(configuration);
-            PrincipalConfiguration principalConfiguration = 
getConfiguration(PrincipalConfiguration.class);
-            if (!(principalConfiguration instanceof 
CompositePrincipalConfiguration)) {
-                throw new IllegalStateException();
-            } else {
-                PrincipalConfiguration defConfig = 
checkNotNull(((CompositePrincipalConfiguration) 
principalConfiguration).getDefaultConfig());
-                bindPrincipalConfiguration(externalPrincipalConfiguration);
-                bindPrincipalConfiguration(defConfig);
-            }
+    private static SecurityProvider newTestSecurityProvider(
+            ExternalPrincipalConfiguration externalPrincipalConfiguration) {
+        SecurityProvider delegate = new SecurityProviderBuilder().build();
+
+        PrincipalConfiguration principalConfiguration = 
delegate.getConfiguration(PrincipalConfiguration.class);
+        if (!(principalConfiguration instanceof 
CompositePrincipalConfiguration)) {
+            throw new IllegalStateException();
+        } else {
+            externalPrincipalConfiguration.setSecurityProvider(delegate);
+            CompositePrincipalConfiguration composite = 
(CompositePrincipalConfiguration) principalConfiguration;
+            PrincipalConfiguration defConfig = composite.getDefaultConfig();
+            composite.addConfiguration(externalPrincipalConfiguration);
+            composite.addConfiguration(defConfig);
         }
+        return delegate;
     }
 
     class TestIdentityProvider implements ExternalIdentityProvider {

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/SecurityProviderImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/SecurityProviderImpl.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/SecurityProviderImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/SecurityProviderImpl.java
 Wed Nov 29 14:02:43 2017
@@ -55,6 +55,7 @@ import java.util.Set;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
+@Deprecated
 public class SecurityProviderImpl implements SecurityProvider, WhiteboardAware 
{
 
     private volatile AuthenticationConfiguration authenticationConfiguration;

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java
 Wed Nov 29 14:02:43 2017
@@ -54,7 +54,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.value.jcr.ValueFactoryImpl;
 import org.apache.jackrabbit.oak.plugins.version.VersionHook;
 import org.apache.jackrabbit.oak.query.QueryEngineSettings;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.authentication.ConfigurationUtil;
@@ -133,7 +133,7 @@ public abstract class AbstractSecurityTe
     }
 
     protected SecurityProvider initSecurityProvider() {
-        return new SecurityProviderImpl(getSecurityConfigParameters());
+        return new 
SecurityProviderBuilder().with(getSecurityConfigParameters()).build();
     }
 
     protected Oak withEditors(Oak oak) {

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/ChangeCollectorProviderTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/ChangeCollectorProviderTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/ChangeCollectorProviderTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/ChangeCollectorProviderTest.java
 Wed Nov 29 14:02:43 2017
@@ -48,13 +48,12 @@ import org.apache.jackrabbit.oak.api.Roo
 import org.apache.jackrabbit.oak.api.Tree;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.InitialContent;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.commit.CommitContext;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.Observer;
 import org.apache.jackrabbit.oak.spi.commit.SimpleCommitContext;
 import org.apache.jackrabbit.oak.spi.observation.ChangeSet;
-import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.authentication.SystemSubject;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -71,7 +70,7 @@ public class ChangeCollectorProviderTest
     private ContentRepository contentRepository;
     private ContentSession session;
     private Recorder recorder;
-    private SecurityProviderImpl securityProvider;
+    private SecurityProvider securityProvider;
 
     class ContentChange {
         final NodeState root;
@@ -95,7 +94,7 @@ public class ChangeCollectorProviderTest
 
     protected SecurityProvider getSecurityProvider() {
         if (securityProvider == null) {
-            securityProvider = new 
SecurityProviderImpl(ConfigurationParameters.EMPTY);
+            securityProvider = new SecurityProviderBuilder().build();
         }
         return securityProvider;
     }

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplTest.java
 Wed Nov 29 14:02:43 2017
@@ -17,7 +17,7 @@
 package org.apache.jackrabbit.oak.security.authentication;
 
 import org.apache.jackrabbit.oak.api.ContentRepository;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import 
org.apache.jackrabbit.oak.spi.security.authentication.AuthenticationConfiguration;
 import org.apache.jackrabbit.oak.spi.whiteboard.DefaultWhiteboard;
@@ -46,7 +46,7 @@ public class AuthenticationConfiguration
 
     @Test
     public void testGetLoginCtxProvider() {
-        authConfiguration.setSecurityProvider(new SecurityProviderImpl());
+        authConfiguration.setSecurityProvider(new 
SecurityProviderBuilder().build());
 
         assertNotNull(authConfiguration.getLoginContextProvider(repo));
     }

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImplTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImplTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImplTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImplTest.java
 Wed Nov 29 14:02:43 2017
@@ -44,7 +44,7 @@ import org.apache.jackrabbit.oak.api.Aut
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.ContentSession;
 import org.apache.jackrabbit.oak.api.Root;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.authentication.Authentication;
@@ -394,7 +394,7 @@ public class LoginModuleImplTest extends
                     UserConfiguration.NAME,
                     ConfigurationParameters.of(
                             UserConstants.PARAM_USER_AUTHENTICATION_FACTORY, 
authenticationFactory));
-            this.sp = new SecurityProviderImpl(params);
+            this.sp = new SecurityProviderBuilder().with(params).build();
         }
 
         @Override

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProviderRandomTestIT.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProviderRandomTestIT.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProviderRandomTestIT.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProviderRandomTestIT.java
 Wed Nov 29 14:02:43 2017
@@ -22,11 +22,12 @@ import java.util.Set;
 import javax.annotation.Nonnull;
 
 import org.apache.jackrabbit.oak.api.Root;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
 import 
org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl;
 import 
org.apache.jackrabbit.oak.security.authorization.composite.CompositeAuthorizationConfiguration;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
 import org.apache.jackrabbit.oak.spi.mount.Mounts;
+import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import 
org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration;
 import 
org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider;
 import org.junit.Assert;
@@ -54,7 +55,7 @@ public class MountPermissionProviderRand
     @Override
     protected PermissionProvider candidatePermissionProvider(@Nonnull Root 
root, @Nonnull String workspaceName,
             @Nonnull Set<Principal> principals) {
-        SecurityProviderImpl sp = new SecurityProviderImpl();
+        SecurityProvider sp = new SecurityProviderBuilder().build();
         AuthorizationConfiguration acConfig = 
sp.getConfiguration(AuthorizationConfiguration.class);
         Assert.assertTrue(acConfig instanceof 
CompositeAuthorizationConfiguration);
         ((AuthorizationConfigurationImpl) 
((CompositeAuthorizationConfiguration) acConfig).getDefaultConfig())

Added: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderBuilder.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderBuilder.java?rev=1816629&view=auto
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderBuilder.java
 (added)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderBuilder.java
 Wed Nov 29 14:02:43 2017
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.oak.security.internal;
+
+import javax.annotation.Nonnull;
+
+import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
+import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+public class SecurityProviderBuilder {
+
+    private ConfigurationParameters configuration = null;
+
+    public SecurityProviderBuilder with(@Nonnull ConfigurationParameters 
configuration) {
+        this.configuration = checkNotNull(configuration);
+        return this;
+    }
+
+    public SecurityProvider build() {
+        if (configuration != null) {
+            return new SecurityProviderImpl(configuration);
+        } else {
+            return new SecurityProviderImpl();
+        }
+    }
+}

Propchange: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserInitializerTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserInitializerTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserInitializerTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserInitializerTest.java
 Wed Nov 29 14:02:43 2017
@@ -40,7 +40,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexProvider;
 import org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider;
 import org.apache.jackrabbit.oak.InitialContent;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.authentication.SystemSubject;
@@ -150,7 +150,7 @@ public class UserInitializerTest extends
         userParams.put(UserConstants.PARAM_OMIT_ADMIN_PW, true);
 
         ConfigurationParameters params = 
ConfigurationParameters.of(UserConfiguration.NAME, 
ConfigurationParameters.of(userParams));
-        SecurityProvider sp = new SecurityProviderImpl(params);
+        SecurityProvider sp = new 
SecurityProviderBuilder().with(params).build();
         final ContentRepository repo = new Oak().with(new InitialContent())
                 .with(new PropertyIndexEditorProvider())
                 .with(new PropertyIndexProvider())
@@ -201,7 +201,7 @@ public class UserInitializerTest extends
         userParams.put(UserConstants.PARAM_ANONYMOUS_ID, "");
 
         ConfigurationParameters params = 
ConfigurationParameters.of(UserConfiguration.NAME, 
ConfigurationParameters.of(userParams));
-        SecurityProvider sp = new SecurityProviderImpl(params);
+        SecurityProvider sp = new 
SecurityProviderBuilder().with(params).build();
         final ContentRepository repo = new Oak().with(new InitialContent())
                 .with(new PropertyIndexEditorProvider())
                 .with(new PropertyIndexProvider())

Modified: 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/ClusterPermissionsTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/ClusterPermissionsTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/ClusterPermissionsTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/ClusterPermissionsTest.java
 Wed Nov 29 14:02:43 2017
@@ -51,7 +51,7 @@ import org.apache.jackrabbit.oak.plugins
 import 
org.apache.jackrabbit.oak.plugins.index.reference.ReferenceIndexProvider;
 import org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider;
 import org.apache.jackrabbit.oak.InitialContent;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.blob.MemoryBlobStore;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
@@ -102,7 +102,7 @@ public class ClusterPermissionsTest {
                 .with(new PropertyIndexEditorProvider())
                 .with(new PropertyIndexProvider())
                 .with(new TypeEditorProvider())
-                .with(securityProvider1 = new 
SecurityProviderImpl(getSecurityConfigParameters()));
+                .with(securityProvider1 = new 
SecurityProviderBuilder().with(getSecurityConfigParameters()).build());
         contentRepository1 = oak.createContentRepository();
         adminSession1 = login1(getAdminCredentials());
         root1 = adminSession1.getLatestRoot();
@@ -119,7 +119,7 @@ public class ClusterPermissionsTest {
                 .with(new PropertyIndexEditorProvider())
                 .with(new PropertyIndexProvider())
                 .with(new TypeEditorProvider())
-                .with(securityProvider2 = new 
SecurityProviderImpl(getSecurityConfigParameters()));
+                .with(securityProvider2 = new 
SecurityProviderBuilder().with(getSecurityConfigParameters()).build());
 
         contentRepository2 = oak.createContentRepository();
         adminSession2 = login2(getAdminCredentials());

Modified: 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ImportIgnoreTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ImportIgnoreTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ImportIgnoreTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ImportIgnoreTest.java
 Wed Nov 29 14:02:43 2017
@@ -33,7 +33,7 @@ import javax.jcr.security.AccessControlP
 
 import org.apache.jackrabbit.oak.jcr.Jcr;
 import org.apache.jackrabbit.oak.query.QueryEngineSettings;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import 
org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration;
@@ -81,9 +81,9 @@ public class ImportIgnoreTest {
             params.put(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR, 
getImportBehavior());
             ConfigurationParameters config = 
ConfigurationParameters.of(AuthorizationConfiguration.NAME, 
ConfigurationParameters.of(params));
 
-            securityProvider = new SecurityProviderImpl(config);
+            securityProvider = new 
SecurityProviderBuilder().with(config).build();
         } else {
-            securityProvider = new SecurityProviderImpl();
+            securityProvider = new SecurityProviderBuilder().build();
         }
 
         QueryEngineSettings queryEngineSettings = new QueryEngineSettings();

Modified: 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/AbstractImportTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/AbstractImportTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/AbstractImportTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/AbstractImportTest.java
 Wed Nov 29 14:02:43 2017
@@ -38,7 +38,7 @@ import org.apache.jackrabbit.api.securit
 import org.apache.jackrabbit.api.security.user.UserManager;
 import org.apache.jackrabbit.oak.jcr.Jcr;
 import org.apache.jackrabbit.oak.query.QueryEngineSettings;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl;
@@ -74,9 +74,9 @@ public abstract class AbstractImportTest
     public void before() throws Exception {
         ConfigurationParameters config = getConfigurationParameters();
         if (config != null) {
-            securityProvider = new SecurityProviderImpl(config);
+            securityProvider = new 
SecurityProviderBuilder().with(config).build();
         } else {
-            securityProvider = new SecurityProviderImpl();
+            securityProvider = new SecurityProviderBuilder().build();
         }
         QueryEngineSettings queryEngineSettings = new QueryEngineSettings();
         queryEngineSettings.setFailTraversal(true);

Modified: jackrabbit/oak/trunk/oak-segment-tar/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/pom.xml?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/pom.xml Wed Nov 29 14:02:43 2017
@@ -366,6 +366,12 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
-
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>oak-core</artifactId>
+            <version>${project.version}</version>
+            <classifier>tests</classifier>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/InitializerTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/InitializerTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/InitializerTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/InitializerTest.java
 Wed Nov 29 14:02:43 2017
@@ -26,12 +26,13 @@ import org.apache.jackrabbit.oak.api.Com
 import org.apache.jackrabbit.oak.InitialContent;
 import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
 import org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexProvider;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.segment.memory.MemoryStore;
 import org.apache.jackrabbit.oak.spi.lifecycle.WorkspaceInitializer;
 import org.apache.jackrabbit.oak.spi.query.CompositeQueryIndexProvider;
 import org.apache.jackrabbit.oak.spi.query.QueryIndexProviderAware;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
+import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
@@ -46,13 +47,13 @@ public class InitializerTest {
         NodeBuilder builder = store.getRoot().builder();
         new InitialContent().initialize(builder);
 
-        SecurityProviderImpl provider = new SecurityProviderImpl(
+        SecurityProvider provider = new SecurityProviderBuilder().with(
                 
ConfigurationParameters.of(ImmutableMap.of(UserConfiguration.NAME,
                         
ConfigurationParameters.of(ImmutableMap.of("anonymousId", "anonymous",
                                 "adminId", "admin",
                                 "usersPath", "/home/users",
                                 "groupsPath", "/home/groups",
-                                "defaultDepth", "1")))));
+                                "defaultDepth", "1"))))).build();
         WorkspaceInitializer workspaceInitializer = 
provider.getConfiguration(UserConfiguration.class).getWorkspaceInitializer();
 
         if (workspaceInitializer instanceof QueryIndexProviderAware) {

Modified: jackrabbit/oak/trunk/oak-store-document/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/pom.xml?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-store-document/pom.xml Wed Nov 29 14:02:43 2017
@@ -261,6 +261,13 @@
     </dependency>
     <dependency>
       <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-core</artifactId>
+      <version>${project.version}</version>
+      <classifier>tests</classifier>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
       <artifactId>oak-blob</artifactId>
       <version>${project.version}</version>
       <classifier>tests</classifier>

Modified: 
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/InitializerTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/InitializerTest.java?rev=1816629&r1=1816628&r2=1816629&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/InitializerTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/InitializerTest.java
 Wed Nov 29 14:02:43 2017
@@ -18,11 +18,12 @@ package org.apache.jackrabbit.oak.plugin
 
 import com.google.common.collect.ImmutableMap;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.InitialContent;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
+import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.junit.Test;
@@ -34,13 +35,13 @@ public class InitializerTest extends Abs
         NodeBuilder builder = mk.getNodeStore().getRoot().builder();
         new InitialContent().initialize(builder);
 
-        SecurityProviderImpl provider = new SecurityProviderImpl(
+        SecurityProvider provider = new SecurityProviderBuilder().with(
                 
ConfigurationParameters.of(ImmutableMap.of(UserConfiguration.NAME,
                         
ConfigurationParameters.of(ImmutableMap.of("anonymousId", "anonymous",
                                 "adminId", "admin",
                                 "usersPath", "/home/users",
                                 "groupsPath", "/home/groups",
-                                "defaultDepth", "1")))));
+                                "defaultDepth", "1"))))).build();
         
provider.getConfiguration(UserConfiguration.class).getWorkspaceInitializer().initialize(
                 builder, "default");
         builder.getNodeState();
@@ -53,13 +54,13 @@ public class InitializerTest extends Abs
         new InitialContent().initialize(builder);
         mk.getNodeStore().merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
 
-        SecurityProviderImpl provider = new SecurityProviderImpl(
+        SecurityProvider provider = new SecurityProviderBuilder().with(
                 
ConfigurationParameters.of(ImmutableMap.of(UserConfiguration.NAME,
                         
ConfigurationParameters.of(ImmutableMap.of("anonymousId", "anonymous",
                                 "adminId", "admin",
                                 "usersPath", "/home/users",
                                 "groupsPath", "/home/groups",
-                                "defaultDepth", "1")))));
+                                "defaultDepth", "1"))))).build();
         
provider.getConfiguration(UserConfiguration.class).getWorkspaceInitializer().initialize(
                 builder, "default");
         builder.getNodeState();


Reply via email to