[jboss-cvs] JBossAS SVN: r76224 - in projects/microcontainer/trunk: aop-mc-int/src/main/org/jboss/aop/microcontainer/integration and 11 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jul 25 06:10:08 EDT 2008
Author: adrian at jboss.org
Date: 2008-07-25 06:10:08 -0400 (Fri, 25 Jul 2008)
New Revision: 76224
Modified:
projects/microcontainer/trunk/aop-mc-int/.classpath
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPJoinpointFactory.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/lazy/JBossAOPLazyInitializer.java
projects/microcontainer/trunk/build/pom.xml
projects/microcontainer/trunk/dependency/.classpath
projects/microcontainer/trunk/guice-int/.classpath
projects/microcontainer/trunk/kernel/.classpath
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfigurator.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/Configurator.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/lazy/AbstractLazyInitializer.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/lazy/LazyInitializer.java
projects/microcontainer/trunk/spring-int/.classpath
Log:
[JBMICROCONT-320] - Pass MetaData explictly to AOP
Modified: projects/microcontainer/trunk/aop-mc-int/.classpath
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/.classpath 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/aop-mc-int/.classpath 2008-07-25 10:10:08 UTC (rev 76224)
@@ -21,7 +21,7 @@
<classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.0-SNAPSHOT/jboss-mdr-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jboss-mdr/2.0.0-SNAPSHOT/jboss-mdr-2.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0-SNAPSHOT/jboss-reflect-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0-SNAPSHOT/jboss-reflect-2.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.5.GA/jboss-test-1.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-test/1.0.5.GA/jboss-test-1.0.5.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java 2008-07-25 10:10:08 UTC (rev 76224)
@@ -23,8 +23,8 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
-import java.util.List;
import java.util.ArrayList;
+import java.util.List;
import org.jboss.aop.Advisor;
import org.jboss.aop.AspectManager;
@@ -41,7 +41,6 @@
import org.jboss.metadata.spi.scope.CommonLevelsUtil;
import org.jboss.metadata.spi.scope.ScopeLevel;
import org.jboss.metadata.spi.signature.MethodSignature;
-import org.jboss.metadata.spi.stack.MetaDataStack;
import org.jboss.reflect.spi.ClassInfo;
import org.jboss.reflect.spi.ConstructorInfo;
import org.jboss.reflect.spi.MethodInfo;
@@ -61,6 +60,8 @@
private static final List<ScopeLevel> levels;
private AOPProxyFactory proxyFactory = new GeneratedAOPProxyFactory();
+ private MetaData metaData;
+
static
{
// get all sub INSTANCE levels
@@ -73,38 +74,34 @@
* Create a new AOPConstructorJoinpoint.
*
* @param constructorInfo the constructor info
+ * @param metaData the metaData
*/
- public AOPConstructorJoinpoint(ConstructorInfo constructorInfo)
+ public AOPConstructorJoinpoint(ConstructorInfo constructorInfo, Object metaData)
{
super(constructorInfo);
+ if (metaData == null)
+ throw new IllegalArgumentException("Null metaData");
+ if (metaData instanceof MetaData == false)
+ throw new IllegalArgumentException(metaData + " is not metadata");
+ this.metaData = MetaData.class.cast(metaData);
}
@SuppressWarnings("deprecation")
public Object dispatch() throws Throwable
{
Class<?> clazz = constructorInfo.getDeclaringClass().getType();
- MetaData metaData = MetaDataStack.peek();
AspectManager manager = AspectManagerFactory.getAspectManager(metaData);
-
- MetaDataStack.mask();
- try
- {
- boolean hasInstanceMetaData = rootHasSubInstanceMetaData(metaData);
- ContainerCache cache = ContainerCache.initialise(manager, clazz, metaData, hasInstanceMetaData);
- AOPProxyFactoryParameters params = new AOPProxyFactoryParameters();
- Object target = createTarget(cache, params);
- params.setProxiedClass(target.getClass());
- params.setMetaData(metaData);
- params.setTarget(target);
- params.setContainerCache(cache);
- params.setMetaDataHasInstanceLevelData(hasInstanceMetaData);
-
- return proxyFactory.createAdvisedProxy(params);
- }
- finally
- {
- MetaDataStack.unmask();
- }
+ boolean hasInstanceMetaData = rootHasSubInstanceMetaData(metaData);
+ ContainerCache cache = ContainerCache.initialise(manager, clazz, metaData, hasInstanceMetaData);
+ AOPProxyFactoryParameters params = new AOPProxyFactoryParameters();
+ Object target = createTarget(cache, params);
+ params.setProxiedClass(target.getClass());
+ params.setMetaData(metaData);
+ params.setTarget(target);
+ params.setContainerCache(cache);
+ params.setMetaDataHasInstanceLevelData(hasInstanceMetaData);
+
+ return proxyFactory.createAdvisedProxy(params);
}
/**
Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPJoinpointFactory.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPJoinpointFactory.java 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPJoinpointFactory.java 2008-07-25 10:10:08 UTC (rev 76224)
@@ -48,8 +48,10 @@
super(classInfo);
}
- public ConstructorJoinpoint getConstructorJoinpoint(ConstructorInfo constructorInfo) throws JoinpointException
+ public ConstructorJoinpoint getConstructorJoinpoint(ConstructorInfo constructorInfo, Object metaData) throws JoinpointException
{
- return new AOPConstructorJoinpoint(constructorInfo);
+ if (metaData == null)
+ return super.getConstructorJoinpoint(constructorInfo);
+ return new AOPConstructorJoinpoint(constructorInfo, metaData);
}
}
Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/lazy/JBossAOPLazyInitializer.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/lazy/JBossAOPLazyInitializer.java 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/lazy/JBossAOPLazyInitializer.java 2008-07-25 10:10:08 UTC (rev 76224)
@@ -23,15 +23,14 @@
import java.util.Set;
-import org.jboss.kernel.plugins.lazy.AbstractLazyInitializer;
-import org.jboss.kernel.plugins.config.Configurator;
-import org.jboss.kernel.Kernel;
-import org.jboss.kernel.spi.dependency.KernelControllerContext;
-import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.aop.proxy.container.AOPProxyFactoryParameters;
import org.jboss.aop.proxy.container.GeneratedAOPProxyFactory;
+import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.config.Configurator;
+import org.jboss.kernel.plugins.lazy.AbstractLazyInitializer;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.metadata.spi.MetaData;
-import org.jboss.metadata.spi.stack.MetaDataStack;
/**
* JBossAOP lazy initializer.
@@ -43,32 +42,29 @@
@SuppressWarnings("deprecation")
public Object initializeProxy(Kernel kernel, String bean, boolean exposeClass, Set<String> interfaces) throws Throwable
{
+ return initializeProxy(kernel, bean, exposeClass, interfaces, null);
+ }
+
+ public Object initializeProxy(Kernel kernel, String bean, boolean exposeClass, Set<String> interfaces, MetaData metaData) throws Throwable
+ {
KernelControllerContext context = getKernelControllerContext(kernel, bean);
BeanInfo beanInfo = context.getBeanInfo();
if (beanInfo == null)
throw new IllegalArgumentException("Cannot proxy factory beans.");
- MetaData metaData = MetaDataStack.peek();
- MetaDataStack.mask();
- try
+ AOPProxyFactoryParameters params = new AOPProxyFactoryParameters();
+ params.setMetaData(metaData);
+ if (exposeClass)
{
- AOPProxyFactoryParameters params = new AOPProxyFactoryParameters();
- params.setMetaData(metaData);
- if (exposeClass)
- {
- params.setProxiedClass(beanInfo.getClassInfo().getType());
- }
- if (interfaces != null && interfaces.isEmpty() == false)
- {
- ClassLoader cl = Configurator.getClassLoader(context.getBeanMetaData());
- params.setInterfaces(getClasses(kernel.getConfigurator(), interfaces, cl));
- }
- GeneratedAOPProxyFactory factory = new GeneratedAOPProxyFactory();
- return factory.createAdvisedProxy(params);
+ params.setProxiedClass(beanInfo.getClassInfo().getType());
}
- finally
+ if (interfaces != null && interfaces.isEmpty() == false)
{
- MetaDataStack.unmask();
+ ClassLoader cl = Configurator.getClassLoader(context.getBeanMetaData());
+ params.setInterfaces(getClasses(kernel.getConfigurator(), interfaces, cl));
}
+
+ GeneratedAOPProxyFactory factory = new GeneratedAOPProxyFactory();
+ return factory.createAdvisedProxy(params);
}
}
Modified: projects/microcontainer/trunk/build/pom.xml
===================================================================
--- projects/microcontainer/trunk/build/pom.xml 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/build/pom.xml 2008-07-25 10:10:08 UTC (rev 76224)
@@ -40,7 +40,7 @@
<version.jboss.vfs>2.0.0.Beta19</version.jboss.vfs>
<version.javassist>3.8.1.GA</version.javassist>
<version.jboss.aop>2.0.0.CR15</version.jboss.aop>
- <version.org.jboss.reflect>2.0.0.Beta12</version.org.jboss.reflect>
+ <version.org.jboss.reflect>2.0.0-SNAPSHOT</version.org.jboss.reflect>
<version.org.jboss.mdr>2.0.0-SNAPSHOT</version.org.jboss.mdr>
<version.org.jboss.test>1.0.5.GA</version.org.jboss.test>
<version.junit>4.4</version.junit>
Modified: projects/microcontainer/trunk/dependency/.classpath
===================================================================
--- projects/microcontainer/trunk/dependency/.classpath 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/dependency/.classpath 2008-07-25 10:10:08 UTC (rev 76224)
@@ -11,7 +11,7 @@
<classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.0-SNAPSHOT/jboss-mdr-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jboss-mdr/2.0.0-SNAPSHOT/jboss-mdr-2.0.0-SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0-SNAPSHOT/jboss-reflect-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0-SNAPSHOT/jboss-reflect-2.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.5.GA/jboss-test-1.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-test/1.0.5.GA/jboss-test-1.0.5.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
Modified: projects/microcontainer/trunk/guice-int/.classpath
===================================================================
--- projects/microcontainer/trunk/guice-int/.classpath 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/guice-int/.classpath 2008-07-25 10:10:08 UTC (rev 76224)
@@ -16,7 +16,7 @@
<classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.0-SNAPSHOT/jboss-mdr-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jboss-mdr/2.0.0-SNAPSHOT/jboss-mdr-2.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0-SNAPSHOT/jboss-reflect-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0-SNAPSHOT/jboss-reflect-2.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.5.GA/jboss-test-1.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-test/1.0.5.GA/jboss-test-1.0.5.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
Modified: projects/microcontainer/trunk/kernel/.classpath
===================================================================
--- projects/microcontainer/trunk/kernel/.classpath 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/kernel/.classpath 2008-07-25 10:10:08 UTC (rev 76224)
@@ -17,7 +17,7 @@
<classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.0-SNAPSHOT/jboss-mdr-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jboss-mdr/2.0.0-SNAPSHOT/jboss-mdr-2.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0-SNAPSHOT/jboss-reflect-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0-SNAPSHOT/jboss-reflect-2.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.5.GA/jboss-test-1.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-test/1.0.5.GA/jboss-test-1.0.5.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfigurator.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfigurator.java 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfigurator.java 2008-07-25 10:10:08 UTC (rev 76224)
@@ -132,6 +132,11 @@
return Configurator.getConstructorJoinPoint(config, info, metaData, beanMetaData);
}
+ public Joinpoint getConstructorJoinPoint(BeanInfo info, ConstructorMetaData metaData, BeanMetaData beanMetaData, Object object) throws Throwable
+ {
+ return Configurator.getConstructorJoinPoint(config, info, metaData, beanMetaData, object);
+ }
+
public MethodJoinpoint getMethodJoinPoint(BeanInfo info, ClassLoader cl, String name, List<ParameterMetaData> parameters, boolean isStatic, boolean isPublic) throws Throwable
{
return Configurator.findMethod(info, cl, name, parameters, isStatic, isPublic);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/Configurator.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/Configurator.java 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/Configurator.java 2008-07-25 10:10:08 UTC (rev 76224)
@@ -107,6 +107,23 @@
public static Joinpoint getConstructorJoinPoint(KernelConfig config, BeanInfo info, ConstructorMetaData metaData, BeanMetaData beanMetaData)
throws Throwable
{
+ return getConstructorJoinPoint(config, info, metaData, beanMetaData, null);
+ }
+
+ /**
+ * Get a constructor joinpoint
+ *
+ * @param config the kernel config
+ * @param info the bean info
+ * @param metaData the constructor metadata
+ * @param beanMetaData the bean metadata
+ * @param object an opaque object
+ * @return the joinpoint
+ * @throws Throwable for any error
+ */
+ public static Joinpoint getConstructorJoinPoint(KernelConfig config, BeanInfo info, ConstructorMetaData metaData, BeanMetaData beanMetaData, Object object)
+ throws Throwable
+ {
boolean trace = log.isTraceEnabled();
if (trace)
@@ -178,7 +195,7 @@
}
// Find the constructor
- ConstructorJoinpoint joinPoint = findConstructor(trace, info, metaData);
+ ConstructorJoinpoint joinPoint = findConstructor(trace, info, metaData, object);
ConstructorInfo cinfo = joinPoint.getConstructorInfo();
// Set the parameters
@@ -192,7 +209,7 @@
}
// Default constructor
- return findConstructor(trace, info, metaData);
+ return findConstructor(trace, info, metaData, object);
}
/**
@@ -220,9 +237,27 @@
*/
public static ConstructorJoinpoint findConstructor(boolean trace, BeanInfo info, ConstructorMetaData metaData) throws Exception
{
+ return findConstructor(trace, info, metaData, null);
+ }
+
+ /**
+ * Find a constructor
+ *
+ * @param trace whether trace is enabled
+ * @param info the bean info
+ * @param metaData the constructor metadata
+ * @param object an opaque object
+ * @return the constructor join point
+ * @throws Exception for any error
+ */
+ public static ConstructorJoinpoint findConstructor(boolean trace, BeanInfo info, ConstructorMetaData metaData, Object object) throws Exception
+ {
ConstructorInfo cinfo = resolveConstructor(trace, info, metaData);
JoinpointFactory jpf = info.getJoinpointFactory();
- return jpf.getConstructorJoinpoint(cinfo);
+ if (object == null)
+ return jpf.getConstructorJoinpoint(cinfo);
+ else
+ return jpf.getConstructorJoinpoint(cinfo, object);
}
/**
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java 2008-07-25 10:10:08 UTC (rev 76224)
@@ -34,6 +34,7 @@
import org.jboss.kernel.spi.dependency.KernelControllerContextAware;
import org.jboss.kernel.spi.dependency.InstantiateKernelControllerContextAware;
import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
+import org.jboss.metadata.spi.MetaData;
import org.jboss.metadata.spi.scope.ScopeKey;
import org.jboss.metadata.spi.scope.CommonLevels;
@@ -50,12 +51,15 @@
{
KernelController controller = (KernelController) context.getController();
Kernel kernel = controller.getKernel();
+ KernelMetaDataRepository repository = kernel.getMetaDataRepository();
KernelConfigurator configurator = kernel.getConfigurator();
BeanMetaData metaData = context.getBeanMetaData();
BeanInfo info = context.getBeanInfo();
- Joinpoint joinPoint = configurator.getConstructorJoinPoint(info, metaData.getConstructor(), metaData);
+ MetaData repositoryMetaData = repository.getMetaData(context);
+ Joinpoint joinPoint = configurator.getConstructorJoinPoint(info, metaData.getConstructor(), metaData, repositoryMetaData);
+
BeanValidatorBridge bridge = getBeanValidatorBridge(context);
if (bridge != null)
bridge.validateConstructorValues(context, joinPoint);
@@ -75,7 +79,7 @@
context.setBeanInfo(info);
// update class scope with class info
- KernelMetaDataRepository repository = kernel.getMetaDataRepository();
+ repository = kernel.getMetaDataRepository();
// remove old context
repository.removeMetaData(context);
// create new scope key
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/lazy/AbstractLazyInitializer.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/lazy/AbstractLazyInitializer.java 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/lazy/AbstractLazyInitializer.java 2008-07-25 10:10:08 UTC (rev 76224)
@@ -33,6 +33,7 @@
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.kernel.spi.lazy.LazyInitializer;
import org.jboss.kernel.spi.registry.KernelBus;
+import org.jboss.metadata.spi.MetaData;
import org.jboss.util.JBossStringBuilder;
/**
@@ -221,4 +222,9 @@
}
return classes;
}
+
+ public Object initializeProxy(Kernel kernel, String bean, boolean exposeClass, Set<String> interfaces, MetaData metaData) throws Throwable
+ {
+ return initializeProxy(kernel, bean, exposeClass, interfaces);
+ }
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java 2008-07-25 10:10:08 UTC (rev 76224)
@@ -179,6 +179,18 @@
* @throws Throwable for any error
*/
Joinpoint getConstructorJoinPoint(BeanInfo info, ConstructorMetaData metaData, BeanMetaData beanMetaData) throws Throwable;
+
+ /**
+ * Get a constructor join point
+ *
+ * @param info the bean info
+ * @param metaData the constructor metadata
+ * @param beanMetaData the bean metadata
+ * @param object an opaque object
+ * @return the join point
+ * @throws Throwable for any error
+ */
+ Joinpoint getConstructorJoinPoint(BeanInfo info, ConstructorMetaData metaData, BeanMetaData beanMetaData, Object object) throws Throwable;
/**
* Get a method joinpoint
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/lazy/LazyInitializer.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/lazy/LazyInitializer.java 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/lazy/LazyInitializer.java 2008-07-25 10:10:08 UTC (rev 76224)
@@ -24,6 +24,7 @@
import java.util.Set;
import org.jboss.kernel.Kernel;
+import org.jboss.metadata.spi.MetaData;
/**
* Lazy initializer.
@@ -33,14 +34,27 @@
public interface LazyInitializer
{
/**
+ * Initialize lazy proxy with no metadata.
+ *
+ * @param kernel the kernel
+ * @param bean the bean to wrap
+ * @param exposeClass do we expose full class
+ * @param interfaces interfaces to expose
+ * @return the proxy
+ * @throws Throwable for any error
+ */
+ Object initializeProxy(Kernel kernel, String bean, boolean exposeClass, Set<String> interfaces) throws Throwable;
+
+ /**
* Initialize lazy proxy.
*
* @param kernel the kernel
* @param bean the bean to wrap
* @param exposeClass do we expose full class
* @param interfaces interfaces to expose
+ * @param metaData the metaData
* @return the proxy
* @throws Throwable for any error
*/
- Object initializeProxy(Kernel kernel, String bean, boolean exposeClass, Set<String> interfaces) throws Throwable;
+ Object initializeProxy(Kernel kernel, String bean, boolean exposeClass, Set<String> interfaces, MetaData metaData) throws Throwable;
}
Modified: projects/microcontainer/trunk/spring-int/.classpath
===================================================================
--- projects/microcontainer/trunk/spring-int/.classpath 2008-07-25 10:03:28 UTC (rev 76223)
+++ projects/microcontainer/trunk/spring-int/.classpath 2008-07-25 10:10:08 UTC (rev 76224)
@@ -17,7 +17,7 @@
<classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.0-SNAPSHOT/jboss-mdr-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jboss-mdr/2.0.0-SNAPSHOT/jboss-mdr-2.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0-SNAPSHOT/jboss-reflect-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0-SNAPSHOT/jboss-reflect-2.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.5.GA/jboss-test-1.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-test/1.0.5.GA/jboss-test-1.0.5.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
More information about the jboss-cvs-commits
mailing list