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