Author: angela
Date: Tue Mar 24 09:31:31 2015
New Revision: 1668829
URL: http://svn.apache.org/r1668829
Log:
OAK-2008 (WIP)
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/CugPermissionProvider.java
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/SupportedPaths.java
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProviderTest.java
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/SupportedPathsTest.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=1668829&r1=1668828&r2=1668829&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
Tue Mar 24 09:31:31 2015
@@ -123,8 +123,8 @@ public class CugConfiguration extends Co
ConfigurationParameters params = getParameters();
boolean enabled =
params.getConfigValue(CugConstants.PARAM_CUG_ENABLED, false);
- String[] supportedPaths =
params.getConfigValue(CugConstants.PARAM_CUG_SUPPORTED_PATHS, new String[0]);
- if (!enabled || supportedPaths.length == 0 ||
getExclude().isExcluded(principals)) {
+ Set<String> supportedPaths =
params.getConfigValue(CugConstants.PARAM_CUG_SUPPORTED_PATHS,
Collections.<String>emptySet());
+ if (!enabled || supportedPaths.isEmpty() ||
getExclude().isExcluded(principals)) {
return EmptyPermissionProvider.getInstance();
} else {
return new CugPermissionProvider(root, principals, supportedPaths,
getContext());
Modified:
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.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/CugPermissionProvider.java?rev=1668829&r1=1668828&r2=1668829&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java
Tue Mar 24 09:31:31 2015
@@ -81,7 +81,7 @@ class CugPermissionProvider implements P
CugPermissionProvider(@Nonnull Root root,
@Nonnull Set<Principal> principals,
- @Nonnull String[] supportedPaths,
+ @Nonnull Set<String> supportedPaths,
@Nonnull Context ctx) {
this.root = root;
Modified:
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/SupportedPaths.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/SupportedPaths.java?rev=1668829&r1=1668828&r2=1668829&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/SupportedPaths.java
(original)
+++
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/SupportedPaths.java
Tue Mar 24 09:31:31 2015
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.spi.security.authorization.cug.impl;
+import java.util.Set;
import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.commons.PathUtils;
@@ -27,9 +28,9 @@ class SupportedPaths {
private final boolean includesRootPath;
- SupportedPaths(@Nonnull String[] supportedPaths) {
- this.supportedPaths = supportedPaths;
- supportedAltPaths = new String[supportedPaths.length];
+ SupportedPaths(@Nonnull Set<String> supportedPaths) {
+ this.supportedPaths = supportedPaths.toArray(new
String[supportedPaths.size()]);
+ supportedAltPaths = new String[supportedPaths.size()];
boolean foundRootPath = false;
int i = 0;
Modified:
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProviderTest.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/CugPermissionProviderTest.java?rev=1668829&r1=1668828&r2=1668829&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProviderTest.java
(original)
+++
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProviderTest.java
Tue Mar 24 09:31:31 2015
@@ -74,7 +74,7 @@ public class CugPermissionProviderTest e
root.commit();
Set<Principal> principals =
ImmutableSet.of(getTestUser().getPrincipal(), EveryonePrincipal.getInstance());
- String[] supportedPaths = new String[] {SUPPORTED_PATH};
+ Set<String> supportedPaths = ImmutableSet.of(SUPPORTED_PATH);
cugPermProvider = new CugPermissionProvider(root, principals,
supportedPaths, CugContext.INSTANCE);
}
@@ -213,7 +213,7 @@ public class CugPermissionProviderTest e
@Test
public void testGetPrivilegesAtCug2() {
- PermissionProvider pp = new CugPermissionProvider(root,
ImmutableSet.of(testGroupPrincipal), new String[] {SUPPORTED_PATH},
CugContext.INSTANCE);
+ PermissionProvider pp = new CugPermissionProvider(root,
ImmutableSet.of(testGroupPrincipal), ImmutableSet.of(SUPPORTED_PATH),
CugContext.INSTANCE);
Set<String> expected = ImmutableSet.of(
PrivilegeConstants.JCR_READ,
Modified:
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/SupportedPathsTest.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/SupportedPathsTest.java?rev=1668829&r1=1668828&r2=1668829&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/SupportedPathsTest.java
(original)
+++
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/SupportedPathsTest.java
Tue Mar 24 09:31:31 2015
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.spi.security.authorization.cug.impl;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -27,7 +28,7 @@ public class SupportedPathsTest {
@Test
public void testIncludes() {
- SupportedPaths supportedPaths = new SupportedPaths(new String[]
{"/content"});
+ SupportedPaths supportedPaths = new
SupportedPaths(Collections.singleton("/content"));
Map<String, Boolean> pathMap = new HashMap<String, Boolean>();
pathMap.put("/content", true);
@@ -52,7 +53,7 @@ public class SupportedPathsTest {
@Test
public void testMayContainCug() {
- SupportedPaths supportedPaths = new SupportedPaths(new String[]
{"/content/a"});
+ SupportedPaths supportedPaths = new
SupportedPaths(Collections.singleton("/content/a"));
Map<String, Boolean> pathMap = new HashMap<String, Boolean>();
pathMap.put("/", true);