You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2014/06/19 12:15:40 UTC

svn commit: r1603814 - in /jackrabbit/branches/2.8: ./ jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/jackrabbit/authorization/AccessControlUtils.java

Author: angela
Date: Thu Jun 19 10:15:40 2014
New Revision: 1603814

URL: http://svn.apache.org/r1603814
Log:
JCR-3789 (merge changes made with rev. 1603769)

Modified:
    jackrabbit/branches/2.8/   (props changed)
    jackrabbit/branches/2.8/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/jackrabbit/authorization/AccessControlUtils.java

Propchange: jackrabbit/branches/2.8/
------------------------------------------------------------------------------
  Merged /jackrabbit/trunk:r1603769

Modified: jackrabbit/branches/2.8/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/jackrabbit/authorization/AccessControlUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.8/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/jackrabbit/authorization/AccessControlUtils.java?rev=1603814&r1=1603813&r2=1603814&view=diff
==============================================================================
--- jackrabbit/branches/2.8/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/jackrabbit/authorization/AccessControlUtils.java (original)
+++ jackrabbit/branches/2.8/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/jackrabbit/authorization/AccessControlUtils.java Thu Jun 19 10:15:40 2014
@@ -282,7 +282,14 @@ public class AccessControlUtils {
      */
     public static boolean clear(Session session, String absPath, String principalName) throws RepositoryException {
         AccessControlManager acm = session.getAccessControlManager();
-        JackrabbitAccessControlList acl = getAccessControlList(acm, absPath);
+        JackrabbitAccessControlList acl = null;
+        // only clear if there is an existing acl (no need to retrieve applicable policies)
+        AccessControlPolicy[] pcls = acm.getPolicies(absPath);
+        for (AccessControlPolicy policy : pcls) {
+            if (policy instanceof JackrabbitAccessControlList) {
+                acl = (JackrabbitAccessControlList) policy;
+            }
+        }
         if (acl != null) {
             if (principalName == null) {
                 acm.removePolicy(absPath, acl);