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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 13 17:18:53 EDT 2010


Author: mmoyses
Date: 2010-04-13 17:18:53 -0400 (Tue, 13 Apr 2010)
New Revision: 103943

Modified:
   projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/mapping/JBossMappingManager.java
   projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/mapping/SecurityActions.java
Log:
JBPAPP-4086: backporting SECURITY-500

Modified: projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/mapping/JBossMappingManager.java
===================================================================
--- projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/mapping/JBossMappingManager.java	2010-04-13 21:05:43 UTC (rev 103942)
+++ projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/mapping/JBossMappingManager.java	2010-04-13 21:18:53 UTC (rev 103943)
@@ -22,18 +22,19 @@
 package org.jboss.security.plugins.mapping;
 
 import java.util.ArrayList;
+import java.util.Map;
+import java.util.WeakHashMap;
 
 import org.jboss.logging.Logger;
 import org.jboss.security.SecurityConstants;
 import org.jboss.security.SecurityContext;
 import org.jboss.security.config.ApplicationPolicy;
 import org.jboss.security.config.MappingInfo;
-import org.jboss.security.config.SecurityConfiguration;
+import org.jboss.security.config.SecurityConfiguration; 
 import org.jboss.security.mapping.MappingContext;
 import org.jboss.security.mapping.MappingManager;
 import org.jboss.security.mapping.MappingProvider;
 import org.jboss.security.mapping.config.MappingModuleEntry;
-import org.jboss.security.plugins.JBossSecurityContext;
 
 
 /**
@@ -44,11 +45,13 @@
  */
 public class JBossMappingManager implements MappingManager
 {   
-   protected static final Logger log = Logger.getLogger(JBossSecurityContext.class); 
+   protected static final Logger log = Logger.getLogger(JBossMappingManager.class); 
    protected boolean trace = log.isTraceEnabled();  
    
    private String securityDomain;
 
+   private static Map<String, Class<?> > clazzMap = new WeakHashMap<String, Class<?>>();
+
    public JBossMappingManager(String domain)
    {
      this.securityDomain = domain;   
@@ -139,8 +142,13 @@
       try
       {
          String fqn = mme.getMappingModuleName();
-         Class<?> cl = SecurityActions.loadClass(fqn,tcl);
-         mp = (MappingProvider<T>) cl.newInstance();
+         Class<?> clazz = clazzMap.get(fqn);
+         if( clazz == null )
+         {
+            clazz = tcl.loadClass(fqn);
+            clazzMap.put(fqn, clazz); 
+         } 
+         mp = (MappingProvider<T>) clazz.newInstance();
          mp.init(mme.getOptions());
       }
       catch(Exception e)
@@ -150,4 +158,4 @@
       } 
       return mp; 
    }
-}
\ No newline at end of file
+}

Modified: projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/mapping/SecurityActions.java
===================================================================
--- projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/mapping/SecurityActions.java	2010-04-13 21:05:43 UTC (rev 103942)
+++ projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/mapping/SecurityActions.java	2010-04-13 21:18:53 UTC (rev 103943)
@@ -23,8 +23,6 @@
 
 import java.security.AccessController;
 import java.security.PrivilegedAction;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
  
 /**
  *  Privileged Blocks
@@ -44,16 +42,4 @@
         }
      });
   }
-  
-  static Class<?> loadClass(final String fqn, final ClassLoader tcl) 
-  throws PrivilegedActionException
-  {
-     return AccessController.doPrivileged(new PrivilegedExceptionAction<Class<?>>()
-     { 
-        public Class<?> run() throws PrivilegedActionException, ClassNotFoundException
-        {
-           return tcl.loadClass(fqn);
-        }
-     });   
-  }
-}
\ No newline at end of file
+}




More information about the jboss-cvs-commits mailing list