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());
+ }
}