[jboss-cvs] JBossAS SVN: r60857 - branches/Branch_4_2/server/src/main/org/jboss/metadata.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 23 16:12:45 EST 2007


Author: anil.saldhana at jboss.com
Date: 2007-02-23 16:12:45 -0500 (Fri, 23 Feb 2007)
New Revision: 60857

Modified:
   branches/Branch_4_2/server/src/main/org/jboss/metadata/AssemblyDescriptorMetaData.java
Log:
JBAS-4149: get principal to roles mapping

Modified: branches/Branch_4_2/server/src/main/org/jboss/metadata/AssemblyDescriptorMetaData.java
===================================================================
--- branches/Branch_4_2/server/src/main/org/jboss/metadata/AssemblyDescriptorMetaData.java	2007-02-23 21:11:54 UTC (rev 60856)
+++ branches/Branch_4_2/server/src/main/org/jboss/metadata/AssemblyDescriptorMetaData.java	2007-02-23 21:12:45 UTC (rev 60857)
@@ -34,6 +34,7 @@
  * This implementation only contains the security-role meta data
  *
  * @author Thomas.Diesler at jboss.org
+ * @author Anil.Saldhana at jboss.org
  * @version $Revision$
  */
 public class AssemblyDescriptorMetaData extends MetaData
@@ -97,6 +98,37 @@
       return roleNames;
    }
    
+   /**
+    * Generate a Map of Principal keyed against a set of role names
+    * @return Map<Princpal,Set>
+    */
+   public Map<String,Set<String>> getPrincipalVersusRolesMap()
+   {
+      Map<String,Set<String>> principalRolesMap = null;
+
+      Iterator iter = securityRoles.keySet().iterator();
+      while(iter.hasNext())
+      {
+         if(principalRolesMap == null)
+            principalRolesMap = new HashMap<String,Set<String>>();
+         String rolename = (String)iter.next();
+         SecurityRoleMetaData srm = (SecurityRoleMetaData) securityRoles.get(rolename);
+         Iterator principalIter = srm.getPrincipals().iterator();
+         while(principalIter.hasNext())
+         {
+            String pr = (String)principalIter.next();
+            Set<String> roleset = (Set<String>)principalRolesMap.get(pr);
+            if(roleset == null)
+               roleset = new HashSet<String>();
+            if(!roleset.contains(rolename))
+               roleset.add(rolename);
+            principalRolesMap.put(pr, roleset);
+         }
+      }
+      return principalRolesMap;
+   }  
+   
+   
    public void addMessageDestinationMetaData(MessageDestinationMetaData metaData)
    {
       messageDestinations.put(metaData.getName(), metaData);




More information about the jboss-cvs-commits mailing list