[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