[jboss-cvs] JBossAS SVN: r58041 - projects/security/trunk/src/main/org/jboss/security/mapping/providers
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Nov 2 23:44:53 EST 2006
Author: anil.saldhana at jboss.com
Date: 2006-11-02 23:44:52 -0500 (Thu, 02 Nov 2006)
New Revision: 58041
Modified:
projects/security/trunk/src/main/org/jboss/security/mapping/providers/MappingProviderUtil.java
Log:
additional utility methods
Modified: projects/security/trunk/src/main/org/jboss/security/mapping/providers/MappingProviderUtil.java
===================================================================
--- projects/security/trunk/src/main/org/jboss/security/mapping/providers/MappingProviderUtil.java 2006-11-03 04:44:15 UTC (rev 58040)
+++ projects/security/trunk/src/main/org/jboss/security/mapping/providers/MappingProviderUtil.java 2006-11-03 04:44:52 UTC (rev 58041)
@@ -25,6 +25,7 @@
import java.security.Principal;
import java.security.acl.Group;
import java.util.Enumeration;
+import java.util.HashSet;
import java.util.StringTokenizer;
import org.jboss.logging.Logger;
@@ -43,6 +44,19 @@
public static Logger log = Logger.getLogger(MappingProviderUtil.class);
/**
+ * Add principals passed via an enumeration into a group
+ * @param grp
+ * @param en
+ * @return
+ */
+ public static Group addPrincipals(Group grp, Enumeration<? extends Principal> en)
+ {
+ while(en.hasMoreElements())
+ grp.addMember(en.nextElement());
+ return grp;
+ }
+
+ /**
* Add the roles into the Group
* @param roles Group of roles
* @param addRoles
@@ -58,6 +72,7 @@
return roles;
}
+
/**
* Given a comma-separated list of roles, return a string array
* @param str
@@ -75,7 +90,7 @@
tokens[i] = st.nextToken();
}
return tokens;
- }
+ }
/**
* Instantiate a Principal representing a principal
@@ -100,6 +115,25 @@
}
/**
+ * Remove all the principals from the group
+ * @param grp
+ * @return
+ */
+ public static Group removePrincipals(Group grp)
+ {
+ HashSet<Principal> removeset = new HashSet<Principal>();
+ Enumeration<? extends Principal> en = grp.members();
+ while(en.hasMoreElements())
+ {
+ removeset.add(en.nextElement());
+ }
+
+ for(Principal p:removeset)
+ grp.removeMember(p);
+ return grp;
+ }
+
+ /**
* Remove the roles from the Group
* @param roles Group of roles
* @param removeRoles
@@ -114,6 +148,17 @@
roles.removeMember(instantiatePrincipal(pClass,str));
}
return roles;
+ }
+
+ /**
+ * Replace the principals in first group with those in the second
+ * @param fg
+ * @param sg
+ * @return
+ */
+ public static Group replacePrincipals(Group fg, Group sg)
+ {
+ return addPrincipals( removePrincipals(fg),sg.members());
}
private static Class getPrincipalClass(Group roles)
More information about the jboss-cvs-commits
mailing list