Author: angela
Date: Thu Feb 27 15:09:32 2014
New Revision: 1572612

URL: http://svn.apache.org/r1572612
Log:
OAK-1474: revert changes made rev. 1572401

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/authentication/AuthenticationConfigurationImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/PrincipalConfigurationImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationBase.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=1572612&r1=1572611&r2=1572612&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 Feb 27 15:09:32 2014
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.security;
 
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
@@ -210,31 +211,36 @@ public class SecurityProviderImpl implem
     }
 
     protected void bindAuthorizationConfiguration(@Nonnull ServiceReference 
reference) {
-        // also add authorization config specific default parameters for OSGi 
environments
-        // todo: the config class should track the 'restrictionProvider' 
itself.
+        // also initialize authorization config specific default parameters or 
OSGi environments
         Map<String, WhiteboardRestrictionProvider> authorizMap = 
ImmutableMap.of(
                 AccessControlConstants.PARAM_RESTRICTION_PROVIDER, 
restrictionProvider
         );
-        authorizationConfiguration =
-                (AuthorizationConfiguration) initConfiguration(reference, 
ConfigurationParameters.of(authorizMap));
+        Map<String, Object> newConfig = new HashMap<String, 
Object>(configuration);
+        newConfig.put(AuthorizationConfiguration.NAME, 
ConfigurationParameters.of(authorizMap));
+        configuration = ConfigurationParameters.of(newConfig);
+
+        authorizationConfiguration = (AuthorizationConfiguration) 
initConfiguration(reference);
     }
 
     protected void bindAuthenticationConfiguration(@Nonnull ServiceReference 
reference) {
-        authenticationConfiguration =
-                (AuthenticationConfiguration) initConfiguration(reference, 
ConfigurationParameters.EMPTY);
+        authenticationConfiguration = (AuthenticationConfiguration) 
initConfiguration(reference);
     }
 
     protected void bindUserConfiguration(@Nonnull ServiceReference reference) {
-        // also initialize user config specific default parameters for OSGi 
environments
-        // todo: the config class should track the 'providers' itself.
+        // also initialize user config specific default parameters or OSGi 
environments
         Map<String, Object> userMap = ImmutableMap.of(
                 UserConstants.PARAM_AUTHORIZABLE_ACTION_PROVIDER, 
authorizableActionProvider,
                 UserConstants.PARAM_AUTHORIZABLE_NODE_NAME, 
authorizableNodeName);
-        userConfiguration = (UserConfiguration) initConfiguration(reference, 
ConfigurationParameters.of(userMap));
+
+        Map<String, Object> newConfig = new HashMap<String, 
Object>(configuration);
+        newConfig.put(UserConfiguration.NAME, 
ConfigurationParameters.of(userMap));
+        configuration = ConfigurationParameters.of(newConfig);
+
+        userConfiguration = (UserConfiguration) initConfiguration(reference);
     }
 
     protected void bindPrivilegeConfiguration(@Nonnull ServiceReference 
reference) {
-        privilegeConfiguration = (PrivilegeConfiguration) 
initConfiguration(reference, ConfigurationParameters.EMPTY);
+        privilegeConfiguration = (PrivilegeConfiguration) 
initConfiguration(reference);
     }
 
     protected void bindPrincipalConfiguration(@Nonnull ServiceReference 
reference) {
@@ -243,7 +249,7 @@ public class SecurityProviderImpl implem
             principalConfiguration = new CompositePrincipalConfiguration(this);
         }
         ((CompositePrincipalConfiguration) 
principalConfiguration).addConfiguration(
-                (PrincipalConfiguration) initConfiguration(reference, 
ConfigurationParameters.EMPTY));
+                (PrincipalConfiguration) initConfiguration(reference));
     }
 
     protected void unbindPrincipalConfiguration(@Nonnull ServiceReference 
reference) {
@@ -261,7 +267,7 @@ public class SecurityProviderImpl implem
             tokenConfiguration = new CompositeTokenConfiguration(this);
         }
         ((CompositeTokenConfiguration) tokenConfiguration).addConfiguration(
-                (TokenConfiguration) initConfiguration(reference, 
ConfigurationParameters.EMPTY));
+                (TokenConfiguration) initConfiguration(reference));
     }
 
     protected void unbindTokenConfiguration(@Nonnull ServiceReference 
reference) {
@@ -280,12 +286,10 @@ public class SecurityProviderImpl implem
         }
     }
 
-    private Object initConfiguration(@Nonnull ServiceReference reference, 
@Nonnull ConfigurationParameters params) {
+    private Object initConfiguration(@Nonnull ServiceReference reference) {
         Object service = 
reference.getBundle().getBundleContext().getService(reference);
         if (service instanceof ConfigurationBase) {
-            ConfigurationBase cfg = (ConfigurationBase) service;
-            cfg.setSecurityProvider(this);
-            cfg.setParameters(ConfigurationParameters.of(params, 
cfg.getParameters()));
+            ((ConfigurationBase) service).setSecurityProvider(this);
         }
         return service;
     }

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java?rev=1572612&r1=1572611&r2=1572612&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java
 Thu Feb 27 15:09:32 2014
@@ -16,17 +16,13 @@
  */
 package org.apache.jackrabbit.oak.security.authentication;
 
-import java.util.Dictionary;
-
 import javax.annotation.Nonnull;
 import javax.security.auth.login.Configuration;
 
-import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.jackrabbit.oak.api.ContentRepository;
 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.apache.jackrabbit.oak.spi.security.authentication.AuthenticationConfiguration;
@@ -62,17 +58,12 @@ public class AuthenticationConfiguration
         super();
     }
 
-    @Activate
-    private void activate(Dictionary<String, Object> properties) {
-        setParameters(ConfigurationParameters.of(properties));
-    }
-
     /**
      * Constructor for non-OSGi
      * @param securityProvider
      */
     public AuthenticationConfigurationImpl(SecurityProvider securityProvider) {
-        super(securityProvider, securityProvider.getParameters(NAME));
+        super(securityProvider);
     }
 
     //----------------------------------------------< SecurityConfiguration 
>---

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java?rev=1572612&r1=1572611&r2=1572612&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java
 Thu Feb 27 15:09:32 2014
@@ -16,11 +16,8 @@
  */
 package org.apache.jackrabbit.oak.security.authentication.token;
 
-import java.util.Dictionary;
-
 import javax.annotation.Nonnull;
 
-import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.jackrabbit.oak.api.Root;
@@ -44,12 +41,7 @@ public class TokenConfigurationImpl exte
     }
 
     public TokenConfigurationImpl(SecurityProvider securityProvider) {
-        super(securityProvider, securityProvider.getParameters(NAME));
-    }
-
-    @Activate
-    private void activate(Dictionary<String, Object> properties) {
-        setParameters(ConfigurationParameters.of(properties));
+        super(securityProvider);
     }
 
     //----------------------------------------------< SecurityConfiguration 
>---

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java?rev=1572612&r1=1572611&r2=1572612&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
 Thu Feb 27 15:09:32 2014
@@ -18,14 +18,12 @@ package org.apache.jackrabbit.oak.securi
 
 import java.security.Principal;
 import java.util.Collections;
-import java.util.Dictionary;
 import java.util.List;
 import java.util.Set;
 
 import javax.annotation.Nonnull;
 import javax.jcr.security.AccessControlManager;
 
-import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.jackrabbit.oak.api.Root;
@@ -45,7 +43,6 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
 import org.apache.jackrabbit.oak.spi.lifecycle.WorkspaceInitializer;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationBase;
-import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.Context;
 import org.apache.jackrabbit.oak.spi.security.SecurityConfiguration;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
@@ -70,14 +67,8 @@ public class AuthorizationConfigurationI
         super();
     }
 
-    @Activate
-    private void activate(Dictionary<String, Object> properties) {
-        setParameters(ConfigurationParameters.of(properties));
-    }
-
-
     public AuthorizationConfigurationImpl(SecurityProvider securityProvider) {
-        super(securityProvider, securityProvider.getParameters(NAME));
+        super(securityProvider);
     }
 
     //----------------------------------------------< SecurityConfiguration 
>---

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/PrincipalConfigurationImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/PrincipalConfigurationImpl.java?rev=1572612&r1=1572611&r2=1572612&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/PrincipalConfigurationImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/PrincipalConfigurationImpl.java
 Thu Feb 27 15:09:32 2014
@@ -16,18 +16,14 @@
  */
 package org.apache.jackrabbit.oak.security.principal;
 
-import java.util.Dictionary;
-
 import javax.annotation.Nonnull;
 
-import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.jackrabbit.api.security.principal.PrincipalManager;
 import org.apache.jackrabbit.oak.api.Root;
 import org.apache.jackrabbit.oak.namepath.NamePathMapper;
 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.apache.jackrabbit.oak.spi.security.principal.PrincipalConfiguration;
@@ -47,15 +43,9 @@ public class PrincipalConfigurationImpl 
     }
 
     public PrincipalConfigurationImpl(SecurityProvider securityProvider) {
-        super(securityProvider, securityProvider.getParameters(NAME));
-    }
-
-    @Activate
-    private void activate(Dictionary<String, Object> properties) {
-        setParameters(ConfigurationParameters.of(properties));
+        super(securityProvider);
     }
 
-
     //---------------------------------------------< PrincipalConfiguration 
>---
     @Nonnull
     @Override

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java?rev=1572612&r1=1572611&r2=1572612&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java
 Thu Feb 27 15:09:32 2014
@@ -18,13 +18,11 @@ package org.apache.jackrabbit.oak.securi
 
 import java.security.Principal;
 import java.util.Collections;
-import java.util.Dictionary;
 import java.util.List;
 import java.util.Set;
 
 import javax.annotation.Nonnull;
 
-import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
@@ -35,7 +33,6 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
 import org.apache.jackrabbit.oak.spi.lifecycle.RepositoryInitializer;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationBase;
-import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.Context;
 import org.apache.jackrabbit.oak.spi.security.SecurityConfiguration;
 import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConfiguration;
@@ -54,11 +51,6 @@ public class PrivilegeConfigurationImpl 
         return new PrivilegeManagerImpl(root, namePathMapper);
     }
 
-    @Activate
-    private void activate(Dictionary<String, Object> properties) {
-        setParameters(ConfigurationParameters.of(properties));
-    }
-
     //----------------------------------------------< SecurityConfiguration 
>---
     @Nonnull
     @Override

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java?rev=1572612&r1=1572611&r2=1572612&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
 Thu Feb 27 15:09:32 2014
@@ -18,13 +18,11 @@ package org.apache.jackrabbit.oak.securi
 
 import java.security.Principal;
 import java.util.Collections;
-import java.util.Dictionary;
 import java.util.List;
 import java.util.Set;
 
 import javax.annotation.Nonnull;
 
-import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.jackrabbit.api.security.user.UserManager;
@@ -35,7 +33,6 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
 import org.apache.jackrabbit.oak.spi.lifecycle.WorkspaceInitializer;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationBase;
-import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.Context;
 import org.apache.jackrabbit.oak.spi.security.SecurityConfiguration;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
@@ -55,12 +52,7 @@ public class UserConfigurationImpl exten
     }
 
     public UserConfigurationImpl(SecurityProvider securityProvider) {
-        super(securityProvider, securityProvider.getParameters(NAME));
-    }
-
-    @Activate
-    private void activate(Dictionary<String, Object> properties) {
-        setParameters(ConfigurationParameters.of(properties));
+        super(securityProvider);
     }
 
     //----------------------------------------------< SecurityConfiguration 
>---

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationBase.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationBase.java?rev=1572612&r1=1572611&r2=1572612&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationBase.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationBase.java
 Thu Feb 27 15:09:32 2014
@@ -18,27 +18,25 @@ package org.apache.jackrabbit.oak.spi.se
 
 import javax.annotation.Nonnull;
 
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.osgi.service.component.ComponentContext;
+
 /**
  * Abstract base implementation for the various security configurations.
  */
+@Component(componentAbstract = true)
 public abstract class ConfigurationBase extends SecurityConfiguration.Default {
 
     private SecurityProvider securityProvider;
-
     private ConfigurationParameters config = ConfigurationParameters.EMPTY;
 
-    /**
-     * osgi constructor
-     */
     public ConfigurationBase() {
     }
 
-    /**
-     * non-osgi constructor
-     */
-    public ConfigurationBase(@Nonnull SecurityProvider securityProvider, 
@Nonnull ConfigurationParameters config) {
+    public ConfigurationBase(SecurityProvider securityProvider) {
         this.securityProvider = securityProvider;
-        this.config = config;
+        this.config = securityProvider.getParameters(getName());
     }
 
     @Nonnull
@@ -51,10 +49,7 @@ public abstract class ConfigurationBase 
 
     public void setSecurityProvider(@Nonnull SecurityProvider 
securityProvider) {
         this.securityProvider = securityProvider;
-    }
-
-    public void setParameters(@Nonnull ConfigurationParameters config) {
-        this.config = config;
+        config = 
ConfigurationParameters.of(securityProvider.getParameters(getName()), config);
     }
 
     //----------------------------------------------< SecurityConfiguration 
>---
@@ -64,4 +59,9 @@ public abstract class ConfigurationBase 
         return config;
     }
 
+    //----------------------------------------------------< SCR Integration 
>---
+    @Activate
+    protected void activate(ComponentContext context) {
+        config = ConfigurationParameters.of(context.getProperties());
+    }
 }


Reply via email to