[jboss-cvs] JBossAS SVN: r59616 - projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Jan 14 05:26:18 EST 2007


Author: alesj
Date: 2007-01-14 05:26:15 -0500 (Sun, 14 Jan 2007)
New Revision: 59616

Modified:
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstallAction.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/KernelControllerContextAction.java
Log:
moving DispatchContext methods

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstallAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstallAction.java	2007-01-14 10:02:58 UTC (rev 59615)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstallAction.java	2007-01-14 10:26:15 UTC (rev 59616)
@@ -22,20 +22,17 @@
 package org.jboss.kernel.plugins.dependency;
 
 import java.util.List;
-import java.util.Set;
-import java.util.HashSet;
 
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.InstallMetaData;
-import org.jboss.beans.metadata.spi.ParameterMetaData;
-import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.dependency.spi.DispatchContext;
 import org.jboss.kernel.Kernel;
-import org.jboss.kernel.spi.dependency.*;
-import org.jboss.kernel.spi.registry.KernelRegistry;
 import org.jboss.kernel.spi.config.KernelConfigurator;
-import org.jboss.dependency.spi.DispatchContext;
-import org.jboss.reflect.spi.TypeInfo;
-import org.jboss.reflect.spi.MethodInfo;
+import org.jboss.kernel.spi.dependency.InstallKernelControllerContextAware;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+import org.jboss.kernel.spi.dependency.KernelControllerContextAware;
+import org.jboss.kernel.spi.registry.KernelRegistry;
 
 /**
  * InstallAction.
@@ -123,55 +120,4 @@
       }
    }
 
-   protected Object invoke(KernelConfigurator configurator, DispatchContext context, String name, List<ParameterMetaData> params) throws Throwable
-   {
-      ClassLoader classLoader = context.getClassLoader();
-      int size = (params != null) ? params.size() : 0;
-      Object[] parameters = new Object[size];
-      String[] signature = new String[size];
-      for(int i = 0; i < size; i++)
-      {
-         ParameterMetaData pmd = params.get(i);
-         signature[i] = pmd.getType();
-         TypeInfo typeInfo;
-         if (signature[i] != null)
-         {
-            typeInfo = configurator.getClassInfo(signature[i], classLoader);
-         }
-         else
-         {
-            typeInfo = findTypeInfo(configurator, context.getTarget(), name, i);
-         }
-         parameters[i] = pmd.getValue().getValue(typeInfo, classLoader);
-      }
-      return context.invoke(name, parameters, signature);
-   }
-
-   private TypeInfo findTypeInfo(KernelConfigurator configurator, Object target, String name, int index) throws Throwable
-   {
-      if (target == null)
-      {
-         return null;
-      }
-      BeanInfo beanInfo = configurator.getBeanInfo(target.getClass());
-      Set<MethodInfo> methods = beanInfo.getMethods();
-      Set<MethodInfo> possibleMethods = new HashSet<MethodInfo>();
-      for(MethodInfo mi : methods)
-      {
-         if (name.equals(mi.getName()) && mi.getParameterTypes() != null && mi.getParameterTypes().length > index)
-         {
-            possibleMethods.add(mi);
-         }
-      }
-      if (possibleMethods.isEmpty() || possibleMethods.size() > 1)
-      {
-         log.warn("Unable to determine parameter TypeInfo, method name: " + name + ", index: " + index + ", target: " + target);
-         return null;
-      }
-      else
-      {
-         return possibleMethods.iterator().next().getParameterTypes()[index];
-      }
-   }
-
 }
\ No newline at end of file

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/KernelControllerContextAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/KernelControllerContextAction.java	2007-01-14 10:02:58 UTC (rev 59615)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/KernelControllerContextAction.java	2007-01-14 10:26:15 UTC (rev 59616)
@@ -22,19 +22,28 @@
 package org.jboss.kernel.plugins.dependency;
 
 import java.security.*;
+import java.util.List;
+import java.util.Set;
+import java.util.HashSet;
 
 import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.ParameterMetaData;
+import org.jboss.beans.info.spi.BeanInfo;
 import org.jboss.dependency.plugins.spi.action.ControllerContextAction;
 import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.DispatchContext;
 import org.jboss.joinpoint.spi.Joinpoint;
 import org.jboss.kernel.plugins.config.Configurator;
 import org.jboss.kernel.spi.dependency.KernelController;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.kernel.spi.dependency.KernelControllerContextAware;
 import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
+import org.jboss.kernel.spi.config.KernelConfigurator;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.spi.MetaData;
 import org.jboss.metadata.spi.stack.MetaDataStack;
+import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.reflect.spi.MethodInfo;
 
 /**
  * KernelControllerContextAction.
@@ -46,11 +55,11 @@
 {
    /** Static log */
    private static final Logger staticLog = Logger.getLogger(KernelControllerContextAction.class);
-   
+
    /** The log */
    protected Logger log = Logger.getLogger(getClass());
 
-   /** 
+   /**
     * Dispatch a joinpoint
     * 
     * @param context the context
@@ -68,7 +77,7 @@
          AbstractKernelControllerContext theContext = (AbstractKernelControllerContext) context;
          access = theContext.getAccessControlContext();
       }
-      
+
       KernelController controller = (KernelController) context.getController();
       KernelMetaDataRepository repository = controller.getKernel().getMetaDataRepository();
       MetaData md = repository.getMetaData(context);
@@ -78,7 +87,7 @@
          staticLog.warn("NO METADATA! for " + context.getName() + " with scope " + context.getScope());
       try
       {
-         
+
          // Dispatch with the bean class loader if it exists
          ClassLoader tcl = Thread.currentThread().getContextClassLoader();
          try
@@ -109,7 +118,7 @@
          {
             if( cl != null && access == null )
                Thread.currentThread().setContextClassLoader(tcl);
-            if (joinpoint instanceof KernelControllerContextAware) 
+            if (joinpoint instanceof KernelControllerContextAware)
                ((KernelControllerContextAware)joinpoint).unsetKernelControllerContext(null);
          }
       }
@@ -119,7 +128,7 @@
             MetaDataStack.pop();
       }
    }
-   
+
    public void install(final ControllerContext context) throws Throwable
    {
       if (System.getSecurityManager() == null || context instanceof AbstractKernelControllerContext == false)
@@ -181,7 +190,7 @@
          AccessController.doPrivileged(action);
       }
    }
-   
+
    public void installAction(KernelControllerContext context) throws Throwable
    {
       installActionInternal(context);
@@ -236,4 +245,57 @@
    {
    }
 
+   // DispatchContext util methods 
+
+   protected Object invoke(KernelConfigurator configurator, DispatchContext context, String name, List<ParameterMetaData> params) throws Throwable
+   {
+      ClassLoader classLoader = context.getClassLoader();
+      int size = (params != null) ? params.size() : 0;
+      Object[] parameters = new Object[size];
+      String[] signature = new String[size];
+      for(int i = 0; i < size; i++)
+      {
+         ParameterMetaData pmd = params.get(i);
+         signature[i] = pmd.getType();
+         TypeInfo typeInfo;
+         if (signature[i] != null)
+         {
+            typeInfo = configurator.getClassInfo(signature[i], classLoader);
+         }
+         else
+         {
+            typeInfo = findTypeInfo(configurator, context.getTarget(), name, i);
+         }
+         parameters[i] = pmd.getValue().getValue(typeInfo, classLoader);
+      }
+      return context.invoke(name, parameters, signature);
+   }
+
+   private TypeInfo findTypeInfo(KernelConfigurator configurator, Object target, String name, int index) throws Throwable
+   {
+      if (target == null)
+      {
+         return null;
+      }
+      BeanInfo beanInfo = configurator.getBeanInfo(target.getClass());
+      Set<MethodInfo> methods = beanInfo.getMethods();
+      Set<MethodInfo> possibleMethods = new HashSet<MethodInfo>();
+      for(MethodInfo mi : methods)
+      {
+         if (name.equals(mi.getName()) && mi.getParameterTypes() != null && mi.getParameterTypes().length > index)
+         {
+            possibleMethods.add(mi);
+         }
+      }
+      if (possibleMethods.isEmpty() || possibleMethods.size() > 1)
+      {
+         log.warn("Unable to determine parameter TypeInfo, method name: " + name + ", index: " + index + ", target: " + target);
+         return null;
+      }
+      else
+      {
+         return possibleMethods.iterator().next().getParameterTypes()[index];
+      }
+   }
+
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list