[jboss-cvs] Picketbox SVN: r204 - in tags/4.0.0.Beta1: security-jboss-sx/jbosssx/src/main/java/org/jboss/security/authorization/modules and 5 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 19 11:10:55 EDT 2011


Author: mmoyses
Date: 2011-04-19 11:10:54 -0400 (Tue, 19 Apr 2011)
New Revision: 204

Modified:
   tags/4.0.0.Beta1/security-jboss-sx/identity/src/main/java/org/jboss/security/identity/plugins/SecurityActions.java
   tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java
   tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/audit/SecurityActions.java
   tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/authorization/JBossAuthorizationContext.java
   tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/mapping/JBossMappingManager.java
   tags/4.0.0.Beta1/security-spi/identity/src/main/java/org/jboss/security/identity/RoleFactory.java
   tags/4.0.0.Beta1/security-spi/spi/src/main/java/org/jboss/security/javaee/SecurityActions.java
Log:
SECURITY-588: use defining classloader first

Modified: tags/4.0.0.Beta1/security-jboss-sx/identity/src/main/java/org/jboss/security/identity/plugins/SecurityActions.java
===================================================================
--- tags/4.0.0.Beta1/security-jboss-sx/identity/src/main/java/org/jboss/security/identity/plugins/SecurityActions.java	2011-04-19 15:10:07 UTC (rev 203)
+++ tags/4.0.0.Beta1/security-jboss-sx/identity/src/main/java/org/jboss/security/identity/plugins/SecurityActions.java	2011-04-19 15:10:54 UTC (rev 204)
@@ -43,12 +43,19 @@
          {
             try
             {
-               ClassLoader tcl = Thread.currentThread().getContextClassLoader();
-               return tcl.loadClass(FQN);
+               return getClass().getClassLoader().loadClass(FQN);
             }
-            catch (Exception e)
+            catch (Exception ignore)
             {
-               throw new RuntimeException(e);
+               try
+               {
+                  ClassLoader tcl = Thread.currentThread().getContextClassLoader();
+                  return tcl.loadClass(FQN);
+               }
+               catch (Exception e)
+               {
+                  throw new RuntimeException(e);
+               }
             }
          }
       });

Modified: tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java
===================================================================
--- tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java	2011-04-19 15:10:07 UTC (rev 203)
+++ tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java	2011-04-19 15:10:54 UTC (rev 204)
@@ -164,11 +164,18 @@
    protected AuthorizationModuleDelegate getDelegate(String delegateStr) 
    throws Exception
    {
-      ClassLoader tcl = SecurityActions.getContextClassLoader();
       Class<?> clazz = clazzMap.get(delegateStr);
       if(clazz == null)
       {
-         clazz = tcl.loadClass(delegateStr);
+         try
+         {
+            clazz = getClass().getClassLoader().loadClass(delegateStr);
+         }
+         catch (Exception e)
+         {
+            ClassLoader tcl = SecurityActions.getContextClassLoader();
+            clazz = tcl.loadClass(delegateStr);
+         }
          clazzMap.put(delegateStr, clazz); 
       } 
       

Modified: tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/audit/SecurityActions.java
===================================================================
--- tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/audit/SecurityActions.java	2011-04-19 15:10:07 UTC (rev 203)
+++ tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/audit/SecurityActions.java	2011-04-19 15:10:54 UTC (rev 204)
@@ -52,12 +52,19 @@
          {
             try
             {
-               return getContextClassLoader().loadClass(name);
+               return getClass().getClassLoader().loadClass(name);
             }
-            catch ( Exception e)
+            catch (Exception ignore)
             {
-               throw new PrivilegedActionException(e);
-            } 
+               try
+               {
+                  return getContextClassLoader().loadClass(name);
+               }
+               catch (Exception e)
+               {
+                  throw new PrivilegedActionException(e);
+               }
+            }
          }
       });
    }

Modified: tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/authorization/JBossAuthorizationContext.java
===================================================================
--- tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/authorization/JBossAuthorizationContext.java	2011-04-19 15:10:07 UTC (rev 203)
+++ tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/authorization/JBossAuthorizationContext.java	2011-04-19 15:10:54 UTC (rev 204)
@@ -306,13 +306,20 @@
          throws PrivilegedActionException
    {
       AuthorizationModule am = null;
-      ClassLoader tcl = SecurityActions.getContextClassLoader();
       try
       {
          Class<?> clazz = clazzMap.get(name);
          if(clazz == null)
          {
-            clazz = tcl.loadClass(name);
+            try
+            {
+               clazz = getClass().getClassLoader().loadClass(name);
+            }
+            catch (Exception ignore)
+            {
+               ClassLoader tcl = SecurityActions.getContextClassLoader();
+               clazz = tcl.loadClass(name);
+            }
             clazzMap.put(name, clazz);
          }   
             

Modified: tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/mapping/JBossMappingManager.java
===================================================================
--- tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/mapping/JBossMappingManager.java	2011-04-19 15:10:07 UTC (rev 203)
+++ tags/4.0.0.Beta1/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/plugins/mapping/JBossMappingManager.java	2011-04-19 15:10:54 UTC (rev 204)
@@ -138,7 +138,6 @@
    @SuppressWarnings("unchecked")
    private <T> MappingProvider<T> getMappingProvider(MappingModuleEntry mme)
    {
-      ClassLoader tcl = SecurityActions.getContextClassLoader();
       MappingProvider<T> mp = null;
       try
       {
@@ -146,7 +145,15 @@
          Class<?> clazz = clazzMap.get(fqn);
          if( clazz == null )
          {
-            clazz = tcl.loadClass(fqn);
+            try
+            {
+               clazz = getClass().getClassLoader().loadClass(fqn);
+            }
+            catch (Exception e)
+            {
+               ClassLoader tcl = SecurityActions.getContextClassLoader();
+               clazz = tcl.loadClass(fqn);
+            }
             clazzMap.put(fqn, clazz); 
          } 
          mp = (MappingProvider<T>) clazz.newInstance();

Modified: tags/4.0.0.Beta1/security-spi/identity/src/main/java/org/jboss/security/identity/RoleFactory.java
===================================================================
--- tags/4.0.0.Beta1/security-spi/identity/src/main/java/org/jboss/security/identity/RoleFactory.java	2011-04-19 15:10:07 UTC (rev 203)
+++ tags/4.0.0.Beta1/security-spi/identity/src/main/java/org/jboss/security/identity/RoleFactory.java	2011-04-19 15:10:54 UTC (rev 204)
@@ -50,8 +50,15 @@
          Class<?> clazz = clazzMap.get(SIMPLE_ROLE_CLASS);
          if( clazz == null )
          {
-            ClassLoader tcl = Thread.currentThread().getContextClassLoader();
-            clazz = tcl.loadClass(SIMPLE_ROLE_CLASS); 
+            try
+            {
+               clazz = getClass().getClassLoader().loadClass(name);
+            }
+            catch (Exception e)
+            {
+               ClassLoader tcl = Thread.currentThread().getContextClassLoader();
+               clazz = tcl.loadClass(SIMPLE_ROLE_CLASS);
+            }
          }
          
          Constructor<?> ctr = clazz.getConstructor(new Class[] {String.class});
@@ -69,8 +76,15 @@
          Class<?> clazz = clazzMap.get(SIMPLE_ROLEGROUP_CLASS);
          if( clazz == null )
          {
-            ClassLoader tcl = Thread.currentThread().getContextClassLoader();
-            clazz = tcl.loadClass(SIMPLE_ROLEGROUP_CLASS); 
+            try
+            {
+               clazz = getClass().getClassLoader().loadClass(name);
+            }
+            catch (Exception e)
+            {
+               ClassLoader tcl = Thread.currentThread().getContextClassLoader();
+               clazz = tcl.loadClass(SIMPLE_ROLEGROUP_CLASS);
+            }
          }
           
          Constructor<?> ctr = clazz.getConstructor(new Class[] {String.class});

Modified: tags/4.0.0.Beta1/security-spi/spi/src/main/java/org/jboss/security/javaee/SecurityActions.java
===================================================================
--- tags/4.0.0.Beta1/security-spi/spi/src/main/java/org/jboss/security/javaee/SecurityActions.java	2011-04-19 15:10:07 UTC (rev 203)
+++ tags/4.0.0.Beta1/security-spi/spi/src/main/java/org/jboss/security/javaee/SecurityActions.java	2011-04-19 15:10:54 UTC (rev 204)
@@ -40,8 +40,15 @@
       {
          public Class<?> run() throws Exception
          {
-            ClassLoader tcl = Thread.currentThread().getContextClassLoader();
-            return tcl.loadClass(fqn);
+            try
+            {
+               return getClass().getClassLoader().loadClass(fqn);
+            }
+            catch (Exception e)
+            {
+               ClassLoader tcl = Thread.currentThread().getContextClassLoader();
+               return tcl.loadClass(fqn);
+            }
          }
       });
    }



More information about the jboss-cvs-commits mailing list