00001 00026 package org.objectweb.jonas_lib.security.jacc; 00027 00028 import java.util.HashMap; 00029 import java.util.Map; 00030 00031 import javax.security.jacc.PolicyContextException; 00032 00038 public class JPolicyConfigurationKeeper { 00039 00043 private static Map policyConfigurations = new HashMap(); 00044 00048 private JPolicyConfigurationKeeper() { 00049 } 00050 00055 public static void addConfiguration(JPolicyConfiguration config) { 00056 try { 00057 policyConfigurations.put(config.getContextID(), config); 00058 } catch (PolicyContextException pce) { 00059 throw new RuntimeException("Cannot add the policy configuration object '" + config + "'"); 00060 } 00061 } 00062 00067 public static void removeConfiguration(JPolicyConfiguration config) { 00068 try { 00069 if (policyConfigurations.containsKey(config.getContextID())) { 00070 policyConfigurations.remove(config.getContextID()); 00071 } 00072 } catch (PolicyContextException pce) { 00073 throw new RuntimeException("Cannot remove the policy configuration object '" + config + "'"); 00074 } 00075 } 00076 00082 public static JPolicyConfiguration getConfiguration(String contextId) { 00083 return (JPolicyConfiguration) policyConfigurations.get(contextId); 00084 } 00085 }