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