[jboss-cvs] JBossAS SVN: r71060 - in projects/microcontainer/trunk/kernel/src: main/org/jboss/beans/metadata/spi/factory and 7 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Mar 20 10:36:12 EDT 2008


Author: alesj
Date: 2008-03-20 10:36:12 -0400 (Thu, 20 Mar 2008)
New Revision: 71060

Added:
   projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithFactoryClass.xml
   projects/microcontainer/trunk/kernel/src/resources/tests/xml-test/org/jboss/test/kernel/config/test/testBeanFactoryDefinedFactoryClass.xml
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/MyBeanFactory.java
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/spi/factory/GenericBeanFactoryMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java
   projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_1_0.xsd
   projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/GenericFactoryInstantiateTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/GenericFactoryInstantiateXMLTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryJaxbTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java
Log:
Add factory class to GenericBeanFactoryMetaData.

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-03-20 14:33:54 UTC (rev 71059)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactoryMetaData.java	2008-03-20 14:36:12 UTC (rev 71060)
@@ -213,8 +213,16 @@
       properties.add(new AbstractPropertyMetaData("start", new AbstractValueMetaData(lifecycle)));
    }
 
-   public void setBean(String bean)
+   /**
+    * Set the bean factory class.
+    *
+    * Note: this class param must either extend GenericBeanFactory
+    * or have the same constructor and properties aka 'callbacks'.
+    *
+    * @param factoryClass the factory class
+    */
+   public void setFactoryClass(String factoryClass)
    {
-      super.setBean(bean);
+      setBean(factoryClass);
    }
 }

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-20 14:33:54 UTC (rev 71059)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java	2008-03-20 14:36:12 UTC (rev 71060)
@@ -28,12 +28,12 @@
 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.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.beans.metadata.plugins.AbstractAliasMetaData;
 import org.jboss.beans.metadata.plugins.AbstractAnnotationMetaData;
 import org.jboss.beans.metadata.plugins.AbstractClassLoaderMetaData;
@@ -67,7 +67,6 @@
 import org.jboss.beans.metadata.spi.ValueMetaData;
 import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
 import org.jboss.beans.metadata.spi.builder.ParameterMetaDataBuilder;
-import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.kernel.plugins.bootstrap.basic.KernelConstants;
 import org.jboss.kernel.spi.config.KernelConfigurator;
@@ -91,6 +90,9 @@
    /** The bean class name */
    protected String bean;
 
+   /** The bean factory class name */
+   protected String factoryClass;
+
    /** The access mode */
    protected BeanAccessMode accessMode;
 
@@ -182,6 +184,30 @@
    }
 
    /**
+    * Get the factory class.
+    *
+    * @return the factory class
+    */
+   public String getFactoryClass()
+   {
+      return factoryClass;
+   }
+
+   /**
+    * Set the factory class.
+
+    * Note: this class param must either extend GenericBeanFactory
+    * or have the same constructor and properties aka 'callbacks'.
+    *
+    * @param factoryClass the factory class
+    */
+   @XmlAttribute(name="factoryClass")
+   public void setFactoryClass(String factoryClass)
+   {
+      this.factoryClass = factoryClass;
+   }
+
+   /**
     * Get the aliases
     * 
     * @return the aliases
@@ -530,7 +556,10 @@
             throw new IllegalArgumentException("BeanFactory should have a class attribute or the constructor element should have a either a factoryClass attribute or a factory element.");
       }
 
-      BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, GenericBeanFactory.class.getName());
+      if (getFactoryClass() == null)
+         setFactoryClass(GenericBeanFactory.class.getName());
+
+      BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, getFactoryClass());
       if (aliases != null)
       {
          Set<Object> theAliases = new HashSet<Object>();
@@ -608,6 +637,9 @@
 
    /**
     * Add the parameters
+    *
+    * @param builder parameter builder
+    * @param metadata parameter metadata
     */
    private void setParameters(ParameterMetaDataBuilder builder, ParameterizedMetaData metadata)
    {

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java	2008-03-20 14:33:54 UTC (rev 71059)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java	2008-03-20 14:36:12 UTC (rev 71060)
@@ -60,6 +60,8 @@
             bean.setName(attrs.getValue(i));
          else if ("class".equals(localName))
             bean.setBeanClass(attrs.getValue(i));
+         else if ("factoryClass".equals(localName))
+            bean.setFactoryClass(attrs.getValue(i));
          else if ("mode".equals(localName))
             bean.setMode(ControllerMode.getInstance(attrs.getValue(i)));
          else if ("access-mode".equals(localName))

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java	2008-03-20 14:33:54 UTC (rev 71059)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java	2008-03-20 14:36:12 UTC (rev 71060)
@@ -375,6 +375,8 @@
                   bean.setName(attrs.getValue(i));
                else if ("class".equals(localName))
                   bean.setBeanClass(attrs.getValue(i));
+               else if ("factoryClass".equals(localName))
+                  bean.setFactoryClass(attrs.getValue(i));
                else if ("mode".equals(localName))
                   bean.setMode(ControllerMode.getInstance(attrs.getValue(i)));
             }

Modified: projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_1_0.xsd
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_1_0.xsd	2008-03-20 14:33:54 UTC (rev 71059)
+++ projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_1_0.xsd	2008-03-20 14:36:12 UTC (rev 71060)
@@ -156,6 +156,7 @@
       </xsd:sequence>
       <xsd:attribute name="name" type="xsd:string" use="optional"/>
       <xsd:attribute name="class" type="xsd:token" use="required"/>
+      <xsd:attribute name="factoryClass" type="xsd:token" use="optional"/>
    </xsd:complexType>
 
    <xsd:complexType name="constructorType">

Modified: projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd	2008-03-20 14:33:54 UTC (rev 71059)
+++ projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd	2008-03-20 14:36:12 UTC (rev 71060)
@@ -160,7 +160,6 @@
 -->
       </xsd:sequence>
       <xsd:attribute name="name" type="xsd:string" use="optional"/>
-      <xsd:attribute name="access-mode" type="accessModeType" use="optional"/>
    </xsd:complexType>
 
    <xsd:complexType name="beanfactoryType">
@@ -191,12 +190,13 @@
               }
            }
            ]]>
-           
          </xsd:documentation>
       </xsd:annotation>
       <xsd:complexContent>
          <xsd:extension base="abstractBeanfactoryType">
             <xsd:attribute name="class" type="xsd:token" use="required"/>
+            <xsd:attribute name="access-mode" type="accessModeType" use="optional"/>
+            <xsd:attribute name="factoryClass" type="xsd:token" use="optional"/>
          </xsd:extension>
       </xsd:complexContent>
    </xsd:complexType>

Added: projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithFactoryClass.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithFactoryClass.xml	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithFactoryClass.xml	2008-03-20 14:36:12 UTC (rev 71060)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beanfactory xmlns="urn:jboss:bean-deployer:2.0" class="Dummy" factoryClass="MyFactory"/>

Added: projects/microcontainer/trunk/kernel/src/resources/tests/xml-test/org/jboss/test/kernel/config/test/testBeanFactoryDefinedFactoryClass.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/tests/xml-test/org/jboss/test/kernel/config/test/testBeanFactoryDefinedFactoryClass.xml	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/resources/tests/xml-test/org/jboss/test/kernel/config/test/testBeanFactoryDefinedFactoryClass.xml	2008-03-20 14:36:12 UTC (rev 71060)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+   <beanfactory name="Factory" class="org.jboss.test.kernel.config.support.SimpleBean" factoryClass="org.jboss.test.kernel.config.support.MyBeanFactory"/>
+</deployment>

Added: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/MyBeanFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/MyBeanFactory.java	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/MyBeanFactory.java	2008-03-20 14:36:12 UTC (rev 71060)
@@ -0,0 +1,41 @@
+/*
+* 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.config.support;
+
+import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
+import org.jboss.kernel.spi.config.KernelConfigurator;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class MyBeanFactory extends GenericBeanFactory
+{
+   public MyBeanFactory(KernelConfigurator configurator)
+   {
+      super(configurator);
+   }
+
+   public Object createBean() throws Throwable
+   {
+      return "foobar";
+   }
+}

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/GenericFactoryInstantiateTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/GenericFactoryInstantiateTestCase.java	2008-03-20 14:33:54 UTC (rev 71059)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/GenericFactoryInstantiateTestCase.java	2008-03-20 14:36:12 UTC (rev 71060)
@@ -29,6 +29,7 @@
 import org.jboss.beans.metadata.spi.factory.BeanFactory;
 import org.jboss.test.kernel.config.support.SimpleBean;
 import org.jboss.test.kernel.config.support.SimpleBeanFactory;
+import org.jboss.test.kernel.config.support.MyBeanFactory;
 
 /**
  * GenericFactory Instantiation Test Case.
@@ -130,4 +131,19 @@
       GenericBeanFactoryMetaData factory = new GenericBeanFactoryMetaData("Factory", "org.jboss.test.NoSuchClass");
       return (BeanFactory)instantiate(factory);
    }
+
+   public void testBeanFactoryDefinedFactoryClass() throws Throwable
+   {
+      BeanFactory factory = configureFromDefinedFactoryClass();
+      assertNotNull(factory);
+      assertInstanceOf(factory, MyBeanFactory.class);
+      assertEquals("foobar", factory.createBean());
+   }
+
+   protected BeanFactory configureFromDefinedFactoryClass() throws Throwable
+   {
+      GenericBeanFactoryMetaData factory = new GenericBeanFactoryMetaData("Factory", SimpleBean.class.getName());
+      factory.setFactoryClass(MyBeanFactory.class.getName());
+      return (BeanFactory)instantiate(factory);
+   }
 }

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/GenericFactoryInstantiateXMLTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/GenericFactoryInstantiateXMLTestCase.java	2008-03-20 14:33:54 UTC (rev 71059)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/GenericFactoryInstantiateXMLTestCase.java	2008-03-20 14:36:12 UTC (rev 71060)
@@ -44,27 +44,31 @@
 
    protected BeanFactory configureFromBean() throws Throwable
    {
-      return configurefactory();
+      return configureFactory();
    }
 
    protected BeanFactory configureFromFactory() throws Throwable
    {
-      return configurefactory();
+      return configureFactory();
    }
 
    protected BeanFactory configureFromStaticFactory() throws Throwable
    {
-      return configurefactory();
+      return configureFactory();
    }
 
    protected BeanFactory configureFromIllegalClass() throws Throwable
    {
-      return configurefactory();
+      return configureFactory();
    }
 
-   protected BeanFactory configurefactory()
-         throws Throwable
+   protected BeanFactory configureFromDefinedFactoryClass() throws Throwable
    {
+      return configureFactory();
+   }
+
+   protected BeanFactory configureFactory() throws Throwable
+   {
       XMLUtil util = bootstrapXML(true);
       return (BeanFactory) util.getBean("Factory");
    }

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryJaxbTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryJaxbTestCase.java	2008-03-20 14:33:54 UTC (rev 71059)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryJaxbTestCase.java	2008-03-20 14:36:12 UTC (rev 71060)
@@ -45,6 +45,7 @@
       assertEquals("Name1", factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -67,6 +68,7 @@
       assertNull(factory.getName());
       assertEquals(Object.class.getName(), factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -83,6 +85,29 @@
       assertNull(factory.getUninstallCallbacks());
    }
 
+   public void testBeanFactoryWithFactoryClass() throws Exception
+   {
+      GenericBeanFactoryMetaData factory = unmarshalBeanFactory();
+      assertNull(factory.getName());
+      assertEquals("Dummy", factory.getBean());
+      assertNull(factory.getMode());
+      assertEquals("MyFactory", factory.getFactoryClass());
+      assertNull(factory.getAccessMode());
+      assertNull(factory.getAnnotations());
+      assertNull(factory.getClassLoader());
+      assertNull(factory.getConstructor());
+      assertNull(factory.getProperties());
+      assertNull(factory.getCreate());
+      assertNull(factory.getStart());
+      assertNull(factory.getDepends());
+      assertNull(factory.getDemands());
+      assertNull(factory.getSupplies());
+      assertNull(factory.getInstalls());
+      assertNull(factory.getUninstalls());
+      assertNull(factory.getInstallCallbacks());
+      assertNull(factory.getUninstallCallbacks());
+   }
+
    public void testBeanFactoryWithMode() throws Exception
    {
       GenericBeanFactoryMetaData factory = unmarshalBeanFactory();
@@ -90,6 +115,7 @@
       assertEquals("Dummy", factory.getBean());
       assertEquals(ControllerMode.MANUAL, factory.getMode());
       assertNull(factory.getAccessMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -111,6 +137,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertEquals(BeanAccessMode.FIELDS, factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -133,6 +160,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNotNull(factory.getClassLoader());
@@ -155,6 +183,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -178,6 +207,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -203,6 +233,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -230,6 +261,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -252,6 +284,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -274,6 +307,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -298,6 +332,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -324,6 +359,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -348,6 +384,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -374,6 +411,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -398,6 +436,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -424,6 +463,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -448,6 +488,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -474,6 +515,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -498,6 +540,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -524,6 +567,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -548,6 +592,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -574,6 +619,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -598,6 +644,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java	2008-03-20 14:33:54 UTC (rev 71059)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java	2008-03-20 14:36:12 UTC (rev 71060)
@@ -44,6 +44,7 @@
       assertEquals("Name1", factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -65,6 +66,7 @@
       assertNull(factory.getName());
       assertEquals(Object.class.getName(), factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -80,12 +82,35 @@
       assertNull(factory.getUninstallCallbacks());
    }
 
+   public void testBeanFactoryWithFactoryClass() throws Exception
+   {
+      GenericBeanFactoryMetaData factory = unmarshalBeanFactory("BeanFactoryWithFactoryClass.xml");
+      assertNull(factory.getName());
+      assertEquals("Dummy", factory.getBean());
+      assertNull(factory.getMode());
+      assertEquals("MyFactory", factory.getFactoryClass());
+      assertNull(factory.getAccessMode());
+      assertNull(factory.getAnnotations());
+      assertNull(factory.getClassLoader());
+      assertNull(factory.getConstructor());
+      assertNull(factory.getProperties());
+      assertNull(factory.getCreate());
+      assertNull(factory.getStart());
+      assertNull(factory.getDemands());
+      assertNull(factory.getSupplies());
+      assertNull(factory.getInstalls());
+      assertNull(factory.getUninstalls());
+      assertNull(factory.getInstallCallbacks());
+      assertNull(factory.getUninstallCallbacks());
+   }
+
    public void testBeanFactoryWithMode() throws Exception
    {
       GenericBeanFactoryMetaData factory = unmarshalBeanFactory("BeanFactoryWithMode.xml");
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertEquals(ControllerMode.MANUAL, factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -107,6 +132,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertEquals(BeanAccessMode.FIELDS, factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -128,6 +154,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNotNull(factory.getClassLoader());
@@ -149,6 +176,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -170,6 +198,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -193,6 +222,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -218,6 +248,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -239,6 +270,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -260,6 +292,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -283,6 +316,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -308,6 +342,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -331,6 +366,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -356,6 +392,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -379,6 +416,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -404,6 +442,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -427,6 +466,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -452,6 +492,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
@@ -475,6 +516,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getFactoryClass());
       assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());




More information about the jboss-cvs-commits mailing list