You have to keep in mind that we have an API, and several classes & interfaces in user core will removed in the future.
On Fri, Feb 11, 2011 at 1:32 PM, Manjula Rathnayake <[email protected]>wrote: > Hi, > > I have to add some operations in authorization TreeNode.java class to set > SQS permissions. > > Following is the svn diff. > > Index: src/main/java/org/wso2/carbon/user/core/authorization/TreeNode.java > =================================================================== > --- src/main/java/org/wso2/carbon/user/core/authorization/TreeNode.java > (revision 87092) > +++ src/main/java/org/wso2/carbon/user/core/authorization/TreeNode.java > (working copy) > @@ -28,28 +28,43 @@ > * A node in the Tree structure used to maintain hierarchical security > permissions. The growth > * of the tree is on the order of explicit permission statements, and not > on the number of > * resources whose permissions are maintained. > - * > */ > public class TreeNode { > > - public static enum Permission { GET, ADD, DELETE, EDIT, LOGIN, > MAN_CONFIG, MAN_LC_CONFIG, MAN_SEC, UP_SERV, > - MAN_SERV, MAN_MEDIA, MON_SYS, DEL_ID, AUTHORIZE, INV_SER, > UI_EXECUTE, SUBSCRIBE, PUBLISH, CONSUME, BROWSE} > + public static enum Permission { > + GET, ADD, DELETE, EDIT, LOGIN, MAN_CONFIG, MAN_LC_CONFIG, MAN_SEC, > UP_SERV, > + MAN_SERV, MAN_MEDIA, MON_SYS, DEL_ID, AUTHORIZE, INV_SER, > UI_EXECUTE, SUBSCRIBE, PUBLISH, CONSUME, BROWSE, > + SQS_SEND_MESSAGE, SQS_RECEIVE_MESSAGE, SQS_DELETE_MESSAGE, > SQS_CHANGE_MESSAGE_VISIBILITY, SQS_GET_QUEUE_ATTRIBUTES > + } > > - /** The name of the node - For the Registry, this would be the name of > a Collection/Rsource */ > + /** > + * The name of the node - For the Registry, this would be the name of > a Collection/Rsource > + */ > private String name; > - /** The children of this node - maintained on a Map by the names */ > + /** > + * The children of this node - maintained on a Map by the names > + */ > private Map<String, TreeNode> children = new HashMap<String, > TreeNode>(); > - /** Explicit allow permission for specific users */ > + /** > + * Explicit allow permission for specific users > + */ > private Map<String, BitSet> userAllowPermissions = new HashMap<String, > BitSet>(); > - /** Explicit deny permission for specific users */ > - private Map<String, BitSet> userDenyPermissions = new HashMap<String, > BitSet>(); > - /** Explicit allow permission for specific roles */ > + /** > + * Explicit deny permission for specific users > + */ > + private Map<String, BitSet> userDenyPermissions = new HashMap<String, > BitSet>(); > + /** > + * Explicit allow permission for specific roles > + */ > private Map<String, BitSet> roleAllowPermissions = new HashMap<String, > BitSet>(); > - /** Explicit deny permission for specific roles */ > - private Map<String, BitSet> roleDenyPermissions = new HashMap<String, > BitSet>(); > + /** > + * Explicit deny permission for specific roles > + */ > + private Map<String, BitSet> roleDenyPermissions = new HashMap<String, > BitSet>(); > > /** > * Constructor > + * > * @param name the name of the TreeNode > */ > TreeNode(String name) { > @@ -58,6 +73,7 @@ > > /** > * Get the child by the given name > + * > * @param name name of the child node > * @return the child with the given name, or null > */ > @@ -67,8 +83,9 @@ > > /** > * Is the 'user' authorized for the given permission p on this node? > + * > * @param user the name of the user > - * @param p the permission > + * @param p the permission > * @return Boolean.TRUE if authorized, Boolean.FALSE if not > */ > public Boolean isUserAuthorized(String user, Permission p) { > @@ -81,14 +98,15 @@ > } else if (bsAlow != null && bsAlow.get(p.ordinal())) { > return Boolean.TRUE; > } > - > + > return null; > } > > /** > * Is the 'role' authorized for the given permission p on this node? > + * > * @param role the name of the role > - * @param p the permission > + * @param p the permission > * @return Boolean.TRUE if authorized, Boolean.FALSE if not > */ > public Boolean isRoleAuthorized(String role, Permission p) { > @@ -107,8 +125,9 @@ > > /** > * Grant explicit authorization to the 'user' on this node for > permission p > + * > * @param user the user who is granted authorization > - * @param p the permission granted > + * @param p the permission granted > */ > public void authorizeUser(String user, Permission p) { > BitSet bsAllow = userAllowPermissions.get(user); > @@ -128,8 +147,9 @@ > > /** > * Grant explicit authorization to the 'role' on this node for > permission p > + * > * @param role the role that is granted authorization > - * @param p the permission granted > + * @param p the permission granted > */ > public void authorizeRole(String role, Permission p) { > BitSet bsAllow = roleAllowPermissions.get(role); > @@ -149,8 +169,9 @@ > > /** > * Deny explicit authorization to the 'user' on this node for > permission p > + * > * @param user the user that is denied authorization > - * @param p the permission denied > + * @param p the permission denied > */ > public void denyUser(String user, Permission p) { > BitSet bsDeny = userDenyPermissions.get(user); > @@ -170,8 +191,9 @@ > > /** > * Deny explicit authorization to the 'role' on this node for > permission p > + * > * @param role the role that is denied authorization > - * @param p the permission denied > + * @param p the permission denied > */ > public void denyRole(String role, Permission p) { > BitSet bsDeny = roleDenyPermissions.get(role); > @@ -191,6 +213,7 @@ > > /** > * Create the tree structure for the given paths array of nodes > + * > * @param paths an array of hierarchical nodes to be created, in-order > * @return the reference to the lowest decendent created > */ > @@ -212,6 +235,7 @@ > > /** > * The name of the node > + * > * @return node name > */ > public String getName() { > @@ -220,6 +244,7 @@ > > /** > * The children of the node as a Map keyed by the name > + * > * @return the children as a Map > */ > public Map<String, TreeNode> getChildren() { > @@ -227,6 +252,7 @@ > } > > //-------- getters -------- > + > public Map<String, BitSet> getUserAllowPermissions() { > return userAllowPermissions; > } > @@ -255,7 +281,7 @@ > > Map<String, TreeNode> children = this.getChildren(); > if (null != children) { > - for (Map.Entry<String, TreeNode> entry : children.entrySet()){ > + for (Map.Entry<String, TreeNode> entry : children.entrySet()) > { > TreeNode node = entry.getValue(); > if (null != node) { > node.clearNodes(); > @@ -266,7 +292,7 @@ > } > } > > - public int hashCode () { > + public int hashCode() { > int hash = 7; > hash = 31 * hash + (null == this.name ? 0 : > this.name.hashCode()); > hash = 31 * hash + (null == this.children ? 0 : > this.children.hashCode()); > @@ -276,6 +302,6 @@ > hash = 31 * hash + (null == this.roleDenyPermissions ? 0 : > this.roleDenyPermissions.hashCode()); > hash = 31 * hash + (null == this.roleDenyPermissions ? 0 : > this.roleDenyPermissions.hashCode()); > return hash; > - } > + } > > } > Index: > src/main/java/org/wso2/carbon/user/core/authorization/PermissionTreeUtil.java > =================================================================== > --- > src/main/java/org/wso2/carbon/user/core/authorization/PermissionTreeUtil.java > (revision 87092) > +++ > src/main/java/org/wso2/carbon/user/core/authorization/PermissionTreeUtil.java > (working copy) > @@ -99,6 +99,16 @@ > return TreeNode.Permission.BROWSE; > } else if ("consume".equals(action)) { > return TreeNode.Permission.CONSUME; > + }else if ("SendMessage".equals(action)) { > + return TreeNode.Permission.SQS_SEND_MESSAGE; > + }else if ("ReceiveMessage".equals(action)) { > + return TreeNode.Permission.SQS_RECEIVE_MESSAGE; > + }else if ("DeleteMessage".equals(action)) { > + return TreeNode.Permission.SQS_DELETE_MESSAGE; > + }else if ("ChangeMessageVisibility".equals(action)) { > + return TreeNode.Permission.SQS_CHANGE_MESSAGE_VISIBILITY; > + }else if ("GetQueueAttributes".equals(action)) { > + return TreeNode.Permission.SQS_GET_QUEUE_ATTRIBUTES; > } > > throw new IllegalArgumentException("Invalid action : " + action); > > May I commit these changes to carbon user core module? > > > Thank you. > -- > Manjula Rathnayaka > Software Engineer > WSO2, Inc. > Mobile:+94 77 743 1987 > > _______________________________________________ > Carbon-dev mailing list > [email protected] > http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev > > -- *Afkham Azeez* Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com, * * *Member; Apache Software Foundation; **http://www.apache.org/*<http://www.apache.org/> * email: **[email protected]* <[email protected]>* cell: +94 77 3320919 blog: **http://blog.afkham.org* <http://blog.afkham.org>* twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> * linked-in: **http://lk.linkedin.com/in/afkhamazeez* * * *Lean . Enterprise . Middleware*
_______________________________________________ Carbon-dev mailing list [email protected] http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
