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;
+    }
 }


Reply via email to