summaryrefslogtreecommitdiff
path: root/java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2010-05-31 16:03:41 +0000
committerRobert Gemmell <robbie@apache.org>2010-05-31 16:03:41 +0000
commit48e49bef0775e91625ba7b5c03823dbaca943bf7 (patch)
treef987246a0d61c3a23e5c52b9a233778d57e3fca4 /java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java
parenta2d26b71f141f3166bdd0342b481723d98b0bb99 (diff)
downloadqpid-python-48e49bef0775e91625ba7b5c03823dbaca943bf7.tar.gz
QPID-2606: Access Control Modifications
Applied patch from Andrew Kennedy <andrew.international@gmail.com> git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@949781 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java35
1 files changed, 22 insertions, 13 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java b/java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java
index b65b0cdc6c..49b3a331f9 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java
@@ -20,19 +20,28 @@
*/
package org.apache.qpid.server.security.access;
-import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.server.exchange.Exchange;
-import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.commons.lang.StringUtils;
+/**
+ * An enumeration of all possible permissions that can be applied to an access control v2 rule.
+ */
public enum Permission
{
- CONSUME,
- PUBLISH,
- CREATEQUEUE,
- CREATEEXCHANGE,
- ACCESS,
- BIND,
- UNBIND,
- DELETE,
- PURGE
-}
+ ALLOW,
+ ALLOW_LOG,
+ DENY,
+ DENY_LOG;
+
+ public static Permission parse(String text)
+ {
+
+ for (Permission permission : values())
+ {
+ if (permission.name().equalsIgnoreCase(StringUtils.replaceChars(text, '-', '_')))
+ {
+ return permission;
+ }
+ }
+ throw new IllegalArgumentException("Not a valid permission: " + text);
+ }
+} \ No newline at end of file