[jboss-cvs] JBossAS SVN: r76172 - 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
Thu Jul 24 08:30:00 EDT 2008


Author: kabir.khan at jboss.com
Date: 2008-07-24 08:30:00 -0400 (Thu, 24 Jul 2008)
New Revision: 76172

Modified:
   projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java
Log:
[JBMICROCONT-317] AbstractTypeMetaData should mask the metadata, and AOPConstructorJoinPoint should use the default ConstructorJoinPoint if the metadata is null

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-24 09:51:24 UTC (rev 76171)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java	2008-07-24 12:30:00 UTC (rev 76172)
@@ -82,8 +82,14 @@
    @SuppressWarnings("deprecation")
    public Object dispatch() throws Throwable
    {
+      MetaData metaData = MetaDataStack.peek();
+      if (metaData == null)
+      {
+         //We are not instantiating a bean, just one of its properties
+         return super.dispatch();
+      }
+
       Class<?> clazz = constructorInfo.getDeclaringClass().getType();
-      MetaData metaData = MetaDataStack.peek();
       AspectManager manager = AspectManagerFactory.getAspectManager(metaData);
 
       MetaDataStack.mask();

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java	2008-07-24 09:51:24 UTC (rev 76171)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java	2008-07-24 12:30:00 UTC (rev 76172)
@@ -40,6 +40,7 @@
 import org.jboss.kernel.plugins.config.Configurator;
 import org.jboss.kernel.spi.config.KernelConfigurator;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
+import org.jboss.metadata.spi.stack.MetaDataStack;
 import org.jboss.reflect.spi.ClassInfo;
 import org.jboss.reflect.spi.TypeInfo;
 import org.jboss.util.JBossStringBuilder;
@@ -248,7 +249,17 @@
 
       BeanInfo beanInfo = configurator.getBeanInfo(info);
       Joinpoint constructor = configurator.getConstructorJoinPoint(beanInfo);
-      Object result = constructor.dispatch();
+      
+      MetaDataStack.mask();
+      Object result = null;
+      try
+      {
+         result = constructor.dispatch();
+      }
+      finally
+      {
+         MetaDataStack.unmask();
+      }
 
       if (expected.isAssignableFrom(result.getClass()) == false)
          throw new ClassCastException(result.getClass() + " is not a " + expected.getName());




More information about the jboss-cvs-commits mailing list