Author: angela
Date: Thu Nov 30 17:58:23 2017
New Revision: 1816735

URL: http://svn.apache.org/viewvc?rev=1816735&view=rev
Log:
OAK-7012 : Add references to SecurityProviderImpl and 
SecurityProviderRegistration

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/SecurityProviderImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/ConfigurationInitializer.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderRegistration.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/ConfigurationInitializerTest.java

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=1816735&r1=1816734&r2=1816735&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
 Thu Nov 30 17:58:23 2017
@@ -16,15 +16,30 @@
  */
 package org.apache.jackrabbit.oak.security;
 
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
 import com.google.common.collect.ImmutableMap;
 import org.apache.jackrabbit.oak.osgi.OsgiWhiteboard;
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
+import org.apache.jackrabbit.oak.plugins.tree.impl.RootProviderService;
+import org.apache.jackrabbit.oak.plugins.tree.impl.TreeProviderService;
 import 
org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl;
 import 
org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl;
 import 
org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl;
 import 
org.apache.jackrabbit.oak.security.authorization.composite.CompositeAuthorizationConfiguration;
+import 
org.apache.jackrabbit.oak.security.authorization.restriction.WhiteboardRestrictionProvider;
 import org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl;
 import org.apache.jackrabbit.oak.security.privilege.PrivilegeConfigurationImpl;
 import org.apache.jackrabbit.oak.security.user.UserConfigurationImpl;
+import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardAuthorizableActionProvider;
+import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardAuthorizableNodeName;
+import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardUserAuthenticationFactory;
+import org.apache.jackrabbit.oak.spi.security.CompositeConfiguration;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationBase;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityConfiguration;
@@ -40,19 +55,9 @@ import org.apache.jackrabbit.oak.spi.sec
 import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
 import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
 import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
-import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardAuthorizableActionProvider;
-import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardAuthorizableNodeName;
 import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardAware;
-import 
org.apache.jackrabbit.oak.security.authorization.restriction.WhiteboardRestrictionProvider;
-import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardUserAuthenticationFactory;
 import org.osgi.framework.BundleContext;
 
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
 import static com.google.common.base.Preconditions.checkNotNull;
 
 @Deprecated
@@ -79,6 +84,9 @@ public class SecurityProviderImpl implem
 
     private Whiteboard whiteboard;
 
+    private final RootProvider rootProvider = new RootProviderService();
+    private final TreeProvider treeProvider = new TreeProviderService();
+
     /**
      * Default constructor used in OSGi environments.
      */
@@ -96,13 +104,14 @@ public class SecurityProviderImpl implem
         checkNotNull(configuration);
         this.configuration = configuration;
 
-        authenticationConfiguration = new 
AuthenticationConfigurationImpl(this);
-        userConfiguration = new UserConfigurationImpl(this);
-        privilegeConfiguration = new PrivilegeConfigurationImpl();
-
-        authorizationConfiguration.setDefaultConfig(new 
AuthorizationConfigurationImpl(this));
-        principalConfiguration.setDefaultConfig(new 
PrincipalConfigurationImpl(this));
-        tokenConfiguration.setDefaultConfig(new TokenConfigurationImpl(this));
+        authenticationConfiguration = initDefaultConfiguration(new 
AuthenticationConfigurationImpl(this));
+
+        userConfiguration = initDefaultConfiguration(new 
UserConfigurationImpl(this));
+        privilegeConfiguration = initDefaultConfiguration(new 
PrivilegeConfigurationImpl());
+
+        initCompositeConfiguration(authorizationConfiguration, new 
AuthorizationConfigurationImpl(this));
+        initCompositeConfiguration(principalConfiguration, new 
PrincipalConfigurationImpl(this));
+        initCompositeConfiguration(tokenConfiguration, new 
TokenConfigurationImpl(this));
     }
 
     @Override
@@ -214,7 +223,7 @@ public class SecurityProviderImpl implem
     //------------------------------------------------------------< private 
>---
     private void initializeConfigurations() {
         initConfiguration(authorizationConfiguration, 
ConfigurationParameters.of(
-                AccessControlConstants.PARAM_RESTRICTION_PROVIDER, 
restrictionProvider)
+                        AccessControlConstants.PARAM_RESTRICTION_PROVIDER, 
restrictionProvider)
         );
 
         Map<String, Object> userMap = ImmutableMap.<String,Object>of(
@@ -228,19 +237,32 @@ public class SecurityProviderImpl implem
     }
 
     private <T extends SecurityConfiguration> T initConfiguration(@Nonnull T 
config) {
+        return initConfiguration(config, ConfigurationParameters.EMPTY);
+    }
+
+    private <T extends SecurityConfiguration> T initConfiguration(@Nonnull T 
config, @Nonnull ConfigurationParameters params) {
         if (config instanceof ConfigurationBase) {
             ConfigurationBase cfg = (ConfigurationBase) config;
             cfg.setSecurityProvider(this);
-            
cfg.setParameters(ConfigurationParameters.of(ConfigurationParameters.EMPTY, 
cfg.getParameters()));
+            cfg.setParameters(ConfigurationParameters.of(params, 
cfg.getParameters()));
+            cfg.setRootProvider(rootProvider);
+            cfg.setTreeProvider(treeProvider);
         }
         return config;
     }
 
-    private <T extends SecurityConfiguration> T initConfiguration(@Nonnull T 
config, @Nonnull ConfigurationParameters params) {
+    private CompositeConfiguration initCompositeConfiguration(@Nonnull 
CompositeConfiguration composite, @Nonnull SecurityConfiguration defaultConfig) 
{
+        composite.setRootProvider(rootProvider);
+        composite.setTreeProvider(treeProvider);
+        composite.setDefaultConfig(initDefaultConfiguration(defaultConfig));
+        return composite;
+    }
+
+    private <T extends SecurityConfiguration> T 
initDefaultConfiguration(@Nonnull T config) {
         if (config instanceof ConfigurationBase) {
             ConfigurationBase cfg = (ConfigurationBase) config;
-            cfg.setSecurityProvider(this);
-            cfg.setParameters(ConfigurationParameters.of(params, 
cfg.getParameters()));
+            cfg.setRootProvider(rootProvider);
+            cfg.setTreeProvider(treeProvider);
         }
         return config;
     }

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/ConfigurationInitializer.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/ConfigurationInitializer.java?rev=1816735&r1=1816734&r2=1816735&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/ConfigurationInitializer.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/ConfigurationInitializer.java
 Thu Nov 30 17:58:23 2017
@@ -19,38 +19,46 @@ package org.apache.jackrabbit.oak.securi
 import java.util.List;
 import javax.annotation.Nonnull;
 
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
 import org.apache.jackrabbit.oak.spi.security.CompositeConfiguration;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationBase;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityConfiguration;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 
-class ConfigurationInitializer {
+final class ConfigurationInitializer {
 
     private ConfigurationInitializer() {}
 
     @Nonnull
-    static <T extends SecurityConfiguration> T 
initializeConfiguration(@Nonnull SecurityProvider securityProvider, @Nonnull T 
configuration) {
-        return initializeConfiguration(securityProvider, configuration, 
ConfigurationParameters.EMPTY);
+    static <T extends SecurityConfiguration> T 
initializeConfiguration(@Nonnull T configuration, @Nonnull SecurityProvider 
securityProvider, @Nonnull RootProvider rootProvider, @Nonnull TreeProvider 
treeProvider) {
+        return initializeConfiguration(configuration, securityProvider, 
ConfigurationParameters.EMPTY, rootProvider, treeProvider);
     }
 
     @Nonnull
-    static <T extends SecurityConfiguration> T 
initializeConfiguration(@Nonnull SecurityProvider securityProvider, @Nonnull T 
configuration, @Nonnull ConfigurationParameters parameters) {
+    static <T extends SecurityConfiguration> T 
initializeConfiguration(@Nonnull T configuration, @Nonnull SecurityProvider 
securityProvider, @Nonnull ConfigurationParameters parameters, @Nonnull 
RootProvider rootProvider, @Nonnull TreeProvider treeProvider) {
         if (configuration instanceof ConfigurationBase) {
             ConfigurationBase base = (ConfigurationBase) configuration;
             base.setSecurityProvider(securityProvider);
+            base.setRootProvider(rootProvider);
+            base.setTreeProvider(treeProvider);
             
base.setParameters(ConfigurationParameters.of(base.getParameters(), 
parameters));
         }
         return configuration;
     }
 
-    static void initializeConfigurations(@Nonnull SecurityProvider 
securityProvider,
-                                         @Nonnull CompositeConfiguration 
configuration,
-                                         @Nonnull ConfigurationParameters 
parameters) {
+    static void initializeConfigurations(@Nonnull CompositeConfiguration 
configuration, @Nonnull SecurityProvider securityProvider,
+                                         @Nonnull ConfigurationParameters 
parameters,
+                                         @Nonnull RootProvider rootProvider,
+                                         @Nonnull TreeProvider treeProvider) {
         configuration.setSecurityProvider(securityProvider);
+        configuration.setRootProvider(rootProvider);
+        configuration.setTreeProvider(treeProvider);
+
         List<? extends SecurityConfiguration> configs = 
configuration.getConfigurations();
         for (SecurityConfiguration config : configs) {
-            initializeConfiguration(securityProvider, config, parameters);
+            initializeConfiguration(config, securityProvider, parameters, 
rootProvider, treeProvider);
         }
     }
 }
\ No newline at end of file

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderRegistration.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderRegistration.java?rev=1816735&r1=1816734&r2=1816735&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderRegistration.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderRegistration.java
 Thu Nov 30 17:58:23 2017
@@ -24,8 +24,14 @@ import javax.annotation.Nonnull;
 
 import org.apache.jackrabbit.oak.commons.PropertiesUtil;
 import org.apache.jackrabbit.oak.osgi.OsgiWhiteboard;
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
 import 
org.apache.jackrabbit.oak.security.authorization.composite.CompositeAuthorizationConfiguration;
+import 
org.apache.jackrabbit.oak.security.authorization.restriction.WhiteboardRestrictionProvider;
 import org.apache.jackrabbit.oak.security.user.UserConfigurationImpl;
+import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardAuthorizableActionProvider;
+import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardAuthorizableNodeName;
+import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardUserAuthenticationFactory;
 import org.apache.jackrabbit.oak.spi.security.CompositeConfiguration;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityConfiguration;
@@ -44,10 +50,6 @@ import org.apache.jackrabbit.oak.spi.sec
 import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
 import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
 import 
org.apache.jackrabbit.oak.spi.security.user.action.AuthorizableActionProvider;
-import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardAuthorizableActionProvider;
-import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardAuthorizableNodeName;
-import 
org.apache.jackrabbit.oak.security.authorization.restriction.WhiteboardRestrictionProvider;
-import 
org.apache.jackrabbit.oak.security.user.whiteboard.WhiteboardUserAuthenticationFactory;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceRegistration;
@@ -138,6 +140,9 @@ public class SecurityProviderRegistratio
     private final List<RestrictionProvider> restrictionProviders = 
newCopyOnWriteArrayList();
     private final List<UserAuthenticationFactory> userAuthenticationFactories 
= newCopyOnWriteArrayList();
 
+    private RootProvider rootProvider;
+    private TreeProvider treeProvider;
+
     //----------------------------------------------------< SCR integration 
>---
 
     @Activate
@@ -221,6 +226,26 @@ public class SecurityProviderRegistratio
         this.userConfiguration = null;
     }
 
+    //-------------------------------------------< unary tree/root provider 
>---
+
+    @Reference(name = "rootProvider")
+    public void bindRootProvider(RootProvider rootProvider) {
+        this.rootProvider = rootProvider;
+    }
+
+    public void unbindRootProvider(RootProvider rootProvider) {
+        this.rootProvider = null;
+    }
+
+    @Reference(name = "treeProvider")
+    public void bindTreeProvider(TreeProvider treeProvider) {
+        this.treeProvider = treeProvider;
+    }
+
+    public void unbindTreeProvider(RootProvider treeProvider) {
+        this.treeProvider = null;
+    }
+
     //-----------------------------------< multiple security configurations 
>---
 
     @Reference(
@@ -493,25 +518,25 @@ public class SecurityProviderRegistratio
 
         // Static, mandatory references
 
-        
securityProvider.setAuthenticationConfiguration(ConfigurationInitializer.initializeConfiguration(securityProvider,
 authenticationConfiguration));
-        
securityProvider.setPrivilegeConfiguration(ConfigurationInitializer.initializeConfiguration(securityProvider,
 privilegeConfiguration));
+        
securityProvider.setAuthenticationConfiguration(ConfigurationInitializer.initializeConfiguration(authenticationConfiguration,
 securityProvider, rootProvider, treeProvider));
+        
securityProvider.setPrivilegeConfiguration(ConfigurationInitializer.initializeConfiguration(privilegeConfiguration,
 securityProvider, rootProvider, treeProvider));
 
         ConfigurationParameters userParams = ConfigurationParameters.of(
                 
ConfigurationParameters.of(UserConstants.PARAM_AUTHORIZABLE_ACTION_PROVIDER, 
createWhiteboardAuthorizableActionProvider()),
                 
ConfigurationParameters.of(UserConstants.PARAM_AUTHORIZABLE_NODE_NAME, 
createWhiteboardAuthorizableNodeName()),
                 
ConfigurationParameters.of(UserConstants.PARAM_USER_AUTHENTICATION_FACTORY, 
createWhiteboardUserAuthenticationFactory()));
-        
securityProvider.setUserConfiguration(ConfigurationInitializer.initializeConfiguration(securityProvider,
 userConfiguration, userParams));
+        
securityProvider.setUserConfiguration(ConfigurationInitializer.initializeConfiguration(userConfiguration,
 securityProvider, userParams, rootProvider, treeProvider));
 
         // Multiple, dynamic references
 
         ConfigurationParameters restrictionParams = 
ConfigurationParameters.of(AccessControlConstants.PARAM_RESTRICTION_PROVIDER, 
createWhiteboardRestrictionProvider());
-        ConfigurationInitializer.initializeConfigurations(securityProvider, 
authorizationConfiguration, restrictionParams);
+        
ConfigurationInitializer.initializeConfigurations(authorizationConfiguration, 
securityProvider, restrictionParams, rootProvider, treeProvider);
         
securityProvider.setAuthorizationConfiguration(authorizationConfiguration);
 
-        ConfigurationInitializer.initializeConfigurations(securityProvider, 
principalConfiguration, ConfigurationParameters.EMPTY);
+        
ConfigurationInitializer.initializeConfigurations(principalConfiguration, 
securityProvider, ConfigurationParameters.EMPTY, rootProvider, treeProvider);
         securityProvider.setPrincipalConfiguration(principalConfiguration);
 
-        ConfigurationInitializer.initializeConfigurations(securityProvider, 
tokenConfiguration, ConfigurationParameters.EMPTY);
+        ConfigurationInitializer.initializeConfigurations(tokenConfiguration, 
securityProvider, ConfigurationParameters.EMPTY, rootProvider, treeProvider);
         securityProvider.setTokenConfiguration(tokenConfiguration);
 
         // Whiteboard

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/ConfigurationInitializerTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/ConfigurationInitializerTest.java?rev=1816735&r1=1816734&r2=1816735&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/ConfigurationInitializerTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/ConfigurationInitializerTest.java
 Thu Nov 30 17:58:23 2017
@@ -18,12 +18,15 @@ package org.apache.jackrabbit.oak.securi
 
 import javax.annotation.Nonnull;
 
+import org.apache.jackrabbit.oak.plugins.tree.RootProvider;
+import org.apache.jackrabbit.oak.plugins.tree.TreeProvider;
 import org.apache.jackrabbit.oak.spi.security.CompositeConfiguration;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationBase;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityConfiguration;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.junit.Test;
+import org.mockito.Mockito;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -35,37 +38,40 @@ public class ConfigurationInitializerTes
     private final SecurityProvider sp = new InternalSecurityProvider();
     private final ConfigurationParameters params = 
ConfigurationParameters.of("key", "value");
 
+    private final RootProvider rootProvider = Mockito.mock(RootProvider.class);
+    private final TreeProvider treeProvider = Mockito.mock(TreeProvider.class);
+
     @Test
     public void testInitConfigurationReturnsSame() {
         SecurityConfiguration sc = new SecurityConfiguration.Default();
 
-        assertSame(sc, ConfigurationInitializer.initializeConfiguration(sp, 
sc));
+        assertSame(sc, ConfigurationInitializer.initializeConfiguration(sc, 
sp, rootProvider, treeProvider));
     }
 
     @Test
     public void testInitBaseConfigurationReturnsSame() {
         SecurityConfiguration sc = new TestConfiguration();
 
-        assertSame(sc, ConfigurationInitializer.initializeConfiguration(sp, 
sc));
+        assertSame(sc, ConfigurationInitializer.initializeConfiguration(sc, 
sp, rootProvider, treeProvider));
     }
 
     @Test
     public void testInitConfigurationWithParamReturnsSame() {
         SecurityConfiguration sc = new SecurityConfiguration.Default();
-        assertSame(sc, ConfigurationInitializer.initializeConfiguration(sp, 
sc, params));
+        assertSame(sc, ConfigurationInitializer.initializeConfiguration(sc, 
sp, params, rootProvider, treeProvider));
     }
 
     @Test
     public void testInitBaseConfigurationWithParamReturnsSame() {
         SecurityConfiguration sc = new TestConfiguration();
-        assertSame(sc, ConfigurationInitializer.initializeConfiguration(sp, 
sc, params));
+        assertSame(sc, ConfigurationInitializer.initializeConfiguration(sc, 
sp, params, rootProvider, treeProvider));
     }
 
     @Test
     public void testInitNonBaseConfiguration() {
         SecurityConfiguration sc = new SecurityConfiguration.Default();
 
-        ConfigurationInitializer.initializeConfiguration(sp, sc);
+        ConfigurationInitializer.initializeConfiguration(sc, sp, rootProvider, 
treeProvider);
         assertFalse(sc.getParameters().containsKey("key"));
     }
 
@@ -73,7 +79,7 @@ public class ConfigurationInitializerTes
     public void testInitBaseConfiguration() {
         TestConfiguration sc = new TestConfiguration();
 
-        SecurityConfiguration afterInit = 
ConfigurationInitializer.initializeConfiguration(sp, sc);
+        SecurityConfiguration afterInit = 
ConfigurationInitializer.initializeConfiguration(sc, sp, rootProvider, 
treeProvider);
         assertSame(sc, afterInit);
 
         // verify securityprovider
@@ -91,12 +97,16 @@ public class ConfigurationInitializerTes
     public void testInitBaseConfigurationWithParam() {
         TestConfiguration sc = new TestConfiguration();
 
-        SecurityConfiguration afterInit = 
ConfigurationInitializer.initializeConfiguration(sp, sc, params);
+        SecurityConfiguration afterInit = 
ConfigurationInitializer.initializeConfiguration(sc, sp, params, rootProvider, 
treeProvider);
         assertSame(sc, afterInit);
 
         // verify securityprovider
         assertSame(sp, sc.getSecurityProvider());
 
+        // verify tree/root provider
+        assertSame(rootProvider, sc.getRootProvider());
+        assertSame(treeProvider, sc.getTreeProvider());
+
         // verify params
         ConfigurationParameters parameters = afterInit.getParameters();
         assertTrue(parameters.containsKey("key"));
@@ -111,7 +121,7 @@ public class ConfigurationInitializerTes
         composite.addConfiguration(new SecurityConfiguration.Default());
         composite.addConfiguration(new SecurityConfiguration.Default());
 
-        ConfigurationInitializer.initializeConfigurations(sp, composite, 
params);
+        ConfigurationInitializer.initializeConfigurations(composite, sp, 
params, rootProvider, treeProvider);
 
         // verify securityprovider
         assertSame(sp, composite.getSecurityProvider());
@@ -128,7 +138,7 @@ public class ConfigurationInitializerTes
         composite.addConfiguration(new TestConfiguration());
         composite.addConfiguration(new TestConfiguration());
 
-        ConfigurationInitializer.initializeConfigurations(sp, composite, 
params);
+        ConfigurationInitializer.initializeConfigurations(composite, sp, 
params, rootProvider, treeProvider);
 
         // verify securityprovider
         assertSame(sp, composite.getSecurityProvider());


Reply via email to