[jboss-cvs] JBossAS SVN: r68636 - in projects/microcontainer/trunk/kernel/src/main/org/jboss: beans/metadata/plugins/factory and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jan 4 19:00:54 EST 2008
Author: alesj
Date: 2008-01-04 19:00:54 -0500 (Fri, 04 Jan 2008)
New Revision: 68636
Added:
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AutowireTypeValueAdapter.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/CardinalityValueAdapter.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ControllerModeValueAdapter.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ControllerStateValueAdapter.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/FromContextValueAdapter.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InjectionOptionValueAdapter.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/MapEntry.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/package-info.java
Modified:
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractAliasMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractAnnotationMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractArrayMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCallbackMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractClassLoaderMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCollectionMetaData.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/AbstractDemandMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyMetaData.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/AbstractFeatureMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInstallMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractLazyMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractListMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractMapMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractNamedAliasMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractParameterMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractPropertyMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractSetMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractSupplyMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueFactoryMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InstallCallbackMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/TypeProvider.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/UninstallCallbackMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactoryMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployment.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ValueFactoryHandler.java
Log:
Initial JAXB support for MC IoC.
TODO to port tests.
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractAliasMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractAliasMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractAliasMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -24,6 +24,11 @@
import java.io.Serializable;
import java.util.Iterator;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlTransient;
+
import org.jboss.beans.metadata.spi.AliasMetaData;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
@@ -39,10 +44,11 @@
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
*/
+ at XmlType
public class AbstractAliasMetaData extends JBossObject
implements AliasMetaData, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
private static TypeInfoFactory typeInfoFactory = new IntrospectionTypeInfoFactory();
public String alias;
@@ -63,6 +69,7 @@
return alias;
}
+ @XmlValue
public void setAlias(String alias)
{
this.alias = alias;
@@ -73,6 +80,7 @@
return replace;
}
+ @XmlAttribute
public void setReplace(boolean replace)
{
this.replace = replace;
@@ -83,11 +91,13 @@
return clazz;
}
+ @XmlAttribute(name="class")
public void setClazz(String clazz)
{
this.clazz = clazz;
}
+ @XmlTransient
public Object getAliasValue()
{
try
@@ -153,5 +163,4 @@
// this is what we probably want? - never saw duplicate annotation on a bean/prop/...
return alias.equals(amd.alias) && (replace == amd.replace) && (clazz != null && clazz.equals(amd.clazz));
}
-
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractAnnotationMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractAnnotationMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractAnnotationMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -25,6 +25,10 @@
import java.lang.annotation.Annotation;
import java.util.Iterator;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.XmlTransient;
+
import org.jboss.annotation.factory.AnnotationCreator;
import org.jboss.annotation.factory.ast.TokenMgrError;
import org.jboss.beans.metadata.spi.AnnotationMetaData;
@@ -37,13 +41,15 @@
/**
* Metadata for an annotation.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType(propOrder={"annotation"})
public class AbstractAnnotationMetaData extends JBossObject
implements AnnotationMetaData, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
public String annotation;
@@ -64,6 +70,7 @@
return annotation;
}
+ @XmlValue
public void setAnnotation(String annotation)
{
this.annotation = annotation;
@@ -79,6 +86,7 @@
this.replace = replace;
}
+ @XmlTransient
public Annotation getAnnotationInstance()
{
return getAnnotationInstance(null);
@@ -150,5 +158,4 @@
// this is what we probably want? - never saw duplicate annotation on a bean/prop/...
return (replace == amd.replace) && annotation.equals(amd.annotation);
}
-
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractArrayMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractArrayMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractArrayMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -25,18 +25,41 @@
import java.util.Collection;
import java.lang.reflect.Array;
+import javax.xml.bind.annotation.XmlType;
+
import org.jboss.reflect.spi.ClassInfo;
import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.xb.annotations.JBossXmlNoElements;
+import org.jboss.xb.annotations.JBossXmlChildren;
+import org.jboss.xb.annotations.JBossXmlChild;
+import org.jboss.xb.annotations.JBossXmlChildWildcard;
/**
* Array metadata.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
+ at JBossXmlNoElements
+ at JBossXmlChildren
+({
+ @JBossXmlChild(name="array", type=AbstractArrayMetaData.class),
+ @JBossXmlChild(name="collection", type=AbstractCollectionMetaData.class),
+ @JBossXmlChild(name="inject", type=AbstractInjectionValueMetaData.class),
+ @JBossXmlChild(name="list", type=AbstractListMetaData.class),
+ @JBossXmlChild(name="map", type=AbstractMapMetaData.class),
+ @JBossXmlChild(name="null", type=AbstractValueMetaData.class),
+ @JBossXmlChild(name="set", type=AbstractSetMetaData.class),
+ @JBossXmlChild(name="this", type=ThisValueMetaData.class),
+ @JBossXmlChild(name="value", type=StringValueMetaData.class),
+ @JBossXmlChild(name="value-factory", type=AbstractValueFactoryMetaData.class)
+})
+ at JBossXmlChildWildcard(wrapper=AbstractValueMetaData.class, property="value")
public class AbstractArrayMetaData extends AbstractListMetaData
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/**
* Create a new array value
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 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -28,6 +28,11 @@
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
import org.jboss.beans.metadata.spi.AutowireType;
import org.jboss.beans.metadata.spi.BeanMetaData;
@@ -51,21 +56,28 @@
import org.jboss.dependency.spi.DependencyItem;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.managed.api.annotation.ManagementObject;
+import org.jboss.managed.api.annotation.ManagementProperties;
+import org.jboss.managed.api.annotation.ManagementProperty;
import org.jboss.reflect.spi.TypeInfo;
import org.jboss.util.JBossObject;
import org.jboss.util.JBossStringBuilder;
+import org.jboss.xb.annotations.JBossXmlSchema;
/**
* Metadata for a bean.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
- at ManagementObject
+ at ManagementObject(properties = ManagementProperties.EXPLICIT) // TODO - explicitly add props we want to manage
+ at JBossXmlSchema(namespace="urn:jboss:bean-deployer:2.0", elementFormDefault= XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="bean")
+ at XmlType(propOrder={"aliases", "annotations", "classLoader", "constructor", "properties", "create", "start", "stop", "destroy", "depends", "demands", "supplies", "installs", "uninstalls", "installCallbacks", "uninstallCallbacks"})
public class AbstractBeanMetaData extends AbstractFeatureMetaData
implements BeanMetaData, BeanMetaDataFactory, MutableLifecycleHolder, Serializable
{
- private static final long serialVersionUID = 2L;
+ private static final long serialVersionUID = 3L;
/** The bean fully qualified class name */
protected String bean;
@@ -220,6 +232,7 @@
*
* @param bean The bean class name to set.
*/
+ @XmlAttribute(name="class")
public void setBean(String bean)
{
this.bean = bean;
@@ -267,6 +280,8 @@
*
* @param properties Set<PropertyMetaData>
*/
+ @ManagementProperty(managed=true) // TODO - this ok?
+ @XmlElement(name="property", type=AbstractPropertyMetaData.class)
public void setProperties(Set<PropertyMetaData> properties)
{
this.properties = properties;
@@ -278,6 +293,7 @@
return classLoader;
}
+ @XmlElement(name="classloader", type=AbstractClassLoaderMetaData.class)
public void setClassLoader(ClassLoaderMetaData classLoader)
{
this.classLoader = classLoader;
@@ -288,6 +304,7 @@
*
* @param constructor the constructor metadata
*/
+ @XmlElement(name="constructor", type=AbstractConstructorMetaData.class)
public void setConstructor(ConstructorMetaData constructor)
{
this.constructor = constructor;
@@ -298,6 +315,7 @@
*
* @param demands Set<DemandMetaData>
*/
+ @XmlElement(name="demand", type=AbstractDemandMetaData.class)
public void setDemands(Set<DemandMetaData> demands)
{
this.demands = demands;
@@ -309,6 +327,7 @@
*
* @param supplies Set<SupplyMetaData>
*/
+ @XmlElement(name="supply", type=AbstractSupplyMetaData.class)
public void setSupplies(Set<SupplyMetaData> supplies)
{
this.supplies = supplies;
@@ -320,6 +339,7 @@
*
* @param depends Set<DependencyMetaData>
*/
+ @XmlElement(name="depends", type=AbstractDependencyMetaData.class)
public void setDepends(Set<DependencyMetaData> depends)
{
this.depends = depends;
@@ -336,6 +356,7 @@
*
* @param name The name to set.
*/
+ @XmlAttribute
public void setName(String name)
{
this.name = name;
@@ -347,6 +368,7 @@
return aliases;
}
+ @XmlElement(name="alias", type=String.class)
public void setAliases(Set<Object> aliases)
{
this.aliases = aliases;
@@ -362,6 +384,7 @@
*
* @param parent the parent name
*/
+ @XmlAttribute
public void setParent(String parent)
{
this.parent = parent;
@@ -377,6 +400,7 @@
*
* @param anAbstract is abstract
*/
+ @XmlAttribute
public void setAbstract(boolean anAbstract)
{
isAbstract = anAbstract;
@@ -392,6 +416,7 @@
*
* @param autowireType the type
*/
+ @XmlAttribute(name="autowire-type")
public void setAutowireType(AutowireType autowireType)
{
this.autowireType = autowireType;
@@ -402,6 +427,7 @@
return mode;
}
+ @XmlAttribute
public void setMode(ControllerMode mode)
{
this.mode = mode;
@@ -413,6 +439,7 @@
return autowireCandidate;
}
+ @XmlAttribute(name="autowire-candidate")
public void setAutowireCandidate(boolean autowireCandidate)
{
this.autowireCandidate = autowireCandidate;
@@ -438,6 +465,7 @@
*
* @param lifecycle the lifecycle metadata
*/
+ @XmlElement(name="create", type=AbstractLifecycleMetaData.class)
public void setCreate(LifecycleMetaData lifecycle)
{
lifecycle.setState(ControllerState.CREATE);
@@ -454,6 +482,7 @@
*
* @param lifecycle the lifecycle metadata
*/
+ @XmlElement(name="start", type=AbstractLifecycleMetaData.class)
public void setStart(LifecycleMetaData lifecycle)
{
lifecycle.setState(ControllerState.START);
@@ -470,6 +499,7 @@
*
* @param lifecycle the lifecycle metadata
*/
+ @XmlElement(name="stop", type=AbstractLifecycleMetaData.class)
public void setStop(LifecycleMetaData lifecycle)
{
lifecycle.setState(ControllerState.START);
@@ -486,6 +516,7 @@
*
* @param lifecycle the lifecycle metadata
*/
+ @XmlElement(name="destroy", type=AbstractLifecycleMetaData.class)
public void setDestroy(LifecycleMetaData lifecycle)
{
lifecycle.setState(ControllerState.CREATE);
@@ -517,6 +548,7 @@
*
* @param installs List<InstallMetaData>
*/
+ @XmlElement(name="install", type=AbstractInstallMetaData.class)
public void setInstalls(List<InstallMetaData> installs)
{
this.installs = installs;
@@ -533,6 +565,7 @@
*
* @param uninstalls List<InstallMetaData>
*/
+ @XmlElement(name="uninstall", type=AbstractInstallMetaData.class)
public void setUninstalls(List<InstallMetaData> uninstalls)
{
this.uninstalls = uninstalls;
@@ -544,6 +577,7 @@
return installCallbacks;
}
+ @XmlElement(name="incallback", type=InstallCallbackMetaData.class)
public void setInstallCallbacks(List<CallbackMetaData> installCallbacks)
{
this.installCallbacks = installCallbacks;
@@ -555,6 +589,7 @@
return uninstallCallbacks;
}
+ @XmlElement(name="uncallback", type=UninstallCallbackMetaData.class)
public void setUninstallCallbacks(List<CallbackMetaData> uninstallCallbacks)
{
this.uninstallCallbacks = uninstallCallbacks;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCallbackMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCallbackMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCallbackMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -23,6 +23,8 @@
import java.io.Serializable;
+import javax.xml.bind.annotation.XmlAttribute;
+
import org.jboss.beans.info.spi.PropertyInfo;
import org.jboss.beans.metadata.spi.CallbackMetaData;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
@@ -43,7 +45,7 @@
public abstract class AbstractCallbackMetaData extends AbstractLifecycleMetaData
implements CallbackMetaData, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/** The cardinality */
protected Cardinality cardinality;
@@ -81,6 +83,7 @@
*
* @param property property name
*/
+ @XmlAttribute
public void setProperty(String property)
{
this.property = property;
@@ -97,6 +100,7 @@
*
* @param cardinality the cardinality
*/
+ @XmlAttribute
public void setCardinality(Cardinality cardinality)
{
this.cardinality = cardinality;
@@ -113,6 +117,7 @@
*
* @param whenRequired when is this call back required (default Configured)
*/
+ @XmlAttribute(name="whenRequired")
public void setWhenRequired(ControllerState whenRequired)
{
this.whenRequired = whenRequired;
@@ -129,6 +134,7 @@
*
* @param signature method / property parameter signature
*/
+ @XmlAttribute
public void setSignature(String signature)
{
this.signature = signature;
@@ -140,6 +146,7 @@
*
* @param dependentState the required state or null if it must be in the registry
*/
+ @XmlAttribute(name="state")
public void setDependentState(ControllerState dependentState)
{
this.dependentState = dependentState;
@@ -233,5 +240,4 @@
if (methodName != null)
buffer.append("method=").append(methodName);
}
-
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractClassLoaderMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractClassLoaderMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractClassLoaderMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -27,6 +27,11 @@
import java.util.Iterator;
import java.util.List;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlAnyElement;
+
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
import org.jboss.beans.metadata.spi.ClassLoaderMetaData;
@@ -36,17 +41,20 @@
import org.jboss.dependency.spi.ControllerState;
import org.jboss.util.JBossObject;
import org.jboss.util.JBossStringBuilder;
+import org.jboss.managed.api.annotation.ManagementProperty;
/**
* A classloader.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType(propOrder="classLoader")
public class AbstractClassLoaderMetaData extends JBossObject
implements ClassLoaderMetaData, BeanMetaDataFactory, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/** The classloader */
protected ValueMetaData classloader;
@@ -73,6 +81,12 @@
*
* @param classloader the classloader value
*/
+ @XmlElements
+ ({
+ @XmlElement(name="bean", type=AbstractBeanMetaData.class),
+ @XmlElement(name="inject", type=AbstractDependencyValueMetaData.class),
+ @XmlElement(name="null", type=AbstractValueMetaData.class)
+ })
public void setClassLoader(ValueMetaData classloader)
{
this.classloader = classloader;
@@ -84,6 +98,18 @@
return classloader;
}
+ @XmlAnyElement
+ @ManagementProperty(ignored = true)
+ public void setClassLoaderObject(Object classloader)
+ {
+ if (classloader == null)
+ setClassLoader(null);
+ else if (classloader instanceof ValueMetaData)
+ setClassLoader((ValueMetaData) classloader);
+ else
+ setClassLoader(new AbstractValueMetaData(classloader));
+ }
+
public List<BeanMetaData> getBeans()
{
if (classloader instanceof BeanMetaDataFactory)
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCollectionMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCollectionMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCollectionMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -26,6 +26,9 @@
import java.util.Collection;
import java.util.Iterator;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlAttribute;
+
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
import org.jboss.beans.metadata.spi.ValueMetaData;
@@ -33,17 +36,38 @@
import org.jboss.reflect.spi.ClassInfo;
import org.jboss.util.JBossObject;
import org.jboss.util.JBossStringBuilder;
+import org.jboss.xb.annotations.JBossXmlNoElements;
+import org.jboss.xb.annotations.JBossXmlChildren;
+import org.jboss.xb.annotations.JBossXmlChild;
+import org.jboss.xb.annotations.JBossXmlChildWildcard;
/**
* Collection metadata.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
+ at JBossXmlNoElements
+ at JBossXmlChildren
+({
+ @JBossXmlChild(name="array", type=AbstractArrayMetaData.class),
+ @JBossXmlChild(name="collection", type=AbstractCollectionMetaData.class),
+ @JBossXmlChild(name="inject", type=AbstractInjectionValueMetaData.class),
+ @JBossXmlChild(name="list", type=AbstractListMetaData.class),
+ @JBossXmlChild(name="map", type=AbstractMapMetaData.class),
+ @JBossXmlChild(name="null", type=AbstractValueMetaData.class),
+ @JBossXmlChild(name="set", type=AbstractSetMetaData.class),
+ @JBossXmlChild(name="this", type=ThisValueMetaData.class),
+ @JBossXmlChild(name="value", type=StringValueMetaData.class),
+ @JBossXmlChild(name="value-factory", type=AbstractValueFactoryMetaData.class)
+})
+ at JBossXmlChildWildcard(wrapper=AbstractValueMetaData.class, property="value")
public class AbstractCollectionMetaData extends AbstractTypeMetaData
implements Collection<MetaDataVisitorNode>, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/** The collection */
protected ArrayList<MetaDataVisitorNode> collection = new ArrayList<MetaDataVisitorNode>();
@@ -73,6 +97,7 @@
*
* @param elementType the element type
*/
+ @XmlAttribute(name="elementClass")
public void setElementType(String elementType)
{
this.elementType = elementType;
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 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -25,6 +25,12 @@
import java.util.List;
import java.util.Set;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlAttribute;
+
import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.beans.metadata.plugins.builder.MutableParameterizedMetaData;
import org.jboss.beans.metadata.spi.ConstructorMetaData;
@@ -41,17 +47,20 @@
import org.jboss.reflect.spi.TypeInfo;
import org.jboss.util.JBossObject;
import org.jboss.util.JBossStringBuilder;
+import org.jboss.managed.api.annotation.ManagementProperty;
/**
* Metadata for construction.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType(propOrder={"annotations", "factory", "parameters", "value"})
public class AbstractConstructorMetaData extends AbstractFeatureMetaData
implements ConstructorMetaData, MutableParameterizedMetaData, ValueMetaDataAware, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/**
* The paramaters List<ParameterMetaData>
@@ -90,6 +99,7 @@
*
* @param parameters List<ParameterMetaData>
*/
+ @XmlElement(name="parameter", type=AbstractParameterMetaData.class)
public void setParameters(List<ParameterMetaData> parameters)
{
this.parameters = parameters;
@@ -101,19 +111,50 @@
*
* @param value the value
*/
+ @XmlElements
+ ({
+ @XmlElement(name="array", type=AbstractArrayMetaData.class),
+ @XmlElement(name="collection", type=AbstractCollectionMetaData.class),
+ @XmlElement(name="list", type=AbstractListMetaData.class),
+ @XmlElement(name="map", type=AbstractMapMetaData.class),
+ @XmlElement(name="set", type=AbstractSetMetaData.class),
+ @XmlElement(name="value", type=StringValueMetaData.class),
+ @XmlElement(name="value-factory", type=AbstractValueFactoryMetaData.class)
+ })
public void setValue(ValueMetaData value)
{
this.value = value;
flushJBossObjectCache();
}
+ @XmlAnyElement
+ @ManagementProperty(ignored = true)
+ public void setValueObject(Object value)
+ {
+ if (value == null)
+ setValue(null);
+ else if (value instanceof ValueMetaData)
+ setValue((ValueMetaData) value);
+ else
+ setValue(new AbstractValueMetaData(value));
+ }
+
/**
* Set the factory
*
* @param factory the factory
*/
+ @XmlElement(name="factory", type=AbstractDependencyValueMetaData.class)
public void setFactory(ValueMetaData factory)
{
+ // HACK to have wildcard factories
+ if (factory != null && factory instanceof AbstractDependencyValueMetaData)
+ {
+ Object underlying = factory.getUnderlyingValue();
+ if (underlying != null && underlying instanceof ValueMetaData)
+ factory = (ValueMetaData) underlying;
+ }
+
this.factory = factory;
flushJBossObjectCache();
}
@@ -123,6 +164,7 @@
*
* @param name the factory class name
*/
+ @XmlAttribute(name="factoryClass")
public void setFactoryClass(String name)
{
this.factoryClassName = name;
@@ -134,6 +176,7 @@
*
* @param name the factory method
*/
+ @XmlAttribute(name="factoryMethod")
public void setFactoryMethod(String name)
{
this.factoryMethod = name;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -24,6 +24,10 @@
import java.io.Serializable;
import java.util.Iterator;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlValue;
+
import org.jboss.beans.metadata.spi.DemandMetaData;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
@@ -42,13 +46,15 @@
/**
* A demand.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
public class AbstractDemandMetaData extends JBossObject
implements DemandMetaData, Serializable
{
- private static final long serialVersionUID = 2L;
+ private static final long serialVersionUID = 3L;
/** The demand */
protected Object demand;
@@ -81,6 +87,7 @@
*
* @param whenRequired when the dependecy is required
*/
+ @XmlAttribute(name="state")
public void setWhenRequired(ControllerState whenRequired)
{
this.whenRequired = whenRequired;
@@ -92,6 +99,7 @@
*
* @param demand the demand
*/
+ @XmlValue
public void setDemand(Object demand)
{
this.demand = demand;
@@ -123,6 +131,7 @@
*
* @param transformer the transformer class name
*/
+ @XmlAttribute
public void setTransformer(String transformer)
{
this.transformer = transformer;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -24,6 +24,9 @@
import java.io.Serializable;
import java.util.Iterator;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
import org.jboss.beans.metadata.spi.DependencyMetaData;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
@@ -38,9 +41,11 @@
/**
* A dependency.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
public class AbstractDependencyMetaData extends JBossObject
implements DependencyMetaData, Serializable
{
@@ -71,6 +76,7 @@
*
* @param dependency the dependency
*/
+ @XmlValue
public void setDependency(Object dependency)
{
this.dependency = dependency;
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 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -21,7 +21,12 @@
*/
package org.jboss.beans.metadata.plugins;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlAnyElement;
+
import org.jboss.beans.metadata.spi.MetaDataVisitor;
+import org.jboss.beans.metadata.spi.ValueMetaData;
import org.jboss.dependency.plugins.AbstractDependencyItem;
import org.jboss.dependency.spi.Controller;
import org.jboss.dependency.spi.ControllerContext;
@@ -31,16 +36,20 @@
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.reflect.spi.TypeInfo;
import org.jboss.util.JBossStringBuilder;
+import org.jboss.xb.annotations.JBossXmlAttribute;
+import org.jboss.managed.api.annotation.ManagementProperty;
/**
* Dependency value.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
public class AbstractDependencyValueMetaData extends AbstractValueMetaData
{
- private static final long serialVersionUID = 2L;
+ private static final long serialVersionUID = 3L;
/**
* The context
@@ -106,6 +115,7 @@
*
* @param property the property name
*/
+ @XmlAttribute
public void setProperty(String property)
{
this.property = property;
@@ -116,6 +126,7 @@
*
* @param whenRequiredState the when required state or null if it uses current context state
*/
+ @XmlAttribute(name="whenRequired")
public void setWhenRequiredState(ControllerState whenRequiredState)
{
this.whenRequiredState = whenRequiredState;
@@ -132,6 +143,7 @@
*
* @param dependentState the required state or null if it must be in the registry
*/
+ @XmlAttribute(name="state")
public void setDependentState(ControllerState dependentState)
{
this.dependentState = dependentState;
@@ -143,6 +155,25 @@
return dependentState;
}
+ @XmlAttribute(name="bean")
+ @JBossXmlAttribute(type=String.class)
+ public void setValue(Object value)
+ {
+ super.setValue(value);
+ }
+
+ @XmlAnyElement
+ @ManagementProperty(ignored = true)
+ public void setValueObject(Object value)
+ {
+ if (value == null)
+ setValue(null);
+ else if (value instanceof ValueMetaData)
+ setValue(value);
+ else
+ setValue(new AbstractValueMetaData(value));
+ }
+
protected boolean isLookupValid(ControllerContext lookup)
{
return (lookup != null);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractFeatureMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractFeatureMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractFeatureMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -25,6 +25,8 @@
import java.util.Iterator;
import java.util.Set;
+import javax.xml.bind.annotation.XmlElement;
+
import org.jboss.beans.metadata.spi.AnnotationMetaData;
import org.jboss.beans.metadata.spi.FeatureMetaData;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
@@ -44,7 +46,7 @@
public abstract class AbstractFeatureMetaData extends JBossObject
implements FeatureMetaData, TypeProvider, Serializable
{
- private static final long serialVersionUID = 1;
+ private static final long serialVersionUID = 2L;
/** The description */
protected String description;
@@ -75,6 +77,7 @@
*
* @param annotations Set<AnnotationMetaData>
*/
+ @XmlElement(name="annotation", type=AbstractAnnotationMetaData.class)
public void setAnnotations(Set<AnnotationMetaData> annotations)
{
this.annotations = annotations;
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 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -23,6 +23,9 @@
import java.util.List;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlAttribute;
+
import org.jboss.beans.metadata.spi.AutowireType;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
@@ -41,9 +44,10 @@
*
* @author <a href="ales.justin at gmail.com">Ales Justin</a>
*/
+ at XmlType
public class AbstractInjectionValueMetaData extends AbstractDependencyValueMetaData
{
- private static final long serialVersionUID = 2L;
+ private static final long serialVersionUID = 3L;
protected AutowireType injectionType = AutowireType.BY_CLASS;
@@ -89,6 +93,7 @@
return injectionType;
}
+ @XmlAttribute(name="type")
public void setInjectionType(AutowireType injectionType)
{
this.injectionType = injectionType;
@@ -99,6 +104,7 @@
return injectionOption;
}
+ @XmlAttribute(name="option")
public void setInjectionOption(InjectionOption injectionOption)
{
this.injectionOption = injectionOption;
@@ -109,6 +115,7 @@
return fromContext;
}
+ @XmlAttribute
public void setFromContext(FromContext fromContext)
{
this.fromContext = fromContext;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInstallMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInstallMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInstallMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -23,6 +23,9 @@
import java.io.Serializable;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlAttribute;
+
import org.jboss.beans.metadata.spi.InstallMetaData;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.dependency.plugins.AbstractDependencyItem;
@@ -38,13 +41,15 @@
/**
* Metadata for installation.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType(propOrder={"annotations", "parameters"})
public class AbstractInstallMetaData extends AbstractLifecycleMetaData
implements InstallMetaData, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/** The bean name */
protected String bean;
@@ -70,6 +75,7 @@
*
* @param bean the bean
*/
+ @XmlAttribute
public void setBean(String bean)
{
this.bean = bean;
@@ -80,6 +86,7 @@
*
* @param dependentState the required state or null if it must be in the registry
*/
+ @XmlAttribute(name="state")
public void setDependentState(ControllerState dependentState)
{
this.dependentState = dependentState;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractLazyMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractLazyMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractLazyMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -26,6 +26,11 @@
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlElement;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.LazyMetaData;
@@ -36,15 +41,19 @@
import org.jboss.dependency.spi.ControllerState;
import org.jboss.kernel.Kernel;
import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.xb.annotations.JBossXmlSchema;
/**
* Lazy metadata.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
+ at JBossXmlSchema(namespace="urn:jboss:bean-deployer:2.0", elementFormDefault=XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="lazy")
+ at XmlType(propOrder={"interfaces"})
public class AbstractLazyMetaData extends AbstractBeanMetaData implements LazyMetaData
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
private String beanName;
private boolean exposeClass;
@@ -112,6 +121,7 @@
return beanName;
}
+ @XmlAttribute(name="bean")
public void setBeanName(String beanName)
{
this.beanName = beanName;
@@ -124,6 +134,7 @@
return exposeClass;
}
+ @XmlAttribute
public void setExposeClass(boolean exposeClass)
{
this.exposeClass = exposeClass;
@@ -134,6 +145,7 @@
return interfaces;
}
+ @XmlElement(name="interface", type=String.class)
public void setInterfaces(Set<String> interfaces)
{
this.interfaces = interfaces;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -25,6 +25,10 @@
import java.util.List;
import java.util.Set;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+
import org.jboss.beans.metadata.plugins.builder.MutableParameterizedMetaData;
import org.jboss.beans.metadata.spi.LifecycleMetaData;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
@@ -42,13 +46,15 @@
/**
* Metadata for lifecycle.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType(propOrder={"annotations", "parameters"})
public class AbstractLifecycleMetaData extends AbstractFeatureMetaData
implements LifecycleMetaData, MutableParameterizedMetaData, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/** The state */
protected ControllerState state;
@@ -97,6 +103,7 @@
*
* @param name the factory method
*/
+ @XmlAttribute(name="method")
public void setMethodName(String name)
{
this.methodName = name;
@@ -113,6 +120,7 @@
*
* @param ignored the ignored
*/
+ @XmlAttribute
public void setIgnored(boolean ignored)
{
this.ignored = ignored;
@@ -128,6 +136,7 @@
*
* @param parameters List<ParameterMetaData>
*/
+ @XmlElement(name="parameter", type=AbstractParameterMetaData.class)
public void setParameters(List<ParameterMetaData> parameters)
{
this.parameters = parameters;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractListMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractListMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractListMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -26,18 +26,41 @@
import java.util.List;
import java.util.ListIterator;
+import javax.xml.bind.annotation.XmlType;
+
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
+import org.jboss.xb.annotations.JBossXmlNoElements;
+import org.jboss.xb.annotations.JBossXmlChildren;
+import org.jboss.xb.annotations.JBossXmlChild;
+import org.jboss.xb.annotations.JBossXmlChildWildcard;
/**
* List metadata.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
+ at JBossXmlNoElements
+ at JBossXmlChildren
+({
+ @JBossXmlChild(name="array", type=AbstractArrayMetaData.class),
+ @JBossXmlChild(name="collection", type=AbstractCollectionMetaData.class),
+ @JBossXmlChild(name="inject", type=AbstractInjectionValueMetaData.class),
+ @JBossXmlChild(name="list", type=AbstractListMetaData.class),
+ @JBossXmlChild(name="map", type=AbstractMapMetaData.class),
+ @JBossXmlChild(name="null", type=AbstractValueMetaData.class),
+ @JBossXmlChild(name="set", type=AbstractSetMetaData.class),
+ @JBossXmlChild(name="this", type=ThisValueMetaData.class),
+ @JBossXmlChild(name="value", type=StringValueMetaData.class),
+ @JBossXmlChild(name="value-factory", type=AbstractValueFactoryMetaData.class)
+})
+ at JBossXmlChildWildcard(wrapper=AbstractValueMetaData.class, property="value")
public class AbstractListMetaData extends AbstractCollectionMetaData
implements List<MetaDataVisitorNode>, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/**
* Create a new list value
@@ -95,5 +118,4 @@
{
return collection.subList(fromIndex, toIndex);
}
-
}
\ No newline at end of file
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractMapMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractMapMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractMapMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -29,22 +29,35 @@
import java.util.Map;
import java.util.Set;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlAttribute;
+
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
import org.jboss.beans.metadata.spi.ValueMetaData;
import org.jboss.reflect.spi.ClassInfo;
import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.xb.annotations.JBossXmlNoElements;
+import org.jboss.xb.annotations.JBossXmlChildren;
+import org.jboss.xb.annotations.JBossXmlChild;
/**
* Map metadata.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
+ at JBossXmlNoElements
+ at JBossXmlChildren
+({
+ @JBossXmlChild(name="entry", type=MapEntry.class)
+})
public class AbstractMapMetaData extends AbstractTypeMetaData
implements Map<MetaDataVisitorNode, MetaDataVisitorNode>, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/** The map */
private HashMap<MetaDataVisitorNode, MetaDataVisitorNode> map = new HashMap<MetaDataVisitorNode, MetaDataVisitorNode>();
@@ -77,6 +90,7 @@
*
* @param keyType the key type
*/
+ @XmlAttribute(name="keyClass")
public void setKeyType(String keyType)
{
this.keyType = keyType;
@@ -97,6 +111,7 @@
*
* @param valueType the value type
*/
+ @XmlAttribute(name="valueClass")
public void setValueType(String valueType)
{
this.valueType = valueType;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractNamedAliasMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractNamedAliasMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractNamedAliasMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -21,6 +21,9 @@
*/
package org.jboss.beans.metadata.plugins;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlAttribute;
+
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.NamedAliasMetaData;
import org.jboss.util.JBossStringBuilder;
@@ -30,10 +33,11 @@
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
*/
+ at XmlType
public class AbstractNamedAliasMetaData extends AbstractAliasMetaData implements NamedAliasMetaData
{
/** The serialVersionUID */
- private static final long serialVersionUID = -6917262743964306852L;
+ private static final long serialVersionUID = 2L;
/** The name */
protected Object name;
@@ -51,6 +55,7 @@
return name;
}
+ @XmlAttribute(required = true)
public void setName(Object name)
{
this.name = name;
@@ -81,5 +86,4 @@
AbstractNamedAliasMetaData amd = (AbstractNamedAliasMetaData)object;
return name.equals(amd.name);
}
-
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractParameterMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractParameterMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractParameterMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -25,6 +25,13 @@
import java.util.Set;
import java.util.Stack;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlValue;
+
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
import org.jboss.beans.metadata.spi.ParameterMetaData;
@@ -35,17 +42,20 @@
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.util.JBossStringBuilder;
import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.managed.api.annotation.ManagementProperty;
/**
* Metadata for a parameter.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType(propOrder={"annotations", "value"})
public class AbstractParameterMetaData extends AbstractFeatureMetaData
implements ParameterMetaData, ValueMetaDataAware, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/**
* The parameter type
@@ -131,6 +141,7 @@
return type;
}
+ @XmlAttribute(name="class")
public void setType(String type)
{
this.type = type;
@@ -152,12 +163,50 @@
this.index = index;
}
+ @XmlElements
+ ({
+ @XmlElement(name="array", type=AbstractArrayMetaData.class),
+ @XmlElement(name="collection", type=AbstractCollectionMetaData.class),
+ @XmlElement(name="inject", type=AbstractInjectionValueMetaData.class),
+ @XmlElement(name="list", type=AbstractListMetaData.class),
+ @XmlElement(name="map", type=AbstractMapMetaData.class),
+ @XmlElement(name="set", type=AbstractSetMetaData.class),
+ @XmlElement(name="this", type=ThisValueMetaData.class),
+ @XmlElement(name="value", type=StringValueMetaData.class),
+ @XmlElement(name="value-factory", type=AbstractValueFactoryMetaData.class)
+ })
public void setValue(ValueMetaData value)
{
this.value = value;
flushJBossObjectCache();
}
+ @XmlAnyElement
+ @ManagementProperty(ignored = true)
+ public void setValueObject(Object value)
+ {
+ if (value == null)
+ setValue(null);
+ else if (value instanceof ValueMetaData)
+ setValue((ValueMetaData) value);
+ else
+ setValue(new AbstractValueMetaData(value));
+ }
+
+ @XmlValue
+ @ManagementProperty(ignored = true)
+ public void setValueString(String value)
+ {
+ if (value == null)
+ setValue(null);
+ else
+ {
+ StringValueMetaData stringValue = new StringValueMetaData(value);
+ stringValue.setType(getType());
+ setValue(stringValue);
+ }
+ }
+
protected void addChildren(Set<MetaDataVisitorNode> children)
{
super.addChildren(children);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractPropertyMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractPropertyMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractPropertyMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -24,6 +24,13 @@
import java.io.Serializable;
import java.util.Set;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlValue;
+
import org.jboss.beans.info.spi.PropertyInfo;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
@@ -35,17 +42,20 @@
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.reflect.spi.TypeInfo;
import org.jboss.util.JBossStringBuilder;
+import org.jboss.managed.api.annotation.ManagementProperty;
/**
* Metadata for a property.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType(propOrder={"annotations", "value"})
public class AbstractPropertyMetaData extends AbstractFeatureMetaData
implements PropertyMetaData, ValueMetaDataAware, TypeProvider, Serializable
{
- private static final long serialVersionUID = 2L;
+ private static final long serialVersionUID = 3L;
/** The property name */
protected String name;
@@ -124,6 +134,7 @@
*
* @param name the name
*/
+ @XmlAttribute
public void setName(String name)
{
this.name = name;
@@ -144,6 +155,7 @@
return preInstantiate;
}
+ @XmlAttribute
public void setPreInstantiate(boolean preInstantiate)
{
this.preInstantiate = preInstantiate;
@@ -159,12 +171,101 @@
*
* @param value the value
*/
+ @XmlElements
+ ({
+ @XmlElement(name="array", type=AbstractArrayMetaData.class),
+ @XmlElement(name="collection", type=AbstractCollectionMetaData.class),
+ @XmlElement(name="inject", type=AbstractInjectionValueMetaData.class),
+ @XmlElement(name="list", type=AbstractListMetaData.class),
+ @XmlElement(name="map", type=AbstractMapMetaData.class),
+ @XmlElement(name="set", type=AbstractSetMetaData.class),
+ @XmlElement(name="this", type=ThisValueMetaData.class),
+ @XmlElement(name="value", type=StringValueMetaData.class),
+ @XmlElement(name="value-factory", type=AbstractValueFactoryMetaData.class)
+ })
public void setValue(ValueMetaData value)
{
this.value = value;
flushJBossObjectCache();
}
+ @XmlAnyElement
+ @ManagementProperty(ignored = true)
+ public void setValueObject(Object value)
+ {
+ if (value == null)
+ setValue(null);
+ else if (value instanceof ValueMetaData)
+ setValue((ValueMetaData) value);
+ else
+ setValue(new AbstractValueMetaData(value));
+ }
+
+ @XmlValue
+ @ManagementProperty(ignored = true)
+ public void setValueString(String value)
+ {
+ if (value == null)
+ setValue(null);
+ else
+ {
+ ValueMetaData valueMetaData = getValue();
+ if (valueMetaData instanceof StringValueMetaData)
+ {
+ ((StringValueMetaData) valueMetaData).setValue(value);
+ return;
+ }
+ StringValueMetaData stringValue = new StringValueMetaData(value);
+ stringValue.setType(getType());
+ setValue(stringValue);
+ }
+ }
+
+ @XmlAttribute(name="class")
+ @ManagementProperty(ignored = true)
+ public void setPropertyType(String type)
+ {
+ ValueMetaData valueMetaData = getValue();
+ if (valueMetaData != null && valueMetaData instanceof StringValueMetaData == false)
+ throw new IllegalArgumentException("Property is not a string");
+ if (valueMetaData == null)
+ {
+ valueMetaData = new StringValueMetaData();
+ setValue(valueMetaData);
+ }
+ ((StringValueMetaData) valueMetaData).setType(type);
+ }
+
+ @XmlAttribute(name="replace")
+ @ManagementProperty(ignored = true)
+ public void setPropertyReplace(boolean replace)
+ {
+ ValueMetaData valueMetaData = getValue();
+ if (valueMetaData != null && valueMetaData instanceof StringValueMetaData == false)
+ throw new IllegalArgumentException("Property is not a string");
+ if (valueMetaData == null)
+ {
+ valueMetaData = new StringValueMetaData();
+ setValue(valueMetaData);
+ }
+ ((StringValueMetaData) valueMetaData).setReplace(replace);
+ }
+
+ @XmlAttribute(name="trim")
+ @ManagementProperty(ignored = true)
+ public void setPropertyTrim(boolean trim)
+ {
+ ValueMetaData valueMetaData = getValue();
+ if (valueMetaData != null && valueMetaData instanceof StringValueMetaData == false)
+ throw new IllegalArgumentException("Property is not a string");
+ if (valueMetaData == null)
+ {
+ valueMetaData = new StringValueMetaData();
+ setValue(valueMetaData);
+ }
+ ((StringValueMetaData) valueMetaData).setTrim(trim);
+ }
+
public void initialVisit(MetaDataVisitor visitor)
{
visitor.setContextState(ControllerState.CONFIGURED);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractSetMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractSetMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractSetMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -26,18 +26,41 @@
import java.util.HashSet;
import java.util.Set;
+import javax.xml.bind.annotation.XmlType;
+
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
+import org.jboss.xb.annotations.JBossXmlNoElements;
+import org.jboss.xb.annotations.JBossXmlChildren;
+import org.jboss.xb.annotations.JBossXmlChild;
+import org.jboss.xb.annotations.JBossXmlChildWildcard;
/**
* Set metadata.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
+ at JBossXmlNoElements
+ at JBossXmlChildren
+({
+ @JBossXmlChild(name="array", type=AbstractArrayMetaData.class),
+ @JBossXmlChild(name="collection", type=AbstractCollectionMetaData.class),
+ @JBossXmlChild(name="inject", type=AbstractInjectionValueMetaData.class),
+ @JBossXmlChild(name="list", type=AbstractListMetaData.class),
+ @JBossXmlChild(name="map", type=AbstractMapMetaData.class),
+ @JBossXmlChild(name="null", type=AbstractValueMetaData.class),
+ @JBossXmlChild(name="set", type=AbstractSetMetaData.class),
+ @JBossXmlChild(name="this", type=ThisValueMetaData.class),
+ @JBossXmlChild(name="value", type=StringValueMetaData.class),
+ @JBossXmlChild(name="value-factory", type=AbstractValueFactoryMetaData.class)
+})
+ at JBossXmlChildWildcard(wrapper=AbstractValueMetaData.class, property="value")
public class AbstractSetMetaData extends AbstractCollectionMetaData
implements Set<MetaDataVisitorNode>, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/**
* Create a new set value
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractSupplyMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractSupplyMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractSupplyMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -25,6 +25,10 @@
import java.io.Serializable;
import java.util.Iterator;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.XmlAttribute;
+
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
import org.jboss.beans.metadata.spi.SupplyMetaData;
@@ -37,13 +41,15 @@
/**
* A supply.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
public class AbstractSupplyMetaData extends JBossObject
implements SupplyMetaData, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
private static Logger log = Logger.getLogger(AbstractSupplyMetaData.class);
@@ -87,6 +93,7 @@
*
* @param supply the supply
*/
+ @XmlValue
public void setSupply(Object supply)
{
this.supply = supply;
@@ -108,6 +115,7 @@
*
* @param type the type
*/
+ @XmlAttribute(name="class")
public void setType(String type)
{
this.type = type;
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-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -24,6 +24,8 @@
import java.io.Serializable;
import java.util.Stack;
+import javax.xml.bind.annotation.XmlAttribute;
+
import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.beans.info.spi.PropertyInfo;
import org.jboss.beans.metadata.spi.BeanMetaData;
@@ -52,7 +54,7 @@
public abstract class AbstractTypeMetaData extends AbstractValueMetaData
implements Serializable
{
- private static final long serialVersionUID = 2L;
+ private static final long serialVersionUID = 3L;
/**
* The type
@@ -101,6 +103,7 @@
*
* @param type the type
*/
+ @XmlAttribute(name="class")
public void setType(String type)
{
this.type = type;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueFactoryMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueFactoryMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueFactoryMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -23,7 +23,12 @@
import java.util.Iterator;
import java.util.List;
+import java.util.ArrayList;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlAttribute;
+
import org.jboss.beans.metadata.plugins.builder.MutableParameterizedMetaData;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
@@ -45,10 +50,12 @@
* ValueFactory value.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
*/
+ at XmlType
public class AbstractValueFactoryMetaData extends AbstractValueMetaData implements MutableParameterizedMetaData
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/**
* The context
@@ -125,6 +132,12 @@
this.defaultValue = defaultValue;
}
+ @XmlAttribute(name="bean", required = true)
+ public void setValue(Object value)
+ {
+ super.setValue(value);
+ }
+
/**
* Get the method
*
@@ -140,6 +153,7 @@
*
* @param method the property name
*/
+ @XmlAttribute(required = true)
public void setMethod(String method)
{
this.method = method;
@@ -160,6 +174,7 @@
*
* @param parameter the parameter
*/
+ @XmlAttribute
public void setParameter(String parameter)
{
this.parameter = parameter;
@@ -170,6 +185,7 @@
*
* @param whenRequiredState the when required state or null if it uses current context state
*/
+ @XmlAttribute(name="whenRequired")
public void setWhenRequiredState(ControllerState whenRequiredState)
{
this.whenRequiredState = whenRequiredState;
@@ -191,6 +207,7 @@
*
* @param dependentState the required state or null if it must be in the registry
*/
+ @XmlAttribute(name="state")
public void setDependentState(ControllerState dependentState)
{
this.dependentState = dependentState;
@@ -222,6 +239,7 @@
*
* @param defaultValue default value
*/
+ @XmlAttribute(name="default")
public void setDefaultValue(String defaultValue)
{
this.defaultValue = defaultValue;
@@ -242,6 +260,7 @@
*
* @param parameters the parameters
*/
+ @XmlElement(name="parameter", type=AbstractParameterMetaData.class)
public void setParameters(List<ParameterMetaData> parameters)
{
this.parameters = parameters;
@@ -249,6 +268,16 @@
public void initialVisit(MetaDataVisitor visitor)
{
+ if (getParameter() != null && getParameters() != null)
+ throw new IllegalArgumentException("Both parameter and parameters cannot be set: " + this);
+ if (getParameter() != null)
+ {
+ List<ParameterMetaData> parameters = new ArrayList<ParameterMetaData>();
+ parameters.add(new AbstractParameterMetaData(String.class.getName(), getParameter()));
+ setParameters(parameters);
+ setParameter(null);
+ }
+
context = visitor.getControllerContext();
Object name = context.getName();
Object iDependOn = getUnderlyingValue();
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -26,6 +26,8 @@
import java.util.Iterator;
import java.util.Stack;
+import javax.xml.bind.annotation.XmlType;
+
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
import org.jboss.beans.metadata.spi.ValueMetaData;
@@ -33,17 +35,21 @@
import org.jboss.util.JBossObject;
import org.jboss.util.JBossStringBuilder;
import org.jboss.dependency.plugins.JMXObjectNameFix;
+import org.jboss.xb.annotations.JBossXmlNoElements;
/**
* Plain value.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
+ at JBossXmlNoElements
public class AbstractValueMetaData extends JBossObject
implements ValueMetaData, TypeProvider, Serializable
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/**
* The value
Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AutowireTypeValueAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AutowireTypeValueAdapter.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AutowireTypeValueAdapter.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -0,0 +1,39 @@
+/*
+* 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.beans.metadata.plugins;
+
+import org.jboss.beans.metadata.spi.AutowireType;
+import org.jboss.xb.binding.sunday.unmarshalling.ValueAdapter;
+
+/**
+ * AutowireTypeValueAdapter.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ * @version $Revision: 1.1 $
+ */
+public class AutowireTypeValueAdapter implements ValueAdapter
+{
+ public Object cast(Object o, Class c)
+ {
+ return AutowireType.getInstance((String)o);
+ }
+}
Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/CardinalityValueAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/CardinalityValueAdapter.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/CardinalityValueAdapter.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -0,0 +1,40 @@
+/*
+* 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.beans.metadata.plugins;
+
+import org.jboss.xb.binding.sunday.unmarshalling.ValueAdapter;
+import org.jboss.dependency.spi.Cardinality;
+
+/**
+ * CardinalityValueAdapter.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CardinalityValueAdapter implements ValueAdapter
+{
+ public Object cast(Object o, Class c)
+ {
+ return Cardinality.toCardinality((String)o);
+ }
+}
Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ControllerModeValueAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ControllerModeValueAdapter.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ControllerModeValueAdapter.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -0,0 +1,40 @@
+/*
+* 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.beans.metadata.plugins;
+
+import org.jboss.dependency.spi.ControllerMode;
+import org.jboss.xb.binding.sunday.unmarshalling.ValueAdapter;
+
+/**
+ * ControllerModeValueAdapter.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class ControllerModeValueAdapter implements ValueAdapter
+{
+ public Object cast(Object o, Class c)
+ {
+ return new ControllerMode((String)o);
+ }
+}
Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ControllerStateValueAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ControllerStateValueAdapter.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ControllerStateValueAdapter.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -0,0 +1,40 @@
+/*
+* 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.beans.metadata.plugins;
+
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.xb.binding.sunday.unmarshalling.ValueAdapter;
+
+/**
+ * ControllerStateValueAdapter.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class ControllerStateValueAdapter implements ValueAdapter
+{
+ public Object cast(Object o, Class c)
+ {
+ return new ControllerState((String)o);
+ }
+}
Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/FromContextValueAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/FromContextValueAdapter.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/FromContextValueAdapter.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -0,0 +1,38 @@
+/*
+* 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.beans.metadata.plugins;
+
+import org.jboss.xb.binding.sunday.unmarshalling.ValueAdapter;
+
+/**
+ * FromContextValueAdapter.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ * @version $Revision: 1.1 $
+ */
+public class FromContextValueAdapter implements ValueAdapter
+{
+ public Object cast(Object o, Class c)
+ {
+ return FromContext.getInstance((String)o);
+ }
+}
Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InjectionOptionValueAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InjectionOptionValueAdapter.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InjectionOptionValueAdapter.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -0,0 +1,38 @@
+/*
+* 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.beans.metadata.plugins;
+
+import org.jboss.xb.binding.sunday.unmarshalling.ValueAdapter;
+
+/**
+ * InjectionOptionValueAdapter.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ * @version $Revision: 1.1 $
+ */
+public class InjectionOptionValueAdapter implements ValueAdapter
+{
+ public Object cast(Object o, Class c)
+ {
+ return InjectionOption.getInstance((String)o);
+ }
+}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InstallCallbackMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InstallCallbackMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InstallCallbackMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -21,6 +21,8 @@
*/
package org.jboss.beans.metadata.plugins;
+import javax.xml.bind.annotation.XmlType;
+
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.dependency.spi.CallbackItem;
@@ -29,16 +31,18 @@
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
*/
+ at XmlType
public class InstallCallbackMetaData extends AbstractCallbackMetaData
{
/** The serialVersionUID */
- private static final long serialVersionUID = -8687489846562385403L;
+ private static final long serialVersionUID = 2L;
public InstallCallbackMetaData()
{
super();
}
+ @SuppressWarnings("unchecked")
protected void addCallback(MetaDataVisitor visitor, CallbackItem callback)
{
visitor.addInstallCallback(callback);
Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/MapEntry.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/MapEntry.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/MapEntry.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -0,0 +1,63 @@
+/*
+* 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.beans.metadata.plugins;
+
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.beans.metadata.spi.ValueMetaData;
+
+
+/**
+ * MapEntry.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ */
+ at XmlType(propOrder= {"key", "value"})
+public class MapEntry
+{
+ /** The key */
+ private ValueMetaData key;
+
+ /** The value */
+ private ValueMetaData value;
+
+ public ValueMetaData getKey()
+ {
+ return key;
+ }
+
+ public void setKey(ValueMetaData key)
+ {
+ this.key = key;
+ }
+
+ public ValueMetaData getValue()
+ {
+ return value;
+ }
+
+ public void setValue(ValueMetaData value)
+ {
+ this.value = value;
+ }
+}
\ No newline at end of file
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -21,20 +21,27 @@
*/
package org.jboss.beans.metadata.plugins;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
import org.jboss.logging.Logger;
import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.xb.annotations.JBossXmlNoElements;
/**
* String value.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
+ at JBossXmlNoElements
public class StringValueMetaData extends AbstractTypeMetaData
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/** The log */
private static final Logger log = Logger.getLogger(StringValueMetaData.class);
@@ -73,6 +80,7 @@
*
* @param value the value
*/
+ @XmlValue
public void setValue(String value)
{
super.setValue(value);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -21,6 +21,8 @@
*/
package org.jboss.beans.metadata.plugins;
+import javax.xml.bind.annotation.XmlType;
+
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.dependency.plugins.AbstractDependencyItem;
import org.jboss.dependency.spi.Controller;
@@ -28,16 +30,20 @@
import org.jboss.dependency.spi.ControllerState;
import org.jboss.dependency.spi.DependencyItem;
import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.xb.annotations.JBossXmlNoElements;
/**
* Dependency value.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at XmlType
+ at JBossXmlNoElements
public class ThisValueMetaData extends AbstractValueMetaData
{
- private static final long serialVersionUID = 2L;
+ private static final long serialVersionUID = 3L;
/** The context */
protected transient ControllerContext context;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/TypeProvider.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/TypeProvider.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/TypeProvider.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -26,6 +26,9 @@
import org.jboss.reflect.spi.TypeInfo;
/**
+ * The class is able to provide exact type info for
+ * contextual injection.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public interface TypeProvider
@@ -42,5 +45,4 @@
* @throws Throwable if could not determine class
*/
TypeInfo getType(MetaDataVisitor visitor, MetaDataVisitorNode previous) throws Throwable;
-
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/UninstallCallbackMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/UninstallCallbackMetaData.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/UninstallCallbackMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -21,6 +21,8 @@
*/
package org.jboss.beans.metadata.plugins;
+import javax.xml.bind.annotation.XmlType;
+
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.dependency.spi.CallbackItem;
@@ -29,16 +31,18 @@
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
*/
+ at XmlType
public class UninstallCallbackMetaData extends AbstractCallbackMetaData
{
/** The serialVersionUID */
- private static final long serialVersionUID = 1888688138196290492L;
+ private static final long serialVersionUID = 2L;
public UninstallCallbackMetaData()
{
super();
}
+ @SuppressWarnings("unchecked")
protected void addCallback(MetaDataVisitor visitor, CallbackItem callback)
{
visitor.addUninstallCallback(callback);
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 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactoryMetaData.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -27,6 +27,11 @@
import java.util.Map;
import java.util.Set;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlElement;
+
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
import org.jboss.beans.metadata.plugins.AbstractDependencyValueMetaData;
@@ -34,19 +39,25 @@
import org.jboss.beans.metadata.plugins.AbstractParameterMetaData;
import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
import org.jboss.beans.metadata.plugins.AbstractValueMetaData;
+import org.jboss.beans.metadata.plugins.AbstractClassLoaderMetaData;
import org.jboss.beans.metadata.spi.*;
import org.jboss.kernel.plugins.bootstrap.basic.KernelConstants;
import org.jboss.kernel.spi.config.KernelConfigurator;
+import org.jboss.xb.annotations.JBossXmlSchema;
/**
* GenericBeanFactoryMetaData.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
+ at JBossXmlSchema(namespace="urn:jboss:bean-deployer:2.0", elementFormDefault= XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="beanfactory")
+ at XmlType(propOrder={"aliases", "annotations", "classLoader", "constructor", "properties", "create", "start", "depends", "demands", "supplies", "installs", "uninstalls", "installCallbacks", "uninstallCallbacks"})
public class GenericBeanFactoryMetaData extends AbstractBeanMetaData
{
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/**
* Create a new GenericBeanFactoryMetaData.
@@ -113,6 +124,7 @@
properties.add(new AbstractPropertyMetaData("bean", new AbstractValueMetaData(beanClass)));
}
+ @XmlElement(name="classloader", type=AbstractClassLoaderMetaData.class)
public void setClassLoader(ClassLoaderMetaData classLoader)
{
super.setClassLoader(classLoader);
Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/package-info.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/package-info.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/package-info.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -0,0 +1,39 @@
+/*
+* 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.
+*/
+ at JBossXmlAdaptedTypes
+({
+ @JBossXmlAdaptedType(type=Cardinality.class, valueAdapter=CardinalityValueAdapter.class),
+ @JBossXmlAdaptedType(type=ControllerMode.class, valueAdapter=ControllerModeValueAdapter.class),
+ @JBossXmlAdaptedType(type=ControllerState.class, valueAdapter=ControllerStateValueAdapter.class),
+ @JBossXmlAdaptedType(type=FromContext.class, valueAdapter=FromContextValueAdapter.class),
+ @JBossXmlAdaptedType(type=InjectionOption.class, valueAdapter=InjectionOptionValueAdapter.class),
+ @JBossXmlAdaptedType(type=AutowireType.class, valueAdapter=AutowireTypeValueAdapter.class)
+})
+package org.jboss.beans.metadata.plugins;
+
+import org.jboss.xb.annotations.JBossXmlAdaptedType;
+import org.jboss.xb.annotations.JBossXmlAdaptedTypes;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.dependency.spi.ControllerMode;
+import org.jboss.dependency.spi.Cardinality;
+import org.jboss.beans.metadata.spi.AutowireType;
+
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployment.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployment.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployment.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -28,9 +28,22 @@
import java.util.List;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.jboss.beans.metadata.plugins.AbstractAnnotationMetaData;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.metadata.plugins.AbstractClassLoaderMetaData;
+import org.jboss.beans.metadata.plugins.AbstractLazyMetaData;
+import org.jboss.beans.metadata.plugins.AbstractLifecycleMetaData;
+import org.jboss.beans.metadata.plugins.AbstractNamedAliasMetaData;
import org.jboss.beans.metadata.plugins.MutableLifecycleHolder;
+import org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData;
import org.jboss.beans.metadata.spi.AnnotationMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
@@ -42,21 +55,27 @@
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.kernel.spi.deployment.KernelDeployment;
import org.jboss.managed.api.annotation.ManagementObject;
+import org.jboss.managed.api.annotation.ManagementProperties;
import org.jboss.managed.api.annotation.ManagementProperty;
import org.jboss.util.JBossObject;
import org.jboss.util.JBossStringBuilder;
+import org.jboss.xb.annotations.JBossXmlSchema;
/**
* An abstract kernel deployment.
*
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
- at ManagementObject
+ at ManagementObject(properties = ManagementProperties.EXPLICIT) // TODO - explicitly add props we want to manage
+ at JBossXmlSchema(namespace="urn:jboss:bean-deployer:2.0", elementFormDefault= XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="deployment")
+ at XmlType(propOrder={"annotations", "classLoader", "beanFactories", "create", "start", "stop", "destroy", "aliases"})
public class AbstractKernelDeployment extends JBossObject
implements KernelDeployment, MutableLifecycleHolder, Serializable
{
- private static final long serialVersionUID = 2l;
+ private static final long serialVersionUID = 3l;
/** The name of the deployment */
protected String name;
@@ -123,6 +142,13 @@
* @param beanFactories a List<BeanMetaDataFactory>.
*/
@ManagementProperty(managed=true)
+ @XmlElements
+ ({
+ @XmlElement(name="bean", type=AbstractBeanMetaData.class),
+ @XmlElement(name="beanfactory", type=GenericBeanFactoryMetaData.class),
+ @XmlElement(name="lazy", type=AbstractLazyMetaData.class)
+ })
+ @XmlAnyElement
public void setBeanFactories(List<BeanMetaDataFactory> beanFactories)
{
this.beanFactories = beanFactories;
@@ -134,6 +160,7 @@
return name;
}
+ @XmlAttribute
public void setName(String name)
{
this.name = name;
@@ -229,11 +256,13 @@
return scoped;
}
+ @XmlAttribute
public void setScoped(Boolean scoped)
{
this.scoped = scoped;
}
+ @XmlElement(name="annotation", type= AbstractAnnotationMetaData.class)
public Set<AnnotationMetaData> getAnnotations()
{
return annotations;
@@ -259,6 +288,7 @@
*
* @param classLoader the classloader metadata
*/
+ @XmlElement(name="classloader", type=AbstractClassLoaderMetaData.class)
public void setClassLoader(ClassLoaderMetaData classLoader)
{
this.classLoader = classLoader;
@@ -269,6 +299,7 @@
return create;
}
+ @XmlElement(name="create", type=AbstractLifecycleMetaData.class)
public void setCreate(LifecycleMetaData create)
{
create.setState(ControllerState.CREATE);
@@ -280,6 +311,7 @@
return start;
}
+ @XmlElement(name="start", type=AbstractLifecycleMetaData.class)
public void setStart(LifecycleMetaData start)
{
start.setState(ControllerState.START);
@@ -291,6 +323,7 @@
return stop;
}
+ @XmlElement(name="stop", type=AbstractLifecycleMetaData.class)
public void setStop(LifecycleMetaData stop)
{
stop.setState(ControllerState.START);
@@ -302,6 +335,7 @@
return destroy;
}
+ @XmlElement(name="destroy", type=AbstractLifecycleMetaData.class)
public void setDestroy(LifecycleMetaData destroy)
{
destroy.setState(ControllerState.CREATE);
@@ -313,6 +347,7 @@
return aliases;
}
+ @XmlElement(name="alias", type=AbstractNamedAliasMetaData.class)
public void setAliases(Set<NamedAliasMetaData> aliases)
{
this.aliases = aliases;
@@ -323,6 +358,7 @@
return mode;
}
+ @XmlAttribute
public void setMode(ControllerMode mode)
{
this.mode = mode;
@@ -349,5 +385,4 @@
in.defaultReadObject();
installedContexts = new CopyOnWriteArrayList<KernelControllerContext>();
}
-
}
\ No newline at end of file
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ValueFactoryHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ValueFactoryHandler.java 2008-01-04 21:41:24 UTC (rev 68635)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ValueFactoryHandler.java 2008-01-05 00:00:54 UTC (rev 68636)
@@ -82,6 +82,7 @@
List<ParameterMetaData> parameters = new ArrayList<ParameterMetaData>();
parameters.add(new AbstractParameterMetaData(String.class.getName(), vf.getParameter()));
vf.setParameters(parameters);
+ vf.setParameter(null);
}
return vf;
}
More information about the jboss-cvs-commits
mailing list