[jboss-cvs] JBossAS SVN: r62844 - in projects/microcontainer/trunk: kernel/src/main/org/jboss/beans/metadata/plugins and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon May 7 15:16:41 EDT 2007


Author: alesj
Date: 2007-05-07 15:16:41 -0400 (Mon, 07 May 2007)
New Revision: 62844

Modified:
   projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/ProgressionConvertorFactory.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/CallbackCreatorUtil.java
Log:
Priviliged block expansion - incudes instantiation as well.

Modified: projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/ProgressionConvertorFactory.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/ProgressionConvertorFactory.java	2007-05-07 18:57:15 UTC (rev 62843)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/ProgressionConvertorFactory.java	2007-05-07 19:16:41 UTC (rev 62844)
@@ -54,8 +54,7 @@
       if (convertor == null)
       {
          ConvertorLookup lookup = new ConvertorLookup();
-         String convertorClass = AccessController.doPrivileged(lookup);
-         convertor = (ProgressionConvertor) ReflectionUtils.newInstance(convertorClass);
+         convertor = AccessController.doPrivileged(lookup);
       }
       return convertor;
    }
@@ -65,11 +64,20 @@
       this.convertorClassName = convertorClassName;
    }
 
-   private class ConvertorLookup implements PrivilegedExceptionAction<String>
+   private class ConvertorLookup implements PrivilegedExceptionAction<ProgressionConvertor>
    {
-      public String run() throws Exception
+      public ProgressionConvertor run() throws Exception
       {
-         return System.getProperty("org.jboss.reflect.plugins.progressionConvertor", convertorClassName);
+         try
+         {
+            String convertorClass = System.getProperty("org.jboss.reflect.plugins.progressionConvertor", convertorClassName);
+            Object result = ReflectionUtils.newInstance(convertorClass);
+            return ProgressionConvertor.class.cast(result);
+         }
+         catch (Throwable t)
+         {
+            throw new Exception("Exception while creating convertor instance.", t);
+         }
       }
    }
 

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/CallbackCreatorUtil.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/CallbackCreatorUtil.java	2007-05-07 18:57:15 UTC (rev 62843)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/CallbackCreatorUtil.java	2007-05-07 19:16:41 UTC (rev 62844)
@@ -22,7 +22,7 @@
 package org.jboss.beans.metadata.plugins;
 
 import java.security.AccessController;
-import java.security.PrivilegedExceptionAction;
+import java.security.PrivilegedAction;
 
 import org.jboss.beans.info.spi.PropertyInfo;
 import org.jboss.dependency.spi.CallbackItem;
@@ -176,28 +176,29 @@
    {
       if (factory == null)
       {
+            FactoryLookup lookup = new FactoryLookup();
+            factory = AccessController.doPrivileged(lookup);
+      }
+      return factory;
+   }
+
+   // Privileged system property lookup + factory creation
+   private static class FactoryLookup implements PrivilegedAction<CollectionCallbackItemFactory>
+   {
+      public CollectionCallbackItemFactory run()
+      {
          try
          {
-            FactoryLookup lookup = new FactoryLookup();
-            String factoryClassName = AccessController.doPrivileged(lookup);
-            return (CollectionCallbackItemFactory)ReflectionUtils.newInstance(factoryClassName);
+            String factoryClassName = System.getProperty("org.jboss.dependency.collectionCallbackItemFactory", BasicCollectionCallbackItemFactory.class.getName());
+            Object result = ReflectionUtils.newInstance(factoryClassName);
+            return CollectionCallbackItemFactory.class.cast(result);
          }
          catch (Throwable t)
          {
             getLog().warn("Exception while creating CollectionCallbackItemFactory, using basic one instead.", t);
-            factory = new BasicCollectionCallbackItemFactory();
+            return new BasicCollectionCallbackItemFactory();
          }
       }
-      return factory;
    }
 
-   // Privileged system property lookup
-   private static class FactoryLookup implements PrivilegedExceptionAction<String>
-   {
-      public String run() throws Exception
-      {
-         return System.getProperty("org.jboss.dependency.collectionCallbackItemFactory", BasicCollectionCallbackItemFactory.class.getName());
-      }
-   }
-
 }




More information about the jboss-cvs-commits mailing list