[jboss-cvs] JBossAS SVN: r64027 - in projects/microcontainer/trunk/kernel/src: main/org/jboss/beans/metadata/plugins/factory and 9 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jul 13 05:00:10 EDT 2007
Author: alesj
Date: 2007-07-13 05:00:09 -0400 (Fri, 13 Jul 2007)
New Revision: 64027
Added:
projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/test/NamingBeanTestCase.xml
projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithNameMethod.xml
projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanWithNameMethod.xml
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NameAwareBean.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/NamingBeanTestCase.java
Modified:
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactory.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactoryMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/BeanMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ConfigureAction.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanHandler.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java
projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_1_0.xsd
projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/DeploymentTestSuite.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanTestCase.java
Log:
JBMICROCONT-192
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -71,6 +71,9 @@
/** The name of this instance */
protected String name;
+ /** The name method name */
+ protected String nameMethod;
+
/** The aliases */
protected Set<Object> aliases;
@@ -340,6 +343,21 @@
flushJBossObjectCache();
}
+ public String getNameMethod()
+ {
+ return nameMethod;
+ }
+
+ /**
+ * Set the name method name.
+ *
+ * @param nameMethod the method name
+ */
+ public void setNameMethod(String nameMethod)
+ {
+ this.nameMethod = nameMethod;
+ }
+
public Set<Object> getAliases()
{
return aliases;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactory.java 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactory.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -23,6 +23,7 @@
import java.util.List;
import java.util.Map;
+import java.util.ArrayList;
import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.beans.metadata.spi.ClassLoaderMetaData;
@@ -31,6 +32,7 @@
import org.jboss.beans.metadata.spi.ParameterMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
import org.jboss.beans.metadata.spi.factory.BeanFactory;
+import org.jboss.beans.metadata.plugins.AbstractParameterMetaData;
import org.jboss.joinpoint.spi.Joinpoint;
import org.jboss.joinpoint.spi.JoinpointException;
import org.jboss.joinpoint.spi.MethodJoinpoint;
@@ -66,7 +68,13 @@
/** The start lifecycle method */
protected LifecycleMetaData start;
-
+
+ /** The bean name */
+ protected String name;
+
+ /** The name method */
+ protected String nameMethod;
+
/**
* Create a new generic bean factory
*
@@ -103,6 +111,8 @@
}
invokeLifecycle("create", create, info, cl, result);
invokeLifecycle("start", start, info, cl, result);
+ if (nameMethod != null)
+ invokeNameMethod(info, cl, result);
return result;
}
@@ -227,6 +237,46 @@
}
/**
+ * Get the bean name.
+ *
+ * @return the bean name
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Set the bean name.
+ *
+ * @param name the bean name
+ */
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ /**
+ * Get the name method's name.
+ *
+ * @return name method name
+ */
+ public String getNameMethod()
+ {
+ return nameMethod;
+ }
+
+ /**
+ * Set the name method name.
+ *
+ * @param nameMethod the name method's name
+ */
+ public void setNameMethod(String nameMethod)
+ {
+ this.nameMethod = nameMethod;
+ }
+
+ /**
* Invoke a lifecycle method
*
* @param methodName the default method name
@@ -256,4 +306,22 @@
joinpoint.setTarget(target);
joinpoint.dispatch();
}
+
+ /**
+ * Invoke name method to set name.
+ *
+ * @param info the bean info
+ * @param cl the classloader
+ * @param target the target
+ * @throws Throwable for any error
+ */
+ protected void invokeNameMethod(BeanInfo info, ClassLoader cl, Object target) throws Throwable
+ {
+ List<ParameterMetaData> parameters = new ArrayList<ParameterMetaData>();
+ parameters.add(new AbstractParameterMetaData(String.class.getName(), name));
+ MethodJoinpoint joinpoint = configurator.getMethodJoinPoint(info, cl, nameMethod, parameters, false, true);
+ joinpoint.setTarget(target);
+ joinpoint.dispatch();
+ }
+
}
\ No newline at end of file
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactoryMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactoryMetaData.java 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactoryMetaData.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -120,6 +120,19 @@
properties.add(new AbstractPropertyMetaData("classLoader", new AbstractValueMetaData(classLoader)));
}
+ public void setName(String name)
+ {
+ super.setName(name);
+ Set<PropertyMetaData> properties = getProperties();
+ properties.add(new AbstractPropertyMetaData("name", new AbstractValueMetaData(name)));
+ }
+
+ public void setNameMethod(String nameMethod)
+ {
+ Set<PropertyMetaData> properties = getProperties();
+ properties.add(new AbstractPropertyMetaData("nameMethod", new AbstractValueMetaData(nameMethod)));
+ }
+
/**
* Set the bean constructor
*
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/BeanMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/BeanMetaData.java 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/BeanMetaData.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -56,6 +56,13 @@
void setName(String name);
/**
+ * Get the method to inject name.
+ *
+ * @return the name method name
+ */
+ String getNameMethod();
+
+ /**
* The aliases
*
* @return the aliases or null if there are no aliases
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ConfigureAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ConfigureAction.java 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ConfigureAction.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -67,6 +67,11 @@
((KernelControllerContextAware) object).setKernelControllerContext(context);
}
+ String nameMethod = metaData.getNameMethod();
+ if (nameMethod != null)
+ {
+ context.invoke(nameMethod, new Object[]{metaData.getName()}, new String[]{String.class.getName()});
+ }
}
protected Class<? extends KernelControllerContextAware> getActionAwareInterface()
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -61,6 +61,8 @@
bean.setBeanClass(attrs.getValue(i));
else if ("mode".equals(localName))
bean.setMode(new ControllerMode(attrs.getValue(i)));
+ else if ("name-method".equals(localName))
+ bean.setNameMethod(attrs.getValue(i));
}
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanHandler.java 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanHandler.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -68,6 +68,8 @@
bean.setAutowireType(AutowireType.getInstance(attrs.getValue(i)));
else if ("autowire-candidate".equals(localName))
bean.setAutowireCandidate(Boolean.parseBoolean(attrs.getValue(i)));
+ else if ("name-method".equals(localName))
+ bean.setNameMethod(attrs.getValue(i));
}
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -352,6 +352,8 @@
bean.setBean(attrs.getValue(i));
else if ("mode".equals(localName))
bean.setMode(new ControllerMode(attrs.getValue(i)));
+ else if ("name-method".equals(localName))
+ bean.setNameMethod(attrs.getValue(i));
}
}
});
@@ -377,6 +379,8 @@
bean.setBeanClass(attrs.getValue(i));
else if ("mode".equals(localName))
bean.setMode(new ControllerMode(attrs.getValue(i)));
+ else if ("name-method".equals(localName))
+ bean.setNameMethod(attrs.getValue(i));
}
}
});
Modified: projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_1_0.xsd
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_1_0.xsd 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_1_0.xsd 2007-07-13 09:00:09 UTC (rev 64027)
@@ -91,6 +91,7 @@
<xsd:attribute name="name" type="xsd:string" use="optional"/>
<xsd:attribute name="class" type="xsd:token" use="required"/>
<xsd:attribute name="mode" type="controllerModeType" use="optional"/>
+ <xsd:attribute name="name-method" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:complexType name="classloaderType" mixed="true">
@@ -156,6 +157,7 @@
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="optional"/>
<xsd:attribute name="class" type="xsd:token" use="required"/>
+ <xsd:attribute name="name-method" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:complexType name="constructorType">
Modified: projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd 2007-07-13 09:00:09 UTC (rev 64027)
@@ -110,6 +110,7 @@
<xsd:attribute name="abstract" type="xsd:boolean" use="optional"/>
<xsd:attribute name="autowire-type" type="autowireTypeType" use="optional"/>
<xsd:attribute name="autowire-candidate" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="name-method" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:complexType name="classloaderType" mixed="true">
@@ -179,6 +180,7 @@
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="optional"/>
<xsd:attribute name="class" type="xsd:token" use="required"/>
+ <xsd:attribute name="name-method" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:complexType name="constructorType">
Added: projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/test/NamingBeanTestCase.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/test/NamingBeanTestCase.xml (rev 0)
+++ projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/test/NamingBeanTestCase.xml 2007-07-13 09:00:09 UTC (rev 64027)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="bean" class="org.jboss.test.kernel.deployment.support.NameAwareBean" name-method="applyName" />
+
+ <beanfactory name="factory" class="org.jboss.test.kernel.deployment.support.NameAwareBean" name-method="applyName" />
+
+</deployment>
Added: projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithNameMethod.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithNameMethod.xml (rev 0)
+++ projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithNameMethod.xml 2007-07-13 09:00:09 UTC (rev 64027)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beanfactory xmlns="urn:jboss:bean-deployer:2.0" class="Dummy" name-method="applyName" />
Added: projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanWithNameMethod.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanWithNameMethod.xml (rev 0)
+++ projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanWithNameMethod.xml 2007-07-13 09:00:09 UTC (rev 64027)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<bean xmlns="urn:jboss:bean-deployer:2.0" class="Dummy" name-method="applyName"/>
Added: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NameAwareBean.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NameAwareBean.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NameAwareBean.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -0,0 +1,42 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.kernel.deployment.support;
+
+/**
+ * A simple bean with name
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class NameAwareBean
+{
+ private String name;
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void applyName(String name)
+ {
+ this.name = name;
+ }
+}
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/DeploymentTestSuite.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/DeploymentTestSuite.java 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/DeploymentTestSuite.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -60,6 +60,7 @@
suite.addTest(ContextualScopingTestCase.suite());
suite.addTest(InnerBeanScopingTestCase.suite());
suite.addTest(ScopingShutdownTestCase.suite());
+ suite.addTest(NamingBeanTestCase.suite());
return suite;
}
Added: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/NamingBeanTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/NamingBeanTestCase.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/NamingBeanTestCase.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -0,0 +1,59 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.kernel.deployment.test;
+
+import junit.framework.Test;
+import org.jboss.test.kernel.deployment.support.NameAwareBean;
+import org.jboss.beans.metadata.spi.factory.BeanFactory;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class NamingBeanTestCase extends AbstractDeploymentTest
+{
+ public NamingBeanTestCase(String name)
+ throws Throwable
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(NamingBeanTestCase.class);
+ }
+
+ public void testNameInjection() throws Throwable
+ {
+ NameAwareBean bean = (NameAwareBean)getBean("bean");
+ assertNotNull(bean);
+ assertEquals("bean", bean.getName());
+
+ BeanFactory factory = (BeanFactory)getBean("factory");
+ assertNotNull(factory);
+ NameAwareBean b1 = (NameAwareBean)factory.createBean();
+ assertNotNull(b1);
+ assertEquals("factory", b1.getName());
+ NameAwareBean b2 = (NameAwareBean)factory.createBean();
+ assertNotNull(b2);
+ assertEquals("factory", b2.getName());
+ }
+}
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -27,6 +27,8 @@
import junit.framework.Test;
import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
import org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData;
+import org.jboss.beans.metadata.spi.PropertyMetaData;
+import org.jboss.beans.metadata.spi.ValueMetaData;
import org.jboss.dependency.spi.ControllerMode;
/**
@@ -703,6 +705,39 @@
assertCallbacks(expected, factory.getUninstallCallbacks());
}
+ public void testBeanFactoryWithNameMethod() throws Exception
+ {
+ GenericBeanFactoryMetaData factory = unmarshalBeanFactory("BeanFactoryWithNameMethod.xml");
+ assertNull(factory.getNameMethod());
+ PropertyMetaData property = factory.getProperty("nameMethod");
+ assertNotNull(property);
+ ValueMetaData value = property.getValue();
+ assertNotNull(value);
+ assertEquals("applyName", value.getUnderlyingValue());
+ assertNull(factory.getName());
+ assertEquals(GenericBeanFactory.class.getName(), factory.getBean());
+ assertEquals("Dummy", factory.getBeanClass());
+ assertNull(factory.getMode());
+ assertNull(factory.getAnnotations());
+ assertNull(factory.getClassLoader());
+ assertNotNull(factory.getConstructor());
+ assertNull(factory.getProperty("constructor"));
+ assertNotNull(factory.getProperties());
+ assertNull(factory.getProperty("properties"));
+ assertNull(factory.getCreate());
+ assertNull(factory.getProperty("create"));
+ assertNull(factory.getStart());
+ assertNull(factory.getProperty("start"));
+ assertNull(factory.getStop());
+ assertNull(factory.getDestroy());
+ assertNull(factory.getDemands());
+ assertNull(factory.getSupplies());
+ assertNull(factory.getInstalls());
+ assertNull(factory.getUninstalls());
+ assertNull(factory.getInstallCallbacks());
+ assertNull(factory.getUninstallCallbacks());
+ }
+
public void testBeanFactoryBadNoClassOrConstructor() throws Exception
{
try
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanTestCase.java 2007-07-13 06:14:15 UTC (rev 64026)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanTestCase.java 2007-07-13 09:00:09 UTC (rev 64027)
@@ -816,6 +816,30 @@
assertNull(bean.getUninstallCallbacks());
}
+ public void testBeanWithNameMethod() throws Exception
+ {
+ AbstractBeanMetaData bean = unmarshalBean("BeanWithNameMethod.xml");
+ assertEquals("applyName", bean.getNameMethod());
+ assertNull(bean.getAutowireType());
+ assertNull(bean.getName());
+ assertEquals("Dummy", bean.getBean());
+ assertNull(bean.getMode());
+ assertNull(bean.getAnnotations());
+ assertNull(bean.getClassLoader());
+ assertNull(bean.getConstructor());
+ assertNull(bean.getProperties());
+ assertNull(bean.getCreate());
+ assertNull(bean.getStart());
+ assertNull(bean.getStop());
+ assertNull(bean.getDestroy());
+ assertNull(bean.getDemands());
+ assertNull(bean.getSupplies());
+ assertNull(bean.getInstalls());
+ assertNull(bean.getUninstalls());
+ assertNull(bean.getInstallCallbacks());
+ assertNull(bean.getUninstallCallbacks());
+ }
+
public static Test suite()
{
return suite(BeanTestCase.class);
More information about the jboss-cvs-commits
mailing list