### Eclipse Workspace Patch 1.0 #P oak-core Index: src/main/java/org/apache/jackrabbit/oak/core/SecureNodeState.java =================================================================== --- src/main/java/org/apache/jackrabbit/oak/core/SecureNodeState.java (revision 1465586) +++ src/main/java/org/apache/jackrabbit/oak/core/SecureNodeState.java (working copy) @@ -122,8 +122,19 @@ @Override public long getChildNodeCount() { - // TODO: make sure cnt respects read permissions (OAK-708) - return getBaseState().getChildNodeCount(); + int childNodeCoount; + ReadStatus rs = getReadStatus(); + if (rs.includes(ReadStatus.DENY_CHILDREN)) { + childNodeCoount = 0; + } else { + // TODO: review if ALLOW_CHILDREN could be used as well although we + // don't know the type of all child-nodes where ac node would need special treatment + Iterable readable = Iterables.transform(getBaseState().getChildNodeEntries(), + new ReadableChildNodeEntries()); + readable= Iterables.filter(readable, Predicates.notNull()); + childNodeCoount = Iterables.size(readable); + } + return childNodeCoount; } @Override