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
-----------------------------------------------------
/**