[jboss-cvs] JBossAS SVN: r103587 - projects/security/security-spi/branches/Branch_2_0/spi/src/main/java/org/jboss/security/javaee.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 6 13:43:29 EDT 2010


Author: anil.saldhana at jboss.com
Date: 2010-04-06 13:43:28 -0400 (Tue, 06 Apr 2010)
New Revision: 103587

Modified:
   projects/security/security-spi/branches/Branch_2_0/spi/src/main/java/org/jboss/security/javaee/SecurityHelperFactory.java
Log:
SECURITY-495: cache the class instance

Modified: projects/security/security-spi/branches/Branch_2_0/spi/src/main/java/org/jboss/security/javaee/SecurityHelperFactory.java
===================================================================
--- projects/security/security-spi/branches/Branch_2_0/spi/src/main/java/org/jboss/security/javaee/SecurityHelperFactory.java	2010-04-06 17:17:38 UTC (rev 103586)
+++ projects/security/security-spi/branches/Branch_2_0/spi/src/main/java/org/jboss/security/javaee/SecurityHelperFactory.java	2010-04-06 17:43:28 UTC (rev 103587)
@@ -36,7 +36,10 @@
    
    private static String EjbAuthorizationHelperClass = 
       "org.jboss.security.plugins.javaee.EJBAuthorizationHelper";
-
+   
+   private static Class<?> webAuthorizationHelperClazz;
+   private static Class<?> ejbAuthorizationHelperClazz;
+      
    /**
     * Get the EJB Authentication Helper given a security context
     * @param sc
@@ -56,8 +59,12 @@
    public static AbstractWebAuthorizationHelper getWebAuthorizationHelper(SecurityContext sc) 
    throws Exception
    {
-      Class<?> clazz = SecurityActions.loadClass(WebAuthorizationHelperClass);
-      AbstractWebAuthorizationHelper awh = (AbstractWebAuthorizationHelper) clazz.newInstance();
+      if(webAuthorizationHelperClazz == null)
+      {
+         webAuthorizationHelperClazz = SecurityActions.loadClass(WebAuthorizationHelperClass);
+      } 
+      
+      AbstractWebAuthorizationHelper awh = (AbstractWebAuthorizationHelper) webAuthorizationHelperClazz.newInstance();
       awh.setSecurityContext(sc);
       return awh;
    }
@@ -71,8 +78,11 @@
    public static AbstractEJBAuthorizationHelper getEJBAuthorizationHelper(SecurityContext sc) 
    throws Exception
    {
-      Class<?> clazz = SecurityActions.loadClass(EjbAuthorizationHelperClass);
-      AbstractEJBAuthorizationHelper awh = (AbstractEJBAuthorizationHelper) clazz.newInstance();
+      if(ejbAuthorizationHelperClazz == null)
+      {
+         ejbAuthorizationHelperClazz = SecurityActions.loadClass(EjbAuthorizationHelperClass);
+      }
+      AbstractEJBAuthorizationHelper awh = (AbstractEJBAuthorizationHelper) ejbAuthorizationHelperClazz.newInstance();
       awh.setSecurityContext(sc);
       return awh;
    }
@@ -84,6 +94,7 @@
    public static void setEJBAuthorizationHelperClass(String fqn)
    {
       EjbAuthorizationHelperClass = fqn;
+      ejbAuthorizationHelperClazz = null;
    }
    
    /**
@@ -93,5 +104,6 @@
    public static void setWebAuthorizationHelperClass(String fqn)
    {
       WebAuthorizationHelperClass = fqn;
+      webAuthorizationHelperClazz = null;
    }
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list