Author: angela
Date: Fri Dec 1 10:47:25 2017
New Revision: 1816825
URL: http://svn.apache.org/viewvc?rev=1816825&view=rev
Log:
OAK-7018 : Move setup of composite security configurations to
SecurityProviderBuilder
Modified:
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestSecurityProvider.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-core/src/test/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderBuilder.java
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=1816825&r1=1816824&r2=1816825&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
Fri Dec 1 10:47:25 2017
@@ -31,18 +31,6 @@ public final class TestSecurityProvider
public static SecurityProvider newTestSecurityProvider(@Nonnull
ConfigurationParameters configuration,
@Nonnull ExternalPrincipalConfiguration
externalPrincipalConfiguration) {
- SecurityProvider delegate = new
SecurityProviderBuilder().with(configuration).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;
+ return new
SecurityProviderBuilder().with(configuration).with(externalPrincipalConfiguration,
PrincipalConfiguration.class).build();
}
}
\ No newline at end of file
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=1816825&r1=1816824&r2=1816825&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
Fri Dec 1 10:47:25 2017
@@ -31,22 +31,9 @@ final class CugSecurityProvider {
private CugSecurityProvider() {}
public static SecurityProvider newTestSecurityProvider(@Nonnull
ConfigurationParameters configuration) {
- SecurityProvider delegate = new
SecurityProviderBuilder().with(configuration).build();
+ CugConfiguration cugConfiguration = new CugConfiguration();
+
cugConfiguration.activate(configuration.getConfigValue(AuthorizationConfiguration.NAME,
ConfigurationParameters.EMPTY));
- AuthorizationConfiguration authorizationConfiguration = delegate
- .getConfiguration(AuthorizationConfiguration.class);
- if (!(authorizationConfiguration instanceof
CompositeAuthorizationConfiguration)) {
- throw new IllegalStateException();
- } else {
- CugConfiguration cugConfiguration = new CugConfiguration();
- cugConfiguration.setSecurityProvider(delegate);
-
cugConfiguration.activate(configuration.getConfigValue(AuthorizationConfiguration.NAME,
ConfigurationParameters.EMPTY));
-
- CompositeAuthorizationConfiguration composite =
(CompositeAuthorizationConfiguration) authorizationConfiguration;
- AuthorizationConfiguration defConfig =
checkNotNull(composite.getDefaultConfig());
- composite.addConfiguration(cugConfiguration);
- composite.addConfiguration(defConfig);
- }
- return delegate;
+ return new
SecurityProviderBuilder().with(configuration).with(cugConfiguration,
AuthorizationConfiguration.class).build();
}
}
\ No newline at end of file
Modified:
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=1816825&r1=1816824&r2=1816825&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderBuilder.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderBuilder.java
Fri Dec 1 10:47:25 2017
@@ -19,8 +19,13 @@ package org.apache.jackrabbit.oak.securi
import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+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.apache.jackrabbit.oak.spi.security.principal.CompositePrincipalConfiguration;
+import org.apache.jackrabbit.oak.spi.security.principal.PrincipalConfiguration;
import static com.google.common.base.Preconditions.checkNotNull;
@@ -28,16 +33,45 @@ public class SecurityProviderBuilder {
private ConfigurationParameters configuration = null;
+ private SecurityConfiguration sc;
+ private Class<? extends SecurityConfiguration> cls;
+
public SecurityProviderBuilder with(@Nonnull ConfigurationParameters
configuration) {
this.configuration = checkNotNull(configuration);
return this;
}
+ public SecurityProviderBuilder with(@Nonnull SecurityConfiguration sc,
@Nonnull Class<? extends SecurityConfiguration> cls) {
+ this.sc = sc;
+ this.cls = cls;
+ return this;
+ }
+
public SecurityProvider build() {
+ SecurityProvider sp;
if (configuration != null) {
- return new SecurityProviderImpl(configuration);
+ sp = new SecurityProviderImpl(configuration);
} else {
- return new SecurityProviderImpl();
+ sp = new SecurityProviderImpl();
}
+
+ if (sc != null && cls != null) {
+ Object cc = sp.getConfiguration(cls);
+ if (!(cc instanceof CompositeConfiguration)) {
+ throw new IllegalStateException();
+ } else {
+ if (sc instanceof ConfigurationBase) {
+ ((ConfigurationBase) sc).setSecurityProvider(sp);
+ }
+
+ CompositeConfiguration composite = (CompositeConfiguration) cc;
+ SecurityConfiguration defConfig = composite.getDefaultConfig();
+
+ composite.addConfiguration(sc);
+ composite.addConfiguration(defConfig);
+ }
+ }
+
+ return sp;
}
}