diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/SecurityProviderImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/SecurityProviderImpl.java index f51464b0b8..c4aff2456a 100644 --- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/SecurityProviderImpl.java +++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/SecurityProviderImpl.java @@ -17,6 +17,8 @@ package org.apache.jackrabbit.oak.security; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; + import org.apache.jackrabbit.oak.osgi.OsgiWhiteboard; import org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl; import org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl; @@ -49,7 +51,6 @@ 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; @@ -73,6 +74,7 @@ public class SecurityProviderImpl implements SecurityProvider, WhiteboardAware { private final WhiteboardAuthorizableActionProvider authorizableActionProvider = new WhiteboardAuthorizableActionProvider(); private final WhiteboardRestrictionProvider restrictionProvider = new WhiteboardRestrictionProvider(); private final WhiteboardUserAuthenticationFactory userAuthenticationFactory = new WhiteboardUserAuthenticationFactory(UserConfigurationImpl.getDefaultAuthenticationFactory()); + private final Set configurations; private ConfigurationParameters configuration; @@ -102,6 +104,9 @@ public class SecurityProviderImpl implements SecurityProvider, WhiteboardAware { authorizationConfiguration.setDefaultConfig(new AuthorizationConfigurationImpl(this)); principalConfiguration.setDefaultConfig(new PrincipalConfigurationImpl(this)); tokenConfiguration.setDefaultConfig(new TokenConfigurationImpl(this)); + + configurations = ImmutableSet.of(authenticationConfiguration, authorizationConfiguration, userConfiguration, + principalConfiguration, privilegeConfiguration, tokenConfiguration); } @Override @@ -132,14 +137,11 @@ public class SecurityProviderImpl implements SecurityProvider, WhiteboardAware { @Nonnull @Override public Iterable getConfigurations() { - Set scs = new HashSet(); - scs.add(authenticationConfiguration); - scs.add(authorizationConfiguration); - scs.add(userConfiguration); - scs.add(principalConfiguration); - scs.add(privilegeConfiguration); - scs.add(tokenConfiguration); - return scs; + if (configurations != null) { + return configurations; + } else { + return ImmutableSet.of(); + } } @SuppressWarnings("unchecked")