[jboss-cvs] JBossAS SVN: r67079 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/ejb and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Nov 14 12:05:35 EST 2007
Author: anil.saldhana at jboss.com
Date: 2007-11-14 12:05:34 -0500 (Wed, 14 Nov 2007)
New Revision: 67079
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
Log:
add a principal versus roles map in the JBossAssemblyDescriptorMetaData
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java 2007-11-14 16:59:47 UTC (rev 67078)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java 2007-11-14 17:05:34 UTC (rev 67079)
@@ -22,6 +22,9 @@
package org.jboss.metadata.ejb.jboss;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
import java.util.Set;
import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
@@ -346,6 +349,31 @@
return Collections.emptySet();
return securityRoles.getSecurityRoleNamesByPrincipal(userName);
}
+
+ /**
+ * Generate a Map of Principal keyed against a set of role names
+ * @return map of principal names as keys and set of role name strings as values
+ */
+ public Map<String,Set<String>> getPrincipalVersusRolesMap()
+ {
+ Map<String,Set<String>> principalRolesMap = new HashMap<String,Set<String>>();
+ Set<String> roleNameSet = securityRoles.keySet();
+ for(String rolename: roleNameSet)
+ {
+ SecurityRoleMetaData srm = (SecurityRoleMetaData) securityRoles.get(rolename);
+ Set<String> principals = srm.getPrincipals();
+ for(String pr:principals)
+ {
+ 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 the messageDestinations.
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java 2007-11-14 16:59:47 UTC (rev 67078)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java 2007-11-14 17:05:34 UTC (rev 67079)
@@ -23,6 +23,7 @@
import java.util.Collection;
import java.util.HashSet;
+import java.util.Map;
import java.util.Set;
import junit.framework.Test;
@@ -1189,6 +1190,25 @@
assertId("assembly-descriptor", assemblyDescriptorMetaData);
assertSecurityRoles(2, assemblyDescriptorMetaData.getSecurityRoles());
assertMessageDestinations(2, assemblyDescriptorMetaData.getMessageDestinations());
+ Map<String,Set<String>> prmap = assemblyDescriptorMetaData.getPrincipalVersusRolesMap();
+ assertNotNull(prmap);
+ //Check the keys
+ assertTrue(prmap.containsKey("securityRole1Principal1"));
+ assertTrue(prmap.containsKey("securityRole1Principal2"));
+ assertTrue(prmap.containsKey("securityRole2Principal1"));
+ assertTrue(prmap.containsKey("securityRole2Principal2"));
+ //Check the values
+ assertTrue(prmap.get("securityRole1Principal1").size() == 1);
+ assertTrue(prmap.get("securityRole1Principal1").contains("securityRoleRef1RoleLink"));
+
+ assertTrue(prmap.get("securityRole1Principal2").size() == 1);
+ assertTrue(prmap.get("securityRole1Principal2").contains("securityRoleRef1RoleLink"));
+
+ assertTrue(prmap.get("securityRole2Principal1").size() == 1);
+ assertTrue(prmap.get("securityRole2Principal1").contains("securityRoleRef2RoleLink"));
+
+ assertTrue(prmap.get("securityRole2Principal2").size() == 1);
+ assertTrue(prmap.get("securityRole2Principal2").contains("securityRoleRef2RoleLink"));
}
@Override
More information about the jboss-cvs-commits
mailing list