package org.jboss.as.quickstarts.datagrid.securecache;
import java.security.Principal;
import org.jboss.security.SimpleGroup;
import org.jboss.security.SimplePrincipal;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Set;
import org.infinispan.security.PrincipalRoleMapper;
import org.infinispan.security.PrincipalRoleMapperContext;
public class JAASPrincipalRoleMapper implements PrincipalRoleMapper {
public Set<String> principalToRoles(Principal principal) {
if(principal instanceof SimpleGroup) {
SimpleGroup sg = (SimpleGroup) principal;
@SuppressWarnings("rawtypes")
Enumeration members = sg.members();
HashSet<String> roles = new HashSet<String>();
while(members.hasMoreElements()) {
Object obj = members.nextElement();
if(obj instanceof SimplePrincipal) {
roles.add(((SimplePrincipal) obj).getName());
}
}
return roles;
} else {
return null;
}
}
public void setContext(PrincipalRoleMapperContext context) {
}
}