[jboss-cvs] JBossAS SVN: r59620 - 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 06:35:20 EST 2007
Author: alesj
Date: 2007-01-14 06:35:14 -0500 (Sun, 14 Jan 2007)
New Revision: 59620
Modified:
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/KernelControllerContextAction.java
Log:
lazy CL lookup
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 11:29:04 UTC (rev 59619)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/KernelControllerContextAction.java 2007-01-14 11:35:14 UTC (rev 59620)
@@ -22,50 +22,54 @@
package org.jboss.kernel.plugins.dependency;
import java.security.*;
+import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import java.util.HashSet;
-import java.util.ArrayList;
+import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.metadata.plugins.AbstractParameterMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.ParameterMetaData;
import org.jboss.beans.metadata.spi.PropertyMetaData;
-import org.jboss.beans.metadata.plugins.AbstractParameterMetaData;
-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.config.KernelConfigurator;
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.MethodInfo;
import org.jboss.reflect.spi.TypeInfo;
-import org.jboss.reflect.spi.MethodInfo;
/**
* KernelControllerContextAction.
- *
+ *
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
public class KernelControllerContextAction implements ControllerContextAction
{
- /** Static log */
+ /**
+ * Static log
+ */
private static final Logger staticLog = Logger.getLogger(KernelControllerContextAction.class);
- /** The log */
+ /**
+ * The log
+ */
protected Logger log = Logger.getLogger(getClass());
/**
* Dispatch a joinpoint
- *
- * @param context the context
+ *
+ * @param context the context
* @param joinpoint the joinpoint
* @return the result
* @throws Throwable for any error
@@ -95,10 +99,10 @@
ClassLoader tcl = Thread.currentThread().getContextClassLoader();
try
{
- if( cl != null && access == null )
+ if (cl != null && access == null)
Thread.currentThread().setContextClassLoader(cl);
if (joinpoint instanceof KernelControllerContextAware)
- ((KernelControllerContextAware)joinpoint).setKernelControllerContext(context);
+ ((KernelControllerContextAware) joinpoint).setKernelControllerContext(context);
if (access == null)
{
@@ -119,10 +123,10 @@
}
finally
{
- if( cl != null && access == null )
+ if (cl != null && access == null)
Thread.currentThread().setContextClassLoader(tcl);
if (joinpoint instanceof KernelControllerContextAware)
- ((KernelControllerContextAware)joinpoint).unsetKernelControllerContext(null);
+ ((KernelControllerContextAware) joinpoint).unsetKernelControllerContext(null);
}
}
finally
@@ -203,10 +207,10 @@
Class<? extends KernelControllerContextAware> awareInterface = getActionAwareInterface();
// only applying interfaces that explicitly extend KernelControllerContextAware
if (awareInterface != null &&
- awareInterface.equals(KernelControllerContextAware.class) == false &&
- awareInterface.isAssignableFrom(target.getClass()))
+ awareInterface.equals(KernelControllerContextAware.class) == false &&
+ awareInterface.isAssignableFrom(target.getClass()))
{
- ((KernelControllerContextAware)target).setKernelControllerContext(context);
+ ((KernelControllerContextAware) target).setKernelControllerContext(context);
}
}
}
@@ -228,12 +232,12 @@
Class<? extends KernelControllerContextAware> awareInterface = getActionAwareInterface();
// only applying interfaces that explicitly extend KernelControllerContextAware
if (awareInterface != null &&
- awareInterface.equals(KernelControllerContextAware.class) == false &&
- awareInterface.isAssignableFrom(target.getClass()))
+ awareInterface.equals(KernelControllerContextAware.class) == false &&
+ awareInterface.isAssignableFrom(target.getClass()))
{
try
{
- ((KernelControllerContextAware)target).unsetKernelControllerContext(context);
+ ((KernelControllerContextAware) target).unsetKernelControllerContext(context);
}
catch (Exception ignored)
{
@@ -259,24 +263,28 @@
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++)
+ if (size > 0)
{
- ParameterMetaData pmd = params.get(i);
- signature[i] = pmd.getType();
- TypeInfo typeInfo;
- if (signature[i] != null)
+ // lazy cl lookup
+ ClassLoader classLoader = context.getClassLoader();
+ for (int i = 0; i < size; i++)
{
- typeInfo = configurator.getClassInfo(signature[i], classLoader);
+ 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);
}
- else
- {
- typeInfo = findTypeInfo(configurator, context.getTarget(), name, i);
- }
- parameters[i] = pmd.getValue().getValue(typeInfo, classLoader);
}
return context.invoke(name, parameters, signature);
}
@@ -290,7 +298,7 @@
BeanInfo beanInfo = configurator.getBeanInfo(target.getClass());
Set<MethodInfo> methods = beanInfo.getMethods();
Set<MethodInfo> possibleMethods = new HashSet<MethodInfo>();
- for(MethodInfo mi : methods)
+ for (MethodInfo mi : methods)
{
if (name.equals(mi.getName()) && mi.getParameterTypes() != null && mi.getParameterTypes().length > index)
{
More information about the jboss-cvs-commits
mailing list