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]>.

Reply via email to