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);