Author: jvazquez
Date: Tue Feb 24 10:41:22 2009
New Revision: 747329

URL: http://svn.apache.org/viewvc?rev=747329&view=rev
Log:
SLING-871: Add new method to AccessControlUtil to determine if an 
AccessControlEntry contains granted privileges or denied privileges 
https://issues.apache.org/jira/browse/SLING-871

Modified:
    
incubator/sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/util/AccessControlUtil.java

Modified: 
incubator/sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/util/AccessControlUtil.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/util/AccessControlUtil.java?rev=747329&r1=747328&r2=747329&view=diff
==============================================================================
--- 
incubator/sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/util/AccessControlUtil.java
 (original)
+++ 
incubator/sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/util/AccessControlUtil.java
 Tue Feb 24 10:41:22 2009
@@ -29,6 +29,7 @@
 import javax.jcr.UnsupportedRepositoryOperationException;
 
 import org.apache.jackrabbit.api.JackrabbitSession;
+import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry;
 import org.apache.jackrabbit.api.jsr283.security.AccessControlException;
 import org.apache.jackrabbit.api.jsr283.security.AccessControlList;
 import org.apache.jackrabbit.api.jsr283.security.AccessControlManager;
@@ -57,7 +58,10 @@
     private static final String METHOD_JACKRABBIT_ACL_SIZE = "size";
     // the name of the JackrabbitAccessControlList method 
     private static final String METHOD_JACKRABBIT_ACL_ADD_ENTRY = "addEntry";
-    
+    // the name of the JackrabbitAccessControlEntry method 
+    private static final String METHOD_JACKRABBIT_ACE_IS_ALLOW = "isAllow";
+
+
        
     // ---------- SessionImpl methods 
-----------------------------------------------------
     
@@ -203,7 +207,17 @@
        Class[] types = new Class[] {Principal.class, Privilege[].class, 
boolean.class, Map.class};
                return safeInvokeRepoMethod(acl, 
METHOD_JACKRABBIT_ACL_ADD_ENTRY, Boolean.class, args, types);
     }
-
+    
+    // ---------- AccessControlEntry methods 
-----------------------------------------------
+    
+    /**
+     * Returns true if the AccessControlEntry represents 'allowed' rights or 
false 
+     * it it represents 'denied' rights.
+     */
+    public static boolean isAllow(AccessControlEntry ace) throws 
RepositoryException {
+               return safeInvokeRepoMethod(ace, 
METHOD_JACKRABBIT_ACE_IS_ALLOW, Boolean.class);
+    }
+    
     // ---------- internal 
-----------------------------------------------------
     
     /**


Reply via email to