[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