[jboss-cvs] JBossAS SVN: r65915 - projects/metadata/trunk/src/main/java/org/jboss/metadata.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Oct 8 11:02:50 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-10-08 11:02:50 -0400 (Mon, 08 Oct 2007)
New Revision: 65915

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/AssemblyDescriptorMetaData.java
Log:
Add public Map<String, Set<String>> getPrincipalVersusRolesMap()

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/AssemblyDescriptorMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/AssemblyDescriptorMetaData.java	2007-10-08 14:51:54 UTC (rev 65914)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/AssemblyDescriptorMetaData.java	2007-10-08 15:02:50 UTC (rev 65915)
@@ -22,6 +22,8 @@
 package org.jboss.metadata;
 
 import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Set;
@@ -108,6 +110,33 @@
    }
 
    /**
+    * Generate a Map of Principal keyed against a set of role names
+    * @return
+    */
+   public Map<String, Set<String>> getPrincipalVersusRolesMap()
+   {
+      Map<String, Set<String>> principalRolesMap = null;
+      
+      Map<String, SecurityRoleMetaData> secroles = getSecurityRoles();
+      for(SecurityRoleMetaData srm : secroles.values())
+      {
+         String rolename = srm.getRoleName();
+         if(principalRolesMap == null)
+            principalRolesMap = new HashMap<String, Set<String>>();
+         for(String pr : srm.getPrincipals())
+         {
+            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;
+   }
+
+   /**
     * Get a message destination by name
     * 
     * @param name the name




More information about the jboss-cvs-commits mailing list