[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