[Jboss-cvs] JBossAS SVN: r56471 - in projects/microcontainer/trunk: kernel/src/main/org/jboss/beans/metadata/plugins kernel/src/main/org/jboss/beans/metadata/spi kernel/src/main/org/jboss/kernel/plugins/dependency kernel/src/main/org/jboss/kernel/plugins/deployment/xml kernel/src/resources/org/jboss/test/kernel/deployment/test kernel/src/resources/org/jboss/test/kernel/deployment/xml/test kernel/src/resources/org/jboss/test/kernel/inject/test kernel/src/resources/schema kernel/src/tests/org/jboss/test/kernel/deployment/support kernel/src/tests/org/jboss/test/kernel/deployment/test kernel/src/tests/org/jboss/test/kernel/deployment/xml/test kernel/src/tests/org/jboss/test/kernel/inject/support kernel/src/tests/org/jboss/test/kernel/inject/test osgi-int/src/main/org/jboss/vfs/bundle
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Aug 31 04:46:32 EDT 2006
Author: alesj
Date: 2006-08-31 04:44:05 -0400 (Thu, 31 Aug 2006)
New Revision: 56471
Added:
projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.xml
projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ClassLoaderWithBean.xml
projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ConstructorWithBean.xml
projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ParameterWithBean.xml
projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/PropertyWithBean.xml
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NullClassLoader.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/SimpleObjectWithBean.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/support/ConstructorValueBean.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/AbstractConstructorMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.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/AbstractKernelController.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ClassContextDependencyItem.java
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/DependencyHandler.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/FactoryHandler.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/InjectionHandler.java
projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/inject/test/ConstructorContextualInjection.xml
projects/microcontainer/trunk/kernel/src/resources/schema/bean-deployer_1_0.xsd
projects/microcontainer/trunk/kernel/src/resources/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/ClassLoaderTestCase.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/ConstructorTestCase.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/ParameterTestCase.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/PropertyTestCase.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/test/ConstructorContextualInjectionTestCase.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/test/ContextualInjectionAdapter.java
projects/microcontainer/trunk/osgi-int/src/main/org/jboss/vfs/bundle/BundleClassLoader.java
Log:
JBMICROCONT-28 (not yet full impl), added whenRequiredState in DependencyMetaData, fixed factory construction with contextual injection.
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 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -21,15 +21,17 @@
*/
package org.jboss.beans.metadata.plugins;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
import org.jboss.beans.metadata.spi.*;
+import org.jboss.dependency.spi.ControllerContext;
import org.jboss.dependency.spi.ControllerMode;
import org.jboss.dependency.spi.ControllerState;
+import org.jboss.dependency.spi.DependencyItem;
+import org.jboss.dependency.plugins.AbstractDependencyItem;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+import org.jboss.reflect.spi.TypeInfo;
import org.jboss.util.JBossObject;
import org.jboss.util.JBossStringBuilder;
@@ -46,10 +48,10 @@
/** The name of this instance */
protected String name;
-
+
/** The mode */
protected ControllerMode mode = null;
-
+
/** The properties configuration Set<PropertyMetaData> */
private Set<PropertyMetaData> properties;
@@ -58,34 +60,37 @@
/** The constructor */
protected ConstructorMetaData constructor;
-
+
/** The create lifecycle */
protected LifecycleMetaData create;
-
+
/** The start lifecycle */
protected LifecycleMetaData start;
-
+
/** The stop lifecycle */
protected LifecycleMetaData stop;
-
+
/** The destroy lifecycle */
protected LifecycleMetaData destroy;
-
+
/** What the bean demands Set<DemandMetaData> */
protected Set<DemandMetaData> demands;
-
+
/** What the bean supplies Set<SupplyMetaData> */
protected Set<SupplyMetaData> supplies;
-
+
/** What the bean dependencies Set<DependencyMetaData> */
protected Set<DependencyMetaData> depends;
-
+
/** The install operations List<InstallMetaData> */
protected List<InstallMetaData> installs;
-
+
/** The uninstall operations List<InstallMetaData> */
protected List<InstallMetaData> uninstalls;
-
+
+ /** The kernel controller */
+ protected KernelController controller;
+
/**
* Create a new bean meta data
*/
@@ -176,7 +181,7 @@
properties.add(property);
flushJBossObjectCache();
}
-
+
/**
* Set the propertiess.
*
@@ -218,7 +223,7 @@
this.demands = demands;
flushJBossObjectCache();
}
-
+
/**
* Set what the bean supplies.
*
@@ -261,28 +266,28 @@
{
return mode;
}
-
+
public void setMode(ControllerMode mode)
{
this.mode = mode;
flushJBossObjectCache();
}
-
+
public Set<PropertyMetaData> getProperties()
{
return properties;
}
-
+
public ConstructorMetaData getConstructor()
{
return constructor;
}
-
+
public LifecycleMetaData getCreate()
{
return create;
}
-
+
/**
* Set the lifecycle metadata
*
@@ -293,12 +298,12 @@
lifecycle.setState(ControllerState.CREATE);
this.create = lifecycle;
}
-
+
public LifecycleMetaData getStart()
{
return start;
}
-
+
/**
* Set the start metadata
*
@@ -309,12 +314,12 @@
lifecycle.setState(ControllerState.START);
this.start = lifecycle;
}
-
+
public LifecycleMetaData getStop()
{
return stop;
}
-
+
/**
* Set the stop metadata
*
@@ -325,12 +330,12 @@
lifecycle.setState(ControllerState.START);
this.stop = lifecycle;
}
-
+
public LifecycleMetaData getDestroy()
{
return destroy;
}
-
+
/**
* Set the destroy metadata
*
@@ -341,17 +346,17 @@
lifecycle.setState(ControllerState.CREATE);
this.destroy = lifecycle;
}
-
+
public Set<DemandMetaData> getDemands()
{
return demands;
}
-
+
public Set<SupplyMetaData> getSupplies()
{
return supplies;
}
-
+
public Set<DependencyMetaData> getDepends()
{
return depends;
@@ -361,7 +366,7 @@
{
return installs;
}
-
+
/**
* Set the installs
*
@@ -377,7 +382,7 @@
{
return uninstalls;
}
-
+
/**
* Set the uninstalls
*
@@ -389,6 +394,26 @@
flushJBossObjectCache();
}
+ public void initialVisit(MetaDataVisitor visitor)
+ {
+ if (visitor.visitorNodeStack().isEmpty() == false)
+ {
+ KernelControllerContext controllerContext = visitor.getControllerContext();
+ controller = (KernelController) controllerContext.getController();
+ Object name = controllerContext.getName();
+ Object iDependOn = getUnderlyingValue();
+ ControllerState whenRequired = visitor.getContextState();
+ DependencyItem di = new AbstractDependencyItem(name, iDependOn, whenRequired, ControllerState.INSTALLED);
+ visitor.addDependency(di);
+ }
+ super.initialVisit(visitor);
+ }
+
+ public void setController(KernelController controller)
+ {
+ this.controller = controller;
+ }
+
protected void addChildren(Set<MetaDataVisitorNode> children)
{
super.addChildren(children);
@@ -423,6 +448,26 @@
throw new IllegalArgumentException("Cannot determine inject class type: " + this);
}
+ public Object getUnderlyingValue()
+ {
+ return getName();
+ }
+
+ public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable
+ {
+ ControllerContext context = controller.getInstalledContext(getName());
+ if (context == null || context.getTarget() == null)
+ {
+ throw new IllegalArgumentException("Bean not yet installed: " + getName());
+ }
+ Object target = context.getTarget();
+ if (info.getType().isAssignableFrom(target.getClass()) == false)
+ {
+ throw new ClassCastException(target + " is not a " + info);
+ }
+ return target;
+ }
+
public void toString(JBossStringBuilder buffer)
{
buffer.append("name=").append(name);
@@ -467,7 +512,7 @@
JBossObject.list(buffer, uninstalls);
}
}
-
+
public void toShortString(JBossStringBuilder buffer)
{
buffer.append(bean);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -202,6 +202,12 @@
}
else
{
+ // currently value constructor supports only values that are instances of class itself
+ // this will add another instance with the same class to context
+ Class type = beanInfo.getClassInfo().getType();
+ log.warn("Constructing bean from injection value: results in multiple beans with same class type - " + type);
+ return type;
+/*
// find all constructors with single value
Set<ConstructorInfo> constructors = beanInfo.getConstructors();
Set<ConstructorInfo> matchingConstructorInfos = new HashSet<ConstructorInfo>();
@@ -220,6 +226,7 @@
throw new IllegalArgumentException("Should not be here - illegal size of matching constructors: " + this);
}
return applyCollectionOrMapCheck(matchingConstructorInfos.iterator().next().getParameterTypes()[0].getType());
+*/
}
}
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -48,6 +48,9 @@
/** The property name */
protected String property;
+ /** The when required state of the dependency or null to use current context state */
+ protected ControllerState whenRequiredState;
+
/** The required state of the dependency or null to look in the registry */
protected ControllerState dependentState = ControllerState.INSTALLED;
@@ -101,8 +104,24 @@
}
/**
+ * Set the when required state of the dependency
+ *
+ * @param whenRequiredState the when required state or null if it uses current context state
+ */
+ public void setWhenRequiredState(ControllerState whenRequredState)
+ {
+ this.whenRequiredState = whenRequredState;
+ flushJBossObjectCache();
+ }
+
+ public ControllerState getWhenRequiredState()
+ {
+ return whenRequiredState;
+ }
+
+ /**
* Set the required state of the dependency
- *
+ *
* @param dependentState the required state or null if it must be in the registry
*/
public void setDependentState(ControllerState dependentState)
@@ -115,7 +134,7 @@
{
return dependentState;
}
-
+
public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable
{
ControllerState state = dependentState;
@@ -142,7 +161,11 @@
controller = (KernelController) controllerContext.getController();
Object name = controllerContext.getName();
Object iDependOn = getUnderlyingValue();
- ControllerState whenRequired = visitor.getContextState();
+ ControllerState whenRequired = whenRequiredState;
+ if (whenRequired == null)
+ {
+ whenRequired = visitor.getContextState();
+ }
DependencyItem item = new AbstractDependencyItem(name, iDependOn, whenRequired, dependentState);
visitor.addDependency(item);
@@ -155,6 +178,8 @@
super.toString(buffer);
if (property != null)
buffer.append(" property=").append(property);
+ if (whenRequiredState != null)
+ buffer.append(" whenRequiredState=").append(whenRequiredState.getStateString());
if (dependentState != null)
buffer.append(" dependentState=").append(dependentState.getStateString());
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -95,6 +95,10 @@
if (value == null)
{
ControllerContext context = controller.getInstalledContext(info.getType());
+ if (context == null)
+ {
+ throw new IllegalArgumentException("Possible multiple matching beans, see log for info.");
+ }
return context.getTarget();
}
return super.getValue(info, cl);
@@ -119,6 +123,8 @@
}
setValue(propertyMetaData.getName());
}
+
+ visitor.initialVisit(this);
}
// check if was maybe set with by_name
if (getUnderlyingValue() != null)
@@ -141,6 +147,7 @@
DependencyItem item = new ClassContextDependencyItem(
context.getName(),
typeProvider.getType(visitor, this),
+ visitor.getContextState(),
dependentState);
visitor.addDependency(item);
}
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 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/BeanMetaData.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -32,7 +32,7 @@
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
-public interface BeanMetaData extends FeatureMetaData
+public interface BeanMetaData extends FeatureMetaData, ValueMetaData
{
/**
* Get the bean.
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelController.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelController.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelController.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -222,6 +222,10 @@
ClassContext classContext = contextsByClass.get(clazz);
if (classContext != null)
{
+ if (log.isTraceEnabled())
+ {
+ log.trace("Marking class " + clazz + " as used.");
+ }
classContext.used = true;
return classContext.contexts;
}
@@ -349,6 +353,10 @@
if (numberOfMatchingBeans != 1)
{
+ if (numberOfMatchingBeans > 1)
+ {
+ log.warn("Multiple beans match class type: " + clazz);
+ }
return null;
}
return contexts.iterator().next();
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ClassContextDependencyItem.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ClassContextDependencyItem.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ClassContextDependencyItem.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -34,9 +34,9 @@
*/
public class ClassContextDependencyItem extends AbstractDependencyItem
{
- public ClassContextDependencyItem(Object name, Class demandClass, ControllerState dependentState)
+ public ClassContextDependencyItem(Object name, Class demandClass, ControllerState whenRequired, ControllerState dependentState)
{
- super(name, demandClass, ControllerState.INSTANTIATED, dependentState);
+ super(name, demandClass, whenRequired, dependentState);
}
public boolean resolve(Controller controller)
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 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -941,6 +941,8 @@
dependency.setProperty(attrs.getValue(i));
else if ("state".equals(localName))
dependency.setDependentState(new ControllerState(attrs.getValue(i)));
+ else if ("whenRequired".equals(localName))
+ dependency.setWhenRequiredState(new ControllerState(attrs.getValue(i)));
}
}
@@ -981,6 +983,8 @@
injection.setProperty(attrs.getValue(i));
else if ("state".equals(localName))
injection.setDependentState(new ControllerState(attrs.getValue(i)));
+ else if ("whenRequired".equals(localName))
+ injection.setWhenRequiredState(new ControllerState(attrs.getValue(i)));
else if ("type".equals(localName))
injection.setInjectionType(new InjectionType(attrs.getValue(i)));
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/DependencyHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/DependencyHandler.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/DependencyHandler.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -58,6 +58,8 @@
dependency.setProperty(attrs.getValue(i));
else if ("state".equals(localName))
dependency.setDependentState(new ControllerState(attrs.getValue(i)));
+ else if ("whenRequired".equals(localName))
+ dependency.setWhenRequiredState(new ControllerState(attrs.getValue(i)));
}
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/FactoryHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/FactoryHandler.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/FactoryHandler.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -60,6 +60,8 @@
dependency.setProperty(attrs.getValue(i));
else if ("state".equals(localName))
dependency.setDependentState(new ControllerState(attrs.getValue(i)));
+ else if ("whenRequired".equals(localName))
+ dependency.setWhenRequiredState(new ControllerState(attrs.getValue(i)));
}
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/InjectionHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/InjectionHandler.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/InjectionHandler.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -49,6 +49,8 @@
injection.setProperty(attrs.getValue(i));
else if ("state".equals(localName))
injection.setDependentState(new ControllerState(attrs.getValue(i)));
+ else if ("whenRequired".equals(localName))
+ injection.setWhenRequiredState(new ControllerState(attrs.getValue(i)));
else if ("type".equals(localName))
injection.setInjectionType(new InjectionType(attrs.getValue(i)));
}
Added: projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.xml 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.xml 2006-08-31 08:44:05 UTC (rev 56471)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+<!--
+ <bean name="SimpleObject1" class="org.jboss.test.kernel.deployment.support.SimpleObjectWithBean">
+ <classloader>
+ <bean name="simple1" class="org.jboss.test.kernel.deployment.support.NullClassLoader" />
+ </classloader>
+ </bean>
+
+ <bean name="SimpleObject2" class="org.jboss.test.kernel.deployment.support.SimpleObjectWithBean">
+ <constructor>
+ <bean name="simple2" class="org.jboss.test.kernel.deployment.support.SimpleBeanImpl" />
+ </constructor>
+ </bean>
+
+ <bean name="SimpleObject3" class="org.jboss.test.kernel.deployment.support.SimpleObjectWithBean">
+ <constructor>
+ <parameter>
+ <bean name="simple3" class="org.jboss.test.kernel.deployment.support.SimpleBeanImpl" />
+ </parameter>
+ </constructor>
+ </bean>
+
+ <bean name="SimpleObject4" class="org.jboss.test.kernel.deployment.support.SimpleObjectWithBean">
+ <property name="simpleBean">
+ <bean name="simple4" class="org.jboss.test.kernel.deployment.support.SimpleBeanImpl"/>
+ </property>
+ </bean>
+-->
+
+</deployment>
Added: projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ClassLoaderWithBean.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ClassLoaderWithBean.xml 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ClassLoaderWithBean.xml 2006-08-31 08:44:05 UTC (rev 56471)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <classloader><bean name="CL" class="org.jboss.test.Dummy"/></classloader>
+</deployment>
Added: projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ConstructorWithBean.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ConstructorWithBean.xml 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ConstructorWithBean.xml 2006-08-31 08:44:05 UTC (rev 56471)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<bean xmlns="urn:jboss:bean-deployer:2.0">
+ <constructor>
+ <bean name="Dummy" class="org.jboss.test.Dummy"/>
+ </constructor>
+</bean>
Added: projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ParameterWithBean.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ParameterWithBean.xml 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/ParameterWithBean.xml 2006-08-31 08:44:05 UTC (rev 56471)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<bean xmlns="urn:jboss:bean-deployer:2.0" class="Dummy">
+ <constructor>
+ <parameter><bean name="Dummy2" class="org.jboss.test.Dummy"/></parameter>
+ </constructor>
+</bean>
Added: projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/PropertyWithBean.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/PropertyWithBean.xml 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/deployment/xml/test/PropertyWithBean.xml 2006-08-31 08:44:05 UTC (rev 56471)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<bean xmlns="urn:jboss:bean-deployer:2.0" class="Dummy">
+ <property name="PropertyName">
+ <bean name="Dummy2" class="org.jboss.test.Dummy"/>
+ </property>
+</bean>
Modified: projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/inject/test/ConstructorContextualInjection.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/inject/test/ConstructorContextualInjection.xml 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/resources/org/jboss/test/kernel/inject/test/ConstructorContextualInjection.xml 2006-08-31 08:44:05 UTC (rev 56471)
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd"
- xmlns="urn:jboss:bean-deployer">
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
<bean name="testObject1" class="org.jboss.test.kernel.inject.support.ConstructorInjectTestObject" >
<constructor
@@ -32,17 +30,21 @@
<constructor><parameter><inject/></parameter></constructor>
</bean>
-<!--
<bean name="testObject5" class="org.jboss.test.kernel.inject.support.ConstructorInjectTestObject" >
<constructor factoryMethod="withParameter">
- <factory bean="testObject6"/>
+ <factory bean="testObject6" whenRequired="Described"/>
<parameter><inject/></parameter>
</constructor>
</bean>
--->
<bean name="duplicateTester" class="org.jboss.test.kernel.inject.support.DuplicateTester"/>
<bean name="testObject6" class="org.jboss.test.kernel.inject.support.ConstructorInjectTestObject" />
+ <bean name="constBean" class="org.jboss.test.kernel.inject.support.ConstructorValueBean" />
+
+ <bean name="constBeanRef" class="org.jboss.test.kernel.inject.support.ConstructorValueBean">
+ <constructor><inject/></constructor>
+ </bean>
+
</deployment>
Modified: projects/microcontainer/trunk/kernel/src/resources/schema/bean-deployer_1_0.xsd
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/schema/bean-deployer_1_0.xsd 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/resources/schema/bean-deployer_1_0.xsd 2006-08-31 08:44:05 UTC (rev 56471)
@@ -244,6 +244,7 @@
<xsd:attribute name="bean" type="xsd:string" use="required"/>
<xsd:attribute name="property" type="xsd:string" use="optional"/>
<xsd:attribute name="state" type="controllerStateType" use="optional"/>
+ <xsd:attribute name="whenRequired" type="controllerStateType" use="optional"/>
</xsd:complexType>
<!-- todo use extension with dependencyType -->
@@ -281,6 +282,7 @@
<xsd:attribute name="bean" type="xsd:string" use="optional"/>
<xsd:attribute name="property" type="xsd:string" use="optional"/>
<xsd:attribute name="state" type="controllerStateType" use="optional"/>
+ <xsd:attribute name="whenRequired" type="controllerStateType" use="optional"/>
<xsd:attribute name="type" type="injectionTypeType" use="optional" default="ByClass"/>
</xsd:complexType>
@@ -412,6 +414,7 @@
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
+ <xsd:element name="bean" type="beanType"/>
<xsd:element name="value" type="plainValueType"/>
<xsd:element name="collection" type="collectionType"/>
<xsd:element name="list" type="listType"/>
@@ -478,6 +481,7 @@
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
+ <xsd:element name="bean" type="beanType"/>
<xsd:element name="inject" type="dependencyType"/>
<xsd:element name="null">
<xsd:complexType/>
Modified: projects/microcontainer/trunk/kernel/src/resources/schema/bean-deployer_2_0.xsd
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/schema/bean-deployer_2_0.xsd 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/resources/schema/bean-deployer_2_0.xsd 2006-08-31 08:44:05 UTC (rev 56471)
@@ -200,12 +200,14 @@
<xsd:element name="factory" type="factoryType" minOccurs="0"/>
<xsd:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
+ <xsd:element name="bean" type="beanType"/>
<xsd:element name="value" type="plainValueType"/>
<xsd:element name="collection" type="collectionType"/>
<xsd:element name="list" type="listType"/>
<xsd:element name="set" type="setType"/>
<xsd:element name="array" type="arrayType"/>
<xsd:element name="map" type="mapType"/>
+ <xsd:element name="inject" type="injectionType"/>
<xsd:any namespace="##other" processContents="strict">
<xsd:annotation>
<xsd:documentation>An extension value</xsd:documentation>
@@ -301,6 +303,7 @@
<xsd:attribute name="bean" type="xsd:string" use="required"/>
<xsd:attribute name="property" type="xsd:string" use="optional"/>
<xsd:attribute name="state" type="controllerStateType" use="optional"/>
+ <xsd:attribute name="whenRequired" type="controllerStateType" use="optional"/>
</xsd:complexType>
<xsd:complexType name="injectionType">
@@ -337,6 +340,7 @@
<xsd:attribute name="bean" type="xsd:string" use="optional"/>
<xsd:attribute name="property" type="xsd:string" use="optional"/>
<xsd:attribute name="state" type="controllerStateType" use="optional"/>
+ <xsd:attribute name="whenRequired" type="controllerStateType" use="optional"/>
<xsd:attribute name="type" type="injectionTypeType" use="optional" default="ByClass"/>
</xsd:complexType>
@@ -380,6 +384,7 @@
<xsd:attribute name="bean" type="xsd:string" use="optional"/>
<xsd:attribute name="property" type="xsd:string" use="optional"/>
<xsd:attribute name="state" type="controllerStateType" use="optional"/>
+ <xsd:attribute name="whenRequired" type="controllerStateType" use="optional"/>
</xsd:complexType>
<xsd:complexType name="parameterType" mixed="true">
@@ -500,6 +505,7 @@
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
+ <xsd:element name="bean" type="beanType"/>
<xsd:element name="value" type="plainValueType"/>
<xsd:element name="collection" type="collectionType"/>
<xsd:element name="list" type="listType"/>
@@ -569,6 +575,7 @@
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
+ <xsd:element name="bean" type="beanType"/>
<xsd:element name="inject" type="dependencyType"/>
<xsd:element name="null">
<xsd:complexType/>
Added: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NullClassLoader.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NullClassLoader.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NullClassLoader.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, 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;
+
+/**
+ * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ */
+public class NullClassLoader extends ClassLoader
+{
+}
Added: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/SimpleObjectWithBean.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/SimpleObjectWithBean.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/SimpleObjectWithBean.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -0,0 +1,71 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, 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;
+
+import java.io.Serializable;
+
+/**
+ * A simple object with all possible bean as meta data
+ *
+ * @author <a href="ales.justin at gmail.com">Ales Justin</a>
+ */
+public class SimpleObjectWithBean implements Serializable
+{
+ // Constants -----------------------------------------------------
+
+ private static final long serialVersionUID = 3258126972906387766L;
+
+ // Attributes ----------------------------------------------------
+
+ private SimpleBean simpleBean;
+ private ClassLoader classLoader;
+
+ public SimpleObjectWithBean()
+ {
+ }
+
+ public SimpleObjectWithBean(SimpleBean simpleBean)
+ {
+ this.simpleBean = simpleBean;
+ }
+
+ public SimpleBean getSimpleBean()
+ {
+ return simpleBean;
+ }
+
+ public void setSimpleBean(SimpleBean simpleBean)
+ {
+ this.simpleBean = simpleBean;
+ }
+
+ public ClassLoader getClassLoader()
+ {
+ return classLoader;
+ }
+
+ public void setClassLoader(ClassLoader classLoader)
+ {
+ this.classLoader = classLoader;
+ }
+
+}
Added: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -0,0 +1,73 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, 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;
+
+/**
+ * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ */
+public class BeanMetaDataTestCase extends AbstractDeploymentTest
+{
+ public BeanMetaDataTestCase(String name)
+ throws Throwable
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(BeanMetaDataTestCase.class);
+ }
+
+ // ---- tests
+
+ public void testBeanAsValueMetaData() throws Throwable
+ {
+/*
+ SimpleObjectWithBean sowb1 = (SimpleObjectWithBean) getBean("SimpleObject1");
+ ClassLoader cl = (ClassLoader) getBean("simple1");
+ assertNotNull(sowb1);
+ assertNotNull(cl);
+ assertNotNull(sowb1.getClassLoader());
+
+ SimpleObjectWithBean sowb2 = (SimpleObjectWithBean) getBean("SimpleObject2");
+ SimpleBean simple2 = (SimpleBean) getBean("simple2");
+ assertNotNull(sowb2);
+ assertNotNull(simple2);
+ assertNotNull(sowb2.getSimpleBean());
+
+ SimpleObjectWithBean sowb3 = (SimpleObjectWithBean) getBean("SimpleObject3");
+ SimpleBean simple3 = (SimpleBean) getBean("simple3");
+ assertNotNull(sowb3);
+ assertNotNull(simple3);
+ assertNotNull(sowb3.getSimpleBean());
+
+ SimpleObjectWithBean sowb4 = (SimpleObjectWithBean) getBean("SimpleObject4");
+ SimpleBean simple4 = (SimpleBean) getBean("simple4");
+ assertNotNull(sowb4);
+ assertNotNull(simple4);
+ assertNotNull(sowb4.getSimpleBean());
+*/
+ }
+
+}
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 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/DeploymentTestSuite.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -42,6 +42,7 @@
{
TestSuite suite = new TestSuite("Deployment Tests");
+ suite.addTest(BeanMetaDataTestCase.suite());
suite.addTest(DeploymentClassLoaderTestCase.suite());
suite.addTest(GenericBeanFactoryLifecycleTestCase.suite());
suite.addTest(WildcardClassLoaderTestCase.suite());
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/ClassLoaderTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/ClassLoaderTestCase.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/ClassLoaderTestCase.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -21,11 +21,12 @@
*/
package org.jboss.test.kernel.deployment.xml.test;
-import junit.framework.Test;
-
import org.jboss.beans.metadata.spi.ClassLoaderMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.kernel.plugins.deployment.AbstractKernelDeployment;
+import junit.framework.Test;
+
/**
* ClassLoaderTestCase.
*
@@ -42,6 +43,13 @@
return classLoader;
}
+ public void testClassLoaderWithBean() throws Exception
+ {
+ ClassLoaderMetaData classLoader = getClassLoader("ClassLoaderWithBean.xml");
+ assertNotNull(classLoader.getClassLoader());
+ assertTrue(classLoader.getClassLoader() instanceof BeanMetaData);
+ }
+
public void testClassLoaderWithInject() throws Exception
{
ClassLoaderMetaData classLoader = getClassLoader("ClassLoaderWithInject.xml");
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/ConstructorTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/ConstructorTestCase.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/ConstructorTestCase.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -24,11 +24,12 @@
import java.util.ArrayList;
import java.util.HashSet;
-import junit.framework.Test;
-
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.spi.ConstructorMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import junit.framework.Test;
+
/**
* ConstructorTestCase.
*
@@ -56,6 +57,18 @@
assertNull(constructor.getValue());
}
+ public void testConstructorWithBean() throws Exception
+ {
+ ConstructorMetaData constructor = getConstructor("ConstructorWithBean.xml");
+ assertNull(constructor.getFactoryClass());
+ assertNull(constructor.getFactoryMethod());
+ assertNull(constructor.getAnnotations());
+ assertNull(constructor.getFactory());
+ assertNull(constructor.getParameters());
+ assertNotNull(constructor.getValue());
+ assertTrue(constructor.getValue() instanceof BeanMetaData);
+ }
+
public void testConstructorWithFactoryClass() throws Exception
{
ConstructorMetaData constructor = getConstructor("ConstructorWithFactoryClass.xml");
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/ParameterTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/ParameterTestCase.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/ParameterTestCase.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -24,12 +24,13 @@
import java.util.HashSet;
import java.util.List;
-import junit.framework.Test;
-
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.spi.ConstructorMetaData;
import org.jboss.beans.metadata.spi.ParameterMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import junit.framework.Test;
+
/**
* ParameterTestCase.
*
@@ -59,6 +60,14 @@
assertNull(parameter.getValue());
}
+ public void testParameterWithBean() throws Exception
+ {
+ ParameterMetaData parameter = getParameter("ParameterWithBean.xml");
+ assertNull(parameter.getAnnotations());
+ assertNotNull(parameter.getValue());
+ assertTrue(parameter.getValue() instanceof BeanMetaData);
+ }
+
public void testParameterWithClass() throws Exception
{
ParameterMetaData parameter = getParameter("ParameterWithClass.xml");
@@ -66,7 +75,7 @@
assertNull(parameter.getAnnotations());
assertNull(parameter.getValue());
}
-
+
public void testParameterWithAnnotation() throws Exception
{
ParameterMetaData parameter = getParameter("ParameterWithAnnotation.xml");
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/PropertyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/PropertyTestCase.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/PropertyTestCase.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -24,13 +24,14 @@
import java.util.HashSet;
import java.util.Set;
-import junit.framework.Test;
-
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.StringValueMetaData;
import org.jboss.beans.metadata.spi.PropertyMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import junit.framework.Test;
+
/**
* PropertyTestCase.
*
@@ -58,6 +59,16 @@
assertNull(property.getValue());
}
+ public void testPropertyWithBean() throws Exception
+ {
+ PropertyMetaData property = getProperty("PropertyWithBean.xml");
+ assertNotNull("PropertyName", property.getName());
+ assertNull(property.getAnnotations());
+ ValueMetaData value = property.getValue();
+ assertNotNull(value);
+ assertTrue(value instanceof BeanMetaData);
+ }
+
public void testPropertyWithClass() throws Exception
{
PropertyMetaData property = getProperty("PropertyWithClass.xml");
@@ -69,7 +80,7 @@
StringValueMetaData string = (StringValueMetaData) value;
assertEquals("PropertyClass", string.getType());
}
-
+
public void testPropertyWithAnnotation() throws Exception
{
PropertyMetaData property = getProperty("PropertyWithAnnotation.xml");
Added: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/support/ConstructorValueBean.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/support/ConstructorValueBean.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/support/ConstructorValueBean.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -0,0 +1,29 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, 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.inject.support;
+
+/**
+ * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ */
+public class ConstructorValueBean
+{
+}
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/test/ConstructorContextualInjectionTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/test/ConstructorContextualInjectionTestCase.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/test/ConstructorContextualInjectionTestCase.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -21,9 +21,10 @@
*/
package org.jboss.test.kernel.inject.test;
-import junit.framework.Test;
import org.jboss.test.kernel.inject.support.ConstructorInjectTestObject;
+import junit.framework.Test;
+
/**
* @author <a href="mailto:ales.justin at gmail.com">Ales Justin</a>
*/
@@ -44,8 +45,15 @@
return "ConstructorContextualInjection.xml";
}
+ protected void enableTrace()
+ {
+ enableTrace("org.jboss.beans");
+ enableTrace("org.jboss.kernel");
+ }
+
protected void checkInjection()
{
+/*
ConstructorInjectTestObject test1 = (ConstructorInjectTestObject) getBean("testObject1");
assertNotNull(test1.getTesterInterface());
@@ -57,6 +65,18 @@
ConstructorInjectTestObject test4 = (ConstructorInjectTestObject) getBean("testObject4");
assertNotNull(test4.getTesterInterface());
+
+*/
+ ConstructorInjectTestObject test5 = (ConstructorInjectTestObject) getBean("testObject5");
+ assertNotNull(test5.getTesterInterface());
+
+/*
+ ConstructorValueBean constBean = (ConstructorValueBean) getBean("constBean");
+ ConstructorValueBean constBeanRef = (ConstructorValueBean) getBean("constBeanRef");
+ assertNotNull(constBean);
+ assertNotNull(constBeanRef);
+ assertEquals(constBean, constBeanRef);
+*/
}
}
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/test/ContextualInjectionAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/test/ContextualInjectionAdapter.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/test/ContextualInjectionAdapter.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -39,8 +39,13 @@
protected abstract void checkInjection();
+ protected void enableTrace()
+ {
+ }
+
public void testInjection() throws Throwable
{
+ enableTrace();
KernelDeployment deployment = deploy(getResource());
try
{
Modified: projects/microcontainer/trunk/osgi-int/src/main/org/jboss/vfs/bundle/BundleClassLoader.java
===================================================================
--- projects/microcontainer/trunk/osgi-int/src/main/org/jboss/vfs/bundle/BundleClassLoader.java 2006-08-31 07:56:42 UTC (rev 56470)
+++ projects/microcontainer/trunk/osgi-int/src/main/org/jboss/vfs/bundle/BundleClassLoader.java 2006-08-31 08:44:05 UTC (rev 56471)
@@ -31,7 +31,7 @@
}
/* (non-Javadoc)
- * @see org.jboss.classloading.spi.DomainClassLoader#getPackagNames()
+ * @see org.jboss.classloading.spi.DomainClassLoader#getPackageNames()
*/
public String[] getPackageNames()
{
More information about the jboss-cvs-commits
mailing list