This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.jcr.jackrabbit.accessmanager-2.1.2 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-jackrabbit-accessmanager.git
commit 3fdd00d563053845a5bcb861b87180797a9ec04d Author: Eric Norman <[email protected]> AuthorDate: Sun Oct 7 01:48:44 2012 +0000 SLING-2600 Effective ACL servlet returns incorrect information git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/jackrabbit-accessmanager@1395204 13f79535-47bb-0310-9956-ffa450edef68 --- .../accessmanager/post/AbstractAccessPostServlet.java | 2 ++ .../sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java | 10 ++++++++-- .../jackrabbit/accessmanager/post/GetEffectiveAclServlet.java | 10 ++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java index 7d87b79..f022c5c 100644 --- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java +++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java @@ -96,6 +96,8 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet { case COPY : htmlResponse.onCopied(change.getSource(), change.getDestination()); break; case CREATE : htmlResponse.onCreated(change.getSource()); break; case ORDER : htmlResponse.onChange("ordered", change.getSource(), change.getDestination()); break; + default: + break; } } diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java index af6f7c0..550c788 100644 --- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java +++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java @@ -16,6 +16,9 @@ */ package org.apache.sling.jcr.jackrabbit.accessmanager.post; +import java.util.ArrayList; +import java.util.List; + import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.security.AccessControlEntry; @@ -131,13 +134,16 @@ public class GetAclServlet extends AbstractGetAclServlet implements GetAcl { protected AccessControlEntry[] getAccessControlEntries(Session session, String absPath) throws RepositoryException { AccessControlManager accessControlManager = AccessControlUtil.getAccessControlManager(session); AccessControlPolicy[] policies = accessControlManager.getPolicies(absPath); + List<AccessControlEntry> allEntries = new ArrayList<AccessControlEntry>(); for (AccessControlPolicy accessControlPolicy : policies) { if (accessControlPolicy instanceof AccessControlList) { AccessControlEntry[] accessControlEntries = ((AccessControlList)accessControlPolicy).getAccessControlEntries(); - return accessControlEntries; + for (AccessControlEntry accessControlEntry : accessControlEntries) { + allEntries.add(accessControlEntry); + } } } - return new AccessControlEntry[0]; + return allEntries.toArray(new AccessControlEntry[allEntries.size()]); } } diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.java index 620ad28..583180f 100644 --- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.java +++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.java @@ -16,6 +16,9 @@ */ package org.apache.sling.jcr.jackrabbit.accessmanager.post; +import java.util.ArrayList; +import java.util.List; + import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.security.AccessControlEntry; @@ -131,13 +134,16 @@ public class GetEffectiveAclServlet extends AbstractGetAclServlet implements Get protected AccessControlEntry[] getAccessControlEntries(Session session, String absPath) throws RepositoryException { AccessControlManager accessControlManager = AccessControlUtil.getAccessControlManager(session); AccessControlPolicy[] policies = accessControlManager.getEffectivePolicies(absPath); + List<AccessControlEntry> allEntries = new ArrayList<AccessControlEntry>(); for (AccessControlPolicy accessControlPolicy : policies) { if (accessControlPolicy instanceof AccessControlList) { AccessControlEntry[] accessControlEntries = ((AccessControlList)accessControlPolicy).getAccessControlEntries(); - return accessControlEntries; + for (AccessControlEntry accessControlEntry : accessControlEntries) { + allEntries.add(accessControlEntry); + } } } - return new AccessControlEntry[0]; + return allEntries.toArray(new AccessControlEntry[allEntries.size()]); } } -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
