[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