00001 00026 package org.objectweb.jonas.security.jacc; 00027 00028 import java.util.HashMap; 00029 import java.util.Map; 00030 00037 public class JPolicyUserRoleMapping { 00038 00042 public static final String GLOBAL_CTXID = "global"; 00043 00048 private static Map jaccIdMappings = new HashMap(); 00049 00053 private JPolicyUserRoleMapping() { 00054 } 00055 00062 public static void addUserToRoleMapping(String contextId, String principalName, String[] roles) { 00063 Map mapping = (Map) jaccIdMappings.get(contextId); 00064 if (mapping == null) { 00065 mapping = new HashMap(); 00066 jaccIdMappings.put(contextId, mapping); 00067 } 00068 mapping.put(principalName, roles); 00069 } 00070 00076 public static void addGlobalUserToRoleMapping(String principalName, String[] roles) { 00077 addUserToRoleMapping(GLOBAL_CTXID, principalName, roles); 00078 } 00079 00087 public static String[] getMappingForPrincipal(String contextId, String principalName) { 00088 Map mapping = (Map) jaccIdMappings.get(contextId); 00089 if (mapping == null) { 00090 mapping = new HashMap(); 00091 jaccIdMappings.put(contextId, mapping); 00092 } 00093 return (String[]) mapping.get(principalName); 00094 } 00095 00102 public static String[] getGlobalMappingForPrincipal(String principalName) { 00103 return getMappingForPrincipal(GLOBAL_CTXID, principalName); 00104 } 00105 00110 public static void removeUserToRoleMapping(String contextId) { 00111 jaccIdMappings.remove(contextId); 00112 } 00113 00114 }