Author: stillalex
Date: Fri Sep 15 15:54:41 2017
New Revision: 1808462

URL: http://svn.apache.org/viewvc?rev=1808462&view=rev
Log:
OAK-6664 Revisit MountInfoProvider usage in CugConfiguration


Modified:
    
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java
    
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConstants.java
    
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationTest.java
    
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationWithMountsTest.java
    
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugSecurityProvider.java

Modified: 
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java?rev=1808462&r1=1808461&r2=1808462&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java
 Fri Sep 15 15:54:41 2017
@@ -109,7 +109,7 @@ public class CugConfiguration extends Co
      * CUG authorization model multiplexing aware.
      */
     @Reference
-    private MountInfoProvider mountInfoProvider;
+    private MountInfoProvider mountInfoProvider = 
Mounts.defaultMountInfoProvider();
 
     private Set<String> supportedPaths = ImmutableSet.of();
 
@@ -120,9 +120,6 @@ public class CugConfiguration extends Co
 
     public CugConfiguration(@Nonnull SecurityProvider securityProvider) {
         super(securityProvider, securityProvider.getParameters(NAME));
-
-        mountInfoProvider = 
getParameters().getConfigValue(PARAM_MOUNT_PROVIDER, 
Mounts.defaultMountInfoProvider(), MountInfoProvider.class);
-        supportedPaths = CugUtil.getSupportedPaths(getParameters(), 
mountInfoProvider);
     }
 
     @Nonnull
@@ -212,6 +209,14 @@ public class CugConfiguration extends Co
         activate(properties);
     }
 
+    public void bindMountInfoProvider(MountInfoProvider mountInfoProvider) {
+        this.mountInfoProvider = mountInfoProvider;
+    }
+
+    public void unbindMountInfoProvider(MountInfoProvider mountInfoProvider) {
+        this.mountInfoProvider = null;
+    }
+
     
//--------------------------------------------------------------------------
     @Nonnull
     private CugExclude getExclude() {

Modified: 
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConstants.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConstants.java?rev=1808462&r1=1808461&r2=1808462&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConstants.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConstants.java
 Fri Sep 15 15:54:41 2017
@@ -77,13 +77,4 @@ interface CugConstants {
      * </ul>
      */
     String PARAM_CUG_ENABLED = "cugEnabled";
-
-    /**
-     * Name of the configuration options specifying the
-     * {@link org.apache.jackrabbit.oak.spi.mount.MountInfoProvider} in 
non-OSGi
-     * setup scenarios.
-     *
-     * @since OAK 1.8
-     */
-    String PARAM_MOUNT_PROVIDER = "mountInfoProvider";
 }
\ 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/CugConfigurationTest.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/CugConfigurationTest.java?rev=1808462&r1=1808461&r2=1808462&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationTest.java
 Fri Sep 15 15:54:41 2017
@@ -50,8 +50,11 @@ import static org.junit.Assert.assertTru
 public class CugConfigurationTest extends AbstractSecurityTest {
 
     private static CugConfiguration 
createConfiguration(ConfigurationParameters params) {
-        SecurityProvider sp = new 
CugSecurityProvider(ConfigurationParameters.of(ImmutableMap.of(AuthorizationConfiguration.NAME,
 params)));
-        return new CugConfiguration(sp);
+        SecurityProvider sp = new 
CugSecurityProvider(ConfigurationParameters.EMPTY);
+        CugConfiguration cugConfiguration = new CugConfiguration();
+        cugConfiguration.setSecurityProvider(sp);
+        cugConfiguration.activate(params);
+        return cugConfiguration;
     }
 
     @Test

Modified: 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationWithMountsTest.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/CugConfigurationWithMountsTest.java?rev=1808462&r1=1808461&r2=1808462&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationWithMountsTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationWithMountsTest.java
 Fri Sep 15 15:54:41 2017
@@ -16,60 +16,45 @@
  */
 package org.apache.jackrabbit.oak.spi.security.authorization.cug.impl;
 
-import com.google.common.collect.ImmutableMap;
 import org.apache.jackrabbit.oak.AbstractSecurityTest;
 import org.apache.jackrabbit.oak.commons.PathUtils;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
 import org.apache.jackrabbit.oak.spi.mount.Mounts;
-import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
-import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
-import 
org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration;
 import org.junit.Test;
 
 import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertSame;
 
 public class CugConfigurationWithMountsTest extends AbstractSecurityTest {
 
     private static CugConfiguration createConfiguration(MountInfoProvider mip) 
{
-        ConfigurationParameters params = ConfigurationParameters.of(
-                AbstractCugTest.CUG_CONFIG,
-                ConfigurationParameters.of(CugConstants.PARAM_MOUNT_PROVIDER, 
mip));
-
-        SecurityProvider sp = new 
CugSecurityProvider(ConfigurationParameters.of(ImmutableMap.of(AuthorizationConfiguration.NAME,
 params)));
-        return new CugConfiguration(sp);
-    }
-
-    @Test
-    public void testDefaultMountInfoProvider() {
-        CugConfiguration configuration = 
createConfiguration(Mounts.defaultMountInfoProvider());
-
-        ConfigurationParameters params = configuration.getParameters();
-        assertSame(Mounts.defaultMountInfoProvider(), 
params.get(CugConstants.PARAM_MOUNT_PROVIDER));
+        CugConfiguration cugConfiguration = new CugConfiguration();
+        cugConfiguration.bindMountInfoProvider(mip);
+        cugConfiguration.activate(AbstractCugTest.CUG_CONFIG);
+        return cugConfiguration;
     }
 
     @Test(expected = IllegalStateException.class)
     public void testMountAtCugSupportedPath() {
         MountInfoProvider mip = Mounts.newBuilder().mount("mnt", 
AbstractCugTest.SUPPORTED_PATH).build();
-        CugConfiguration configuration = createConfiguration(mip);
+        createConfiguration(mip);
     }
 
     @Test(expected = IllegalStateException.class)
     public void testMountBelowCugSupportedPath() {
         MountInfoProvider mip = Mounts.newBuilder().mount("mnt", 
AbstractCugTest.SUPPORTED_PATH + "/mount").build();
-        CugConfiguration configuration = createConfiguration(mip);
+        createConfiguration(mip);
     }
 
     @Test(expected = IllegalStateException.class)
     public void testMountAboveCugSupportedPath() {
         MountInfoProvider mip = Mounts.newBuilder().mount("mnt", 
PathUtils.getParentPath(AbstractCugTest.SUPPORTED_PATH3)).build();
-        CugConfiguration configuration = createConfiguration(mip);
+        createConfiguration(mip);
     }
 
     @Test(expected = IllegalStateException.class)
     public void testMountAtRootWithSupportedPaths() {
         MountInfoProvider mip = Mounts.newBuilder().mount("mnt", 
PathUtils.ROOT_PATH).build();
-        CugConfiguration configuration = createConfiguration(mip);
+        createConfiguration(mip);
     }
 
     @Test

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=1808462&r1=1808461&r2=1808462&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 Sep 15 15:54:41 2017
@@ -33,8 +33,11 @@ final class CugSecurityProvider extends
         if (!(authorizationConfiguration instanceof 
CompositeAuthorizationConfiguration)) {
             throw new IllegalStateException();
         } else {
+            CugConfiguration cugConfiguration = new CugConfiguration();
+            cugConfiguration.setSecurityProvider(this);
+            
cugConfiguration.activate(configuration.getConfigValue(AuthorizationConfiguration.NAME,
 ConfigurationParameters.EMPTY));
             AuthorizationConfiguration defConfig = 
checkNotNull(((CompositeAuthorizationConfiguration) 
authorizationConfiguration).getDefaultConfig());
-            bindAuthorizationConfiguration(new CugConfiguration(this));
+            bindAuthorizationConfiguration(cugConfiguration);
             bindAuthorizationConfiguration(defConfig);
         }
     }


Reply via email to