[jboss-cvs] JBossAS SVN: r103942 - projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/audit.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 13 17:05:43 EDT 2010


Author: mmoyses
Date: 2010-04-13 17:05:43 -0400 (Tue, 13 Apr 2010)
New Revision: 103942

Modified:
   projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/audit/JBossAuditManager.java
Log:
JBPAPP-4086: backporting SECURITY-499

Modified: projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/audit/JBossAuditManager.java
===================================================================
--- projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/audit/JBossAuditManager.java	2010-04-13 20:58:59 UTC (rev 103941)
+++ projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/audit/JBossAuditManager.java	2010-04-13 21:05:43 UTC (rev 103942)
@@ -9,6 +9,8 @@
 import java.security.PrivilegedActionException;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
+import java.util.WeakHashMap;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.jboss.logging.Logger;
@@ -20,7 +22,7 @@
 import org.jboss.security.audit.providers.LogAuditProvider;
 import org.jboss.security.config.ApplicationPolicy;
 import org.jboss.security.config.AuditInfo;
-import org.jboss.security.config.SecurityConfiguration;
+import org.jboss.security.config.SecurityConfiguration; 
 
 /**
  *  Manages a set of AuditContext
@@ -36,6 +38,8 @@
    
    private static AuditContext defaultContext = null;
    
+   private static Map<String, Class<?> > clazzMap = new WeakHashMap<String, Class<?>>();
+   
    static
    {
       defaultContext = new JBossAuditContext("Default_Context");
@@ -68,7 +72,14 @@
                   String pname = ape.getName();
                   try
                   {
-                     ac.addProvider((AuditProvider) SecurityActions.loadClass(pname).newInstance());
+                     Class<?> clazz = clazzMap.get(pname);
+                     if( clazz == null )
+                     {
+                        clazz = SecurityActions.loadClass(pname);
+                        clazzMap.put(pname, clazz); 
+                     }
+                     
+                     ac.addProvider((AuditProvider) clazz.newInstance());
                   }
                   catch (Exception e)
                   {




More information about the jboss-cvs-commits mailing list