[jboss-cvs] JBossAS SVN: r70577 - in projects/microcontainer/trunk/kernel/src: main/org/jboss/beans/metadata/spi/factory and 5 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Mar 8 07:36:25 EST 2008
Author: adrian at jboss.org
Date: 2008-03-08 07:36:25 -0500 (Sat, 08 Mar 2008)
New Revision: 70577
Added:
projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/AliasWithBeanFactoryJavaBean.xml
projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/AliasWithJavaBean.xml
Removed:
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/AliasJaxbTestCase.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/AbstractBeanMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/AliasCharactersHandler.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/AliasHandler.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/NamedAliasHandler.java
projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/AliasTestCase.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/XMLTestSuite.java
Log:
[JBMICROCONT-219] - Fix the alias parsing
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-03-08 12:22:38 UTC (rev 70576)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractAliasMetaData.java 2008-03-08 12:36:25 UTC (rev 70577)
@@ -24,103 +24,47 @@
import java.io.Serializable;
import java.util.Iterator;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlTransient;
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;
-import org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactory;
-import org.jboss.reflect.spi.TypeInfo;
-import org.jboss.reflect.spi.TypeInfoFactory;
import org.jboss.util.JBossObject;
import org.jboss.util.JBossStringBuilder;
-import org.jboss.util.StringPropertyReplacer;
/**
* Metadata for an alias.
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
*/
- at XmlType
+ at XmlType(name="aliasType", propOrder="alias")
public class AbstractAliasMetaData extends JBossObject
implements AliasMetaData, Serializable
{
private static final long serialVersionUID = 2L;
- private static TypeInfoFactory typeInfoFactory = new IntrospectionTypeInfoFactory();
- public String alias;
+ private Object alias;
- protected boolean replace = true;
- protected String clazz;
-
- /**
- * Create a new alias meta data
- */
- public AbstractAliasMetaData()
+ public Object getAliasValue()
{
- super();
- }
-
- public String getAlias()
- {
return alias;
}
@XmlValue
- public void setAlias(String alias)
+ public void setAliasValue(Object alias)
{
this.alias = alias;
}
- public boolean isReplace()
+ @XmlAnyElement
+ public void setAlias(Object alias)
{
- return replace;
+ setAliasValue(alias);
}
- @XmlAttribute
- public void setReplace(boolean replace)
- {
- this.replace = replace;
- }
-
- public String getClazz()
- {
- return clazz;
- }
-
- @XmlAttribute(name="class")
- public void setClazz(String clazz)
- {
- this.clazz = clazz;
- }
-
- @XmlTransient
- public Object getAliasValue()
- {
- try
- {
- if (clazz != null)
- {
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- TypeInfo info = typeInfoFactory.getTypeInfo(clazz, cl);
- return info.convertValue(alias, replace);
- }
- String aliasString = alias;
- if (replace)
- {
- aliasString = StringPropertyReplacer.replaceProperties(aliasString);
- }
- return aliasString;
- }
- catch (Throwable t)
- {
- throw new RuntimeException("Error creating alias for " + alias, t);
- }
- }
-
public void initialVisit(MetaDataVisitor visitor)
{
visitor.initialVisit(this);
@@ -140,9 +84,6 @@
public void toString(JBossStringBuilder buffer)
{
buffer.append("alias=").append(alias);
- buffer.append(" replace=").append(replace);
- if (clazz != null)
- buffer.append(" class=").append(clazz);
}
public void toShortString(JBossStringBuilder buffer)
@@ -162,6 +103,6 @@
AbstractAliasMetaData amd = (AbstractAliasMetaData)object;
// 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));
+ return alias.equals(amd.alias);
}
}
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-03-08 12:22:38 UTC (rev 70576)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java 2008-03-08 12:36:25 UTC (rev 70577)
@@ -31,9 +31,11 @@
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
import org.jboss.beans.metadata.api.model.AutowireType;
+import org.jboss.beans.metadata.spi.AliasMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
import org.jboss.beans.metadata.spi.CallbackMetaData;
@@ -70,7 +72,7 @@
*/
@ManagementObject(properties = ManagementProperties.EXPLICIT) // TODO - explicitly add props we want to manage
@XmlRootElement(name="bean")
- at XmlType(name="beanType", propOrder={"aliases", "annotations", "classLoader", "constructor", "properties", "create", "start", "stop", "destroy", "depends", "demands", "supplies", "installs", "uninstalls", "installCallbacks", "uninstallCallbacks"})
+ at XmlType(name="beanType", propOrder={"aliasMetaData", "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
{
@@ -85,6 +87,9 @@
/** The aliases */
protected Set<Object> aliases;
+ /** The alias metadata */
+ protected Set<AliasMetaData> aliasMetaData;
+
/** The parent */
protected String parent;
@@ -365,12 +370,23 @@
return aliases;
}
- @XmlElement(name="alias", type=String.class)
+ @XmlTransient
public void setAliases(Set<Object> aliases)
{
this.aliases = aliases;
}
+ public Set<AliasMetaData> getAliasMetaData()
+ {
+ return aliasMetaData;
+ }
+
+ @XmlElement(name="alias", type=AbstractAliasMetaData.class)
+ public void setAliasMetaData(Set<AliasMetaData> aliases)
+ {
+ this.aliasMetaData = aliases;
+ }
+
public String getParent()
{
return parent;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java 2008-03-08 12:22:38 UTC (rev 70576)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java 2008-03-08 12:36:25 UTC (rev 70577)
@@ -24,6 +24,7 @@
import java.io.Serializable;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -33,6 +34,7 @@
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.jboss.beans.metadata.plugins.AbstractAliasMetaData;
import org.jboss.beans.metadata.plugins.AbstractAnnotationMetaData;
import org.jboss.beans.metadata.plugins.AbstractClassLoaderMetaData;
import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
@@ -45,6 +47,7 @@
import org.jboss.beans.metadata.plugins.InstallCallbackMetaData;
import org.jboss.beans.metadata.plugins.UninstallCallbackMetaData;
import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
+import org.jboss.beans.metadata.spi.AliasMetaData;
import org.jboss.beans.metadata.spi.AnnotationMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
@@ -94,7 +97,7 @@
protected Set<AnnotationMetaData> annotations;
/** The aliases */
- protected Set<Object> aliases;
+ protected Set<AliasMetaData> aliases;
/** The classloader */
protected ClassLoaderMetaData classLoader;
@@ -179,7 +182,7 @@
*
* @return the aliases
*/
- public Set<Object> getAliases()
+ public Set<AliasMetaData> getAliases()
{
return aliases;
}
@@ -189,8 +192,8 @@
*
* @param aliases the aliases
*/
- @XmlElement(name="alias", type=String.class)
- public void setAliases(Set<Object> aliases)
+ @XmlElement(name="alias", type=AbstractAliasMetaData.class)
+ public void setAliases(Set<AliasMetaData> aliases)
{
this.aliases = aliases;
}
@@ -503,7 +506,13 @@
}
BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, GenericBeanFactory.class.getName());
- builder.setAliases(aliases);
+ if (aliases != null)
+ {
+ Set<Object> theAliases = new HashSet<Object>();
+ for (AliasMetaData alias : aliases)
+ theAliases.add(alias.getAliasValue());
+ builder.setAliases(theAliases);
+ }
builder.setMode(mode);
ValueMetaData injectKernelConfigurator = builder.createInject(KernelConstants.KERNEL_CONFIGURATOR_NAME);
builder.addConstructorParameter(KernelConfigurator.class.getName(), injectKernelConfigurator);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java 2008-03-08 12:22:38 UTC (rev 70576)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java 2008-03-08 12:36:25 UTC (rev 70577)
@@ -23,9 +23,12 @@
import java.security.AccessControlContext;
import java.security.AccessController;
+import java.util.HashSet;
import java.util.Set;
import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.metadata.spi.AliasMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.dependency.plugins.AbstractControllerContext;
import org.jboss.dependency.plugins.AbstractDependencyInfo;
@@ -70,6 +73,36 @@
protected boolean isDescribeProcessed;
/**
+ * Determine the aliases
+ *
+ * @return the aliases
+ */
+ private static Set<Object> determineAliases(BeanMetaData metaData)
+ {
+ if (metaData == null)
+ return null;
+
+ // FIXME THIS IS HACK
+ if (metaData instanceof AbstractBeanMetaData)
+ {
+ AbstractBeanMetaData abmd = (AbstractBeanMetaData) metaData;
+ Set<AliasMetaData> aliasMetaDatas = abmd.getAliasMetaData();
+ if (aliasMetaDatas != null && aliasMetaDatas.isEmpty() == false)
+ {
+ Set<Object> aliases = abmd.getAliases();
+ if (aliases == null)
+ {
+ aliases = new HashSet<Object>();
+ abmd.setAliases(aliases);
+ }
+ for (AliasMetaData aliasMetaData : aliasMetaDatas)
+ aliases.add(aliasMetaData.getAliasValue());
+ }
+ }
+ return metaData.getAliases();
+ }
+
+ /**
* Create an abstract controller context
*
* @param info the bean info
@@ -78,7 +111,7 @@
*/
public AbstractKernelControllerContext(BeanInfo info, BeanMetaData metaData, Object target)
{
- super(metaData.getName(), metaData.getAliases(), target == null ? actions : noInstantiate, new AbstractDependencyInfo(), target);
+ super(metaData.getName(), determineAliases(metaData), target == null ? actions : noInstantiate, new AbstractDependencyInfo(), target);
this.info = info;
this.metaData = metaData;
ControllerMode mode = metaData.getMode();
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/AliasCharactersHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/AliasCharactersHandler.java 2008-03-08 12:22:38 UTC (rev 70576)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/AliasCharactersHandler.java 2008-03-08 12:36:25 UTC (rev 70577)
@@ -47,7 +47,7 @@
public void setValue(QName qname, ElementBinding element, Object owner, Object value)
{
AbstractAliasMetaData alias = (AbstractAliasMetaData) owner;
- alias.setAlias((String)value);
+ alias.setAliasValue(value);
}
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/AliasHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/AliasHandler.java 2008-03-08 12:22:38 UTC (rev 70576)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/AliasHandler.java 2008-03-08 12:36:25 UTC (rev 70577)
@@ -46,22 +46,12 @@
public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx)
{
- AbstractAliasMetaData aliasMetaData = (AbstractAliasMetaData) o;
- for (int i = 0; i < attrs.getLength(); ++i)
- {
- String localName = attrs.getLocalName(i);
- if ("replace".equals(localName))
- aliasMetaData.setReplace(Boolean.parseBoolean(attrs.getValue(i)));
- else if ("class".equals(localName))
- aliasMetaData.setClazz(attrs.getValue(i));
- }
-
}
public Object endElement(Object o, QName qName, ElementBinding element)
{
AbstractAliasMetaData alias = (AbstractAliasMetaData) o;
- if (alias.getAlias() == null)
+ if (alias.getAliasValue() == null)
{
throw new IllegalArgumentException("Empty <alias/> content");
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/NamedAliasHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/NamedAliasHandler.java 2008-03-08 12:22:38 UTC (rev 70576)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/NamedAliasHandler.java 2008-03-08 12:36:25 UTC (rev 70577)
@@ -54,7 +54,7 @@
if ("name".equals(localName))
alias.setName(attrs.getValue(i));
else if ("alias".equals(localName))
- alias.setAlias(attrs.getValue(i));
+ alias.setAliasValue(attrs.getValue(i));
}
super.attributes(o, elementName, element, attrs, nsCtx);
}
Modified: projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd 2008-03-08 12:22:38 UTC (rev 70576)
+++ projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd 2008-03-08 12:36:25 UTC (rev 70577)
@@ -50,7 +50,7 @@
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="annotation" type="annotationType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="classloader" type="classloaderType" minOccurs="0"/>
- <xsd:element name="alias" type="namedAliasType" minOccurs="0"/>
+ <xsd:element name="alias" type="aliasType" minOccurs="0"/>
<xsd:element name="create" type="lifecycleType" minOccurs="0"/>
<xsd:element name="start" type="lifecycleType" minOccurs="0"/>
<xsd:element name="stop" type="lifecycleType" minOccurs="0"/>
@@ -560,35 +560,16 @@
e.g.
<bean name="MyName" class="com.acme.POJO">
<alias>YourName</alias>
- <alias><value class="java.lang.Class">com.acme.POJO</value></alias>
- <alias><value class="java.lang.Integer">1234</value></alias>
+ <alias><javabean xmlns="urn:jboss:javabean:2.0" class="whatevever"/></alias>
</bean>
]]>
</xsd:documentation>
</xsd:annotation>
- <xsd:simpleContent>
- <xsd:extension base="xsd:string">
- <xsd:attribute name="class" type="classNameType" use="optional"/>
- <xsd:attribute name="replace" type="xsd:boolean"/>
- </xsd:extension>
- </xsd:simpleContent>
+ <xsd:choice minOccurs="0">
+ <xsd:any namespace="##other" processContents="strict"/>
+ </xsd:choice>
</xsd:complexType>
- <xsd:complexType name="namedAliasType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
- An alias that has a name attribute.
- ]]>
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexContent>
- <xsd:extension base="aliasType">
- <xsd:attribute name="name" type="xsd:string" use="required"/>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
-
<xsd:complexType name="parameterType" mixed="true">
<xsd:annotation>
<xsd:documentation>
Added: projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/AliasWithBeanFactoryJavaBean.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/AliasWithBeanFactoryJavaBean.xml (rev 0)
+++ projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/AliasWithBeanFactoryJavaBean.xml 2008-03-08 12:36:25 UTC (rev 70577)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beanfactory xmlns="urn:jboss:bean-deployer:2.0" class="Dummy">
+ <alias><javabean xmlns="urn:jboss:javabean:2.0" class="java.util.ArrayList"/></alias>
+</beanfactory>
Added: projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/AliasWithJavaBean.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/AliasWithJavaBean.xml (rev 0)
+++ projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/AliasWithJavaBean.xml 2008-03-08 12:36:25 UTC (rev 70577)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<bean xmlns="urn:jboss:bean-deployer:2.0" class="Dummy">
+ <alias><javabean xmlns="urn:jboss:javabean:2.0" class="java.util.ArrayList"/></alias>
+</bean>
Deleted: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/AliasJaxbTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/AliasJaxbTestCase.java 2008-03-08 12:22:38 UTC (rev 70576)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/AliasJaxbTestCase.java 2008-03-08 12:36:25 UTC (rev 70577)
@@ -1,125 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.kernel.deployment.xml.test;
-
-import java.util.Set;
-
-import junit.framework.Test;
-
-import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
-import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
-
-/**
- * AliasJaxbTestCase.
- *
- * @author <a href="ales.justin at jboss.com">Ales Justin</a>
- */
-public class AliasJaxbTestCase extends AbstractMCTest
-{
- public AliasJaxbTestCase(String name)
- {
- super(name);
- }
-
- public static Test suite()
- {
- return AliasJaxbTestCase.suite(AliasJaxbTestCase.class);
- }
-
- protected Object getAlias() throws Exception
- {
- AbstractBeanMetaData bean = unmarshalBean();
- Set<Object> aliases = bean.getAliases();
- assertNotNull(aliases);
- assertEquals(1, aliases.size());
- Object alias = aliases.iterator().next();
- assertNotNull(alias);
- return alias;
- }
-
- public void testAlias() throws Exception
- {
- Object alias = getAlias();
- assertEquals("SimpleAlias", alias);
- }
-
- /* TODO
- public void testAliasWithClass() throws Exception
- {
- Object alias = getAlias();
- assertEquals(12345, alias);
- } */
-
- /* TODO
- public void testAliasWithReplace() throws Exception
- {
- SecurityManager sm = suspendSecurity();
- try
- {
- System.setProperty("alias.test.name", "SimpleAlias");
- Object alias = getAlias("AliasWithReplace.xml");
- assertEquals("XSimpleAliasX", alias);
- }
- finally
- {
- resumeSecurity(sm);
- }
- }
- */
-
- /* TODO
- public void testAliasWithNoReplace() throws Exception
- {
- SecurityManager sm = suspendSecurity();
- try
- {
- System.setProperty("alias.test.name", "SimpleAlias");
- Object alias = getAlias("AliasWithNoReplace.xml");
- assertEquals("X${alias.test.name}X", alias);
- }
- finally
- {
- resumeSecurity(sm);
- }
- }
- */
-
- public void testMultipleAlias() throws Exception
- {
- AbstractBeanMetaData bean = unmarshalBean();
- Set<Object> aliases = bean.getAliases();
- assertNotNull(aliases);
- int size = aliases.size();
- assertTrue(size > 1);
- for(Object alias : aliases)
- assertNotNull(alias);
- }
-
- public void testAliasWithBeanFactory() throws Exception
- {
- GenericBeanFactoryMetaData bean = unmarshalBeanFactory();
- Set<Object> aliases = bean.getAliases();
- assertNotNull(aliases);
- assertFalse(aliases.isEmpty());
- }
-
-}
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/AliasTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/AliasTestCase.java 2008-03-08 12:22:38 UTC (rev 70576)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/AliasTestCase.java 2008-03-08 12:36:25 UTC (rev 70577)
@@ -21,11 +21,15 @@
*/
package org.jboss.test.kernel.deployment.xml.test;
+import java.util.ArrayList;
import java.util.Set;
import junit.framework.Test;
+
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.metadata.spi.AliasMetaData;
import org.jboss.beans.metadata.spi.NamedAliasMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
import org.jboss.kernel.plugins.deployment.AbstractKernelDeployment;
/**
@@ -48,12 +52,14 @@
protected Object getAlias(String name) throws Exception
{
AbstractBeanMetaData bean = unmarshalBean(name);
- Set<Object> aliases = bean.getAliases();
+ Set<AliasMetaData> aliases = bean.getAliasMetaData();
assertNotNull(aliases);
assertEquals(1, aliases.size());
- Object alias = aliases.iterator().next();
+ AliasMetaData alias = aliases.iterator().next();
assertNotNull(alias);
- return alias;
+ Object theAlias = alias.getAliasValue();
+ assertNotNull(theAlias);
+ return theAlias;
}
public void testAlias() throws Exception
@@ -62,61 +68,44 @@
assertEquals("SimpleAlias", alias);
}
- public void testAliasWithClass() throws Exception
+ public void testAliasWithjavaBean() throws Exception
{
- Object alias = getAlias("AliasWithClass.xml");
- assertEquals(12345, alias);
+ Object alias = getAlias("AliasWithJavaBean.xml");
+ assertInstanceOf(alias, ArrayList.class);
}
- public void testAliasWithReplace() throws Exception
- {
- SecurityManager sm = suspendSecurity();
- try
- {
- System.setProperty("alias.test.name", "SimpleAlias");
- Object alias = getAlias("AliasWithReplace.xml");
- assertEquals("XSimpleAliasX", alias);
- }
- finally
- {
- resumeSecurity(sm);
- }
- }
-
- public void testAliasWithNoReplace() throws Exception
- {
- SecurityManager sm = suspendSecurity();
- try
- {
- System.setProperty("alias.test.name", "SimpleAlias");
- Object alias = getAlias("AliasWithNoReplace.xml");
- assertEquals("X${alias.test.name}X", alias);
- }
- finally
- {
- resumeSecurity(sm);
- }
- }
-
public void testMultipleAliases() throws Exception
{
AbstractBeanMetaData bean = unmarshalBean("MultipleAlias.xml");
- Set<Object> aliases = bean.getAliases();
+ Set<AliasMetaData> aliases = bean.getAliasMetaData();
assertNotNull(aliases);
int size = aliases.size();
assertTrue(size > 1);
- for(Object alias : aliases)
+ for(AliasMetaData alias : aliases)
+ {
assertNotNull(alias);
+ assertNotNull(alias.getAliasValue());
+ }
}
public void testAliasAndBeanFactory() throws Exception
{
- AbstractBeanMetaData bean = unmarshalBean("AliasWithBeanFactory.xml");
- Set<Object> aliases = bean.getAliases();
+ GenericBeanFactoryMetaData bean = unmarshalBeanFactory("AliasWithBeanFactory.xml");
+ Set<AliasMetaData> aliases = bean.getAliases();
assertNotNull(aliases);
assertFalse(aliases.isEmpty());
+ assertEquals("SimpleAliasWithBF", aliases.iterator().next().getAliasValue());
}
+ public void testAliasAndBeanFactoryJavaBean() throws Exception
+ {
+ GenericBeanFactoryMetaData bean = unmarshalBeanFactory("AliasWithBeanFactoryJavaBean.xml");
+ Set<AliasMetaData> aliases = bean.getAliases();
+ assertNotNull(aliases);
+ assertFalse(aliases.isEmpty());
+ assertInstanceOf(aliases.iterator().next().getAliasValue(), ArrayList.class);
+ }
+
protected NamedAliasMetaData getNamedAlias(String name) throws Exception
{
AbstractKernelDeployment deployment = unmarshalDeployment(name);
@@ -127,50 +116,4 @@
assertNotNull(alias);
return alias;
}
-
- public void testNamedAlias() throws Exception
- {
- NamedAliasMetaData alias = getNamedAlias("NamedAlias.xml");
- assertEquals("TestName", alias.getName());
- assertEquals("SimpleAlias", alias.getAliasValue());
- }
-
- public void testNamedAliasWithClass() throws Exception
- {
- NamedAliasMetaData alias = getNamedAlias("NamedAliasWithClass.xml");
- assertEquals("TestName", alias.getName());
- assertEquals(12345, alias.getAliasValue());
- }
-
- public void testNamedAliasWithReplace() throws Exception
- {
- SecurityManager sm = suspendSecurity();
- try
- {
- System.setProperty("alias.test.name", "SimpleAlias");
- NamedAliasMetaData alias = getNamedAlias("NamedAliasWithReplace.xml");
- assertEquals("TestName", alias.getName());
- assertEquals("XSimpleAliasX", alias.getAliasValue());
- }
- finally
- {
- resumeSecurity(sm);
- }
- }
-
- public void testNamedAliasWithNoReplace() throws Exception
- {
- SecurityManager sm = suspendSecurity();
- try
- {
- System.setProperty("alias.test.name", "SimpleAlias");
- NamedAliasMetaData alias = getNamedAlias("NamedAliasWithNoReplace.xml");
- assertEquals("TestName", alias.getName());
- assertEquals("X${alias.test.name}X", alias.getAliasValue());
- }
- finally
- {
- resumeSecurity(sm);
- }
- }
}
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/XMLTestSuite.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/XMLTestSuite.java 2008-03-08 12:22:38 UTC (rev 70576)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/XMLTestSuite.java 2008-03-08 12:36:25 UTC (rev 70577)
@@ -93,7 +93,6 @@
suite.addTest(ArrayJaxbTestCase.suite());
suite.addTest(MapJaxbTestCase.suite());
suite.addTest(AnnotationJaxbTestCase.suite());
- suite.addTest(AliasJaxbTestCase.suite());
suite.addTest(CallbackJaxbTestCase.suite());
suite.addTest(ValueFactoryJaxbTestCase.suite());
// policy
More information about the jboss-cvs-commits
mailing list