You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2019/08/20 07:37:49 UTC
svn commit: r1865514 - in /jackrabbit/oak/trunk/oak-authorization-cug/src:
main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/
test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/
Author: angela
Date: Tue Aug 20 07:37:49 2019
New Revision: 1865514
URL: http://svn.apache.org/viewvc?rev=1865514&view=rev
Log:
OAK-8558 : Simplify path handling in TopLevelPaths
Modified:
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/TopLevelPaths.java
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/TopLevelPathTest.java
Modified: jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/TopLevelPaths.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/TopLevelPaths.java?rev=1865514&r1=1865513&r2=1865514&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/TopLevelPaths.java (original)
+++ jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/TopLevelPaths.java Tue Aug 20 07:37:49 2019
@@ -38,7 +38,7 @@ class TopLevelPaths implements CugConsta
private Boolean hasAny;
private Long cnt;
- private String[] paths;
+ private String[] paths = new String[0];
TopLevelPaths(Root root) {
this.root = root;
@@ -69,7 +69,7 @@ class TopLevelPaths implements CugConsta
PropertyState hidden = root.getTree(PathUtils.ROOT_PATH).getProperty(HIDDEN_NESTED_CUGS);
paths = (hidden == null) ? new String[0] : Iterables.toArray(hidden.getValue(Type.STRINGS), String.class);
} else {
- paths = null;
+ paths = new String[0];
}
} else {
cnt = NONE;
@@ -80,7 +80,7 @@ class TopLevelPaths implements CugConsta
return false;
} if (cnt > MAX_CNT) {
return true;
- } else if (paths != null) {
+ } else {
for (String p : paths) {
if (Text.isDescendantOrEqual(path, p)) {
return true;
Modified: jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/TopLevelPathTest.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/TopLevelPathTest.java?rev=1865514&r1=1865513&r2=1865514&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/TopLevelPathTest.java (original)
+++ jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/TopLevelPathTest.java Tue Aug 20 07:37:49 2019
@@ -23,6 +23,7 @@ import com.google.common.collect.Immutab
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.commons.PathUtils;
+import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder;
import org.apache.jackrabbit.oak.plugins.tree.TreeUtil;
import org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants;
import org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission;
@@ -192,4 +193,13 @@ public class TopLevelPathTest extends Ab
assertSame(p, TreePermission.NO_RECOURSE, tp);
}
}
+
+ @Test
+ public void testMissingHiddenNestedCugProperty() {
+ MemoryNodeBuilder nb = new MemoryNodeBuilder(getTreeProvider().asNodeState(root.getTree(PathUtils.ROOT_PATH)));
+ nb.setProperty(HIDDEN_TOP_CUG_CNT, 4);
+
+ TopLevelPaths tlp = new TopLevelPaths(getRootProvider().createReadOnlyRoot(nb.getNodeState()));
+ assertFalse(tlp.contains(SUPPORTED_PATH));
+ }
}