You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ad...@apache.org on 2005/02/21 16:49:04 UTC
svn commit: r154683 -
geronimo/trunk/modules/security/src/java/org/apache/geronimo/security/jacc/GeronimoPolicyConfigurationFactory.java
Author: adc
Date: Mon Feb 21 07:49:01 2005
New Revision: 154683
URL: http://svn.apache.org/viewcvs?view=rev&rev=154683
Log:
Added singleton tracking of the Geronimo factory.
Modified:
geronimo/trunk/modules/security/src/java/org/apache/geronimo/security/jacc/GeronimoPolicyConfigurationFactory.java
Modified: geronimo/trunk/modules/security/src/java/org/apache/geronimo/security/jacc/GeronimoPolicyConfigurationFactory.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/security/src/java/org/apache/geronimo/security/jacc/GeronimoPolicyConfigurationFactory.java?view=diff&r1=154682&r2=154683
==============================================================================
--- geronimo/trunk/modules/security/src/java/org/apache/geronimo/security/jacc/GeronimoPolicyConfigurationFactory.java (original)
+++ geronimo/trunk/modules/security/src/java/org/apache/geronimo/security/jacc/GeronimoPolicyConfigurationFactory.java Mon Feb 21 07:49:01 2005
@@ -23,28 +23,45 @@
import javax.security.jacc.PolicyConfigurationFactory;
import javax.security.jacc.PolicyContextException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import org.apache.geronimo.security.GeronimoSecurityPermission;
/**
- *
* @version $Rev$ $Date$
*/
public class GeronimoPolicyConfigurationFactory extends PolicyConfigurationFactory {
+
+ private final Log log = LogFactory.getLog(GeronimoPolicyConfigurationFactory.class);
+ private static GeronimoPolicyConfigurationFactory singleton;
private Map configurations = new HashMap();
+ public GeronimoPolicyConfigurationFactory() {
+ if (singleton != null) {
+ log.warn("Singleton already assigned. There may be more than one GeronimoPolicyConfigurationFactory being used.");
+ }
+ singleton = this;
+ }
+
public void setPolicyConfiguration(String contextID, GeronimoPolicyConfiguration configuration) {
SecurityManager sm = System.getSecurityManager();
if (sm != null) sm.checkPermission(new GeronimoSecurityPermission("setPolicyConfiguration"));
configurations.put(contextID, configuration);
+
+ log.trace("Set policy configuration " + contextID);
}
public GeronimoPolicyConfiguration getGeronimoPolicyConfiguration(String contextID) throws PolicyContextException {
GeronimoPolicyConfiguration configuration = (GeronimoPolicyConfiguration) configurations.get(contextID);
+
if (configuration == null) {
throw new PolicyContextException("No policy configuration registered for contextID: " + contextID);
}
+
+ log.trace("Get policy configuration " + contextID);
return configuration;
}
@@ -58,13 +75,18 @@
configuration.open(remove);
}
+ log.trace("Get " + (remove ? "CLEANED" : "") + " policy configuration " + contextID);
return configuration;
}
public boolean inService(String contextID) throws PolicyContextException {
PolicyConfiguration configuration = getPolicyConfiguration(contextID, false);
+ log.trace("Policy configuration " + contextID + " put into service");
return configuration.inService();
}
+ static GeronimoPolicyConfigurationFactory getSingleton() {
+ return singleton;
+ }
}