[jboss-cvs] JBossAS SVN: r71173 - in projects/microcontainer/trunk/kernel/src: resources/tests/org/jboss/test/kernel/dependency/test and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Mar 22 15:54:40 EDT 2008


Author: alesj
Date: 2008-03-22 15:54:40 -0400 (Sat, 22 Mar 2008)
New Revision: 71173

Added:
   projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase0.xml
   projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase1.xml
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/support/GenericBeanFactoryRepositoryBF.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase.java
Modified:
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/GenericFactoryInstantiateTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/AbstractKernelDependencyTest.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/FromContextAnnotationTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/FromContextTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryConstructorDependencyTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryDemandDependencyTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryField2PropertyDependencyTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryFieldPropertyDependencyTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryInstallDependencyTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryOnDemandDependencyTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPlainDependencyTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPlainLifecycleDependencyTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPropertyDependencyTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/OldAbstractKernelDependencyTest.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java
Log:
[JBMICROCONT-269] reinstated callbacks in beanfactory.
Removing deprecated generic bean factory metadata usage.

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-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -36,6 +36,7 @@
 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.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.AbstractClassLoaderMetaData;
 import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
 import org.jboss.beans.metadata.plugins.AbstractDemandMetaData;
@@ -60,13 +61,10 @@
 import org.jboss.beans.metadata.spi.LifecycleMetaData;
 import org.jboss.beans.metadata.spi.MetaDataVisitor;
 import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
-import org.jboss.beans.metadata.spi.ParameterMetaData;
-import org.jboss.beans.metadata.spi.ParameterizedMetaData;
 import org.jboss.beans.metadata.spi.PropertyMetaData;
 import org.jboss.beans.metadata.spi.SupplyMetaData;
 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.dependency.spi.ControllerMode;
 import org.jboss.kernel.plugins.bootstrap.basic.KernelConstants;
 import org.jboss.kernel.spi.config.KernelConfigurator;
@@ -141,6 +139,16 @@
    /** The uninstall callbacks */
    protected List<CallbackMetaData> uninstallCallbacks;
 
+   public GenericBeanFactoryMetaData()
+   {
+   }
+
+   public GenericBeanFactoryMetaData(String name, String bean)
+   {
+      this.name = name;
+      this.bean = bean;
+   }
+
    /**
     * Get the name
     * 
@@ -559,7 +567,16 @@
       if (getFactoryClass() == null)
          setFactoryClass(GenericBeanFactory.class.getName());
 
-      BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, getFactoryClass());
+      AbstractBeanMetaData beanMetaData = new AbstractBeanMetaData(name, getFactoryClass());
+      beanMetaData.setDemands(getDemands());
+      beanMetaData.setDepends(getDepends());
+      beanMetaData.setSupplies(getSupplies());
+      beanMetaData.setInstalls(getInstalls());
+      beanMetaData.setUninstalls(getUninstalls());
+      beanMetaData.setInstallCallbacks(getInstallCallbacks());
+      beanMetaData.setUninstallCallbacks(getUninstallCallbacks());
+      // builder util
+      BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(beanMetaData);
       if (aliases != null)
       {
          Set<Object> theAliases = new HashSet<Object>();
@@ -568,59 +585,23 @@
          builder.setAliases(theAliases);
       }
       builder.setMode(mode);
-      builder.setAccessMode(accessMode);
       ValueMetaData injectKernelConfigurator = builder.createInject(KernelConstants.KERNEL_CONFIGURATOR_NAME);
       builder.addConstructorParameter(KernelConfigurator.class.getName(), injectKernelConfigurator);
-      builder.addPropertyMetaData("bean", bean);
+      if (bean != null)
+         builder.addPropertyMetaData("bean", bean);
       if (classLoader != null)
       {
          builder.setClassLoader(classLoader);
-         if (classLoader == null)
          builder.addPropertyMetaData("classLoader", builder.createValue(classLoader));
       }
+      if (accessMode != null)
+         builder.addPropertyMetaData("accessMode", accessMode);
       if (constructor != null)
          builder.addPropertyMetaData("constructor", constructor);
       if (create != null)
          builder.addPropertyMetaData("create", create);
       if (start != null)
          builder.addPropertyMetaData("start", start);
-      if (demands != null && demands.size() > 0)
-      {
-         for (DemandMetaData demand : demands)
-         {
-            builder.addDemand(demand.getDemand());
-         }
-      }
-      if (depends != null && depends.size() > 0)
-      {
-         for (DependencyMetaData dependency : depends)
-         {
-            builder.addDependency(dependency.getDependency());
-         }
-      }
-      if (supplies != null && supplies.size() > 0)
-      {
-         for (SupplyMetaData supply : supplies)
-         {
-            builder.addSupply(supply.getSupply());
-         }
-      }
-      if (installs != null && installs.size() > 0)
-      {
-         for (InstallMetaData install : installs)
-         {
-            ParameterMetaDataBuilder paramBuilder = builder.addInstallWithParameters(install.getMethodName(), install.getBean(), install.getState(), install.getDependentState());
-            setParameters(paramBuilder, install);
-         }
-      }
-      if (uninstalls != null && uninstalls.size() > 0)
-      {
-         for (InstallMetaData uninstall : uninstalls)
-         {
-            ParameterMetaDataBuilder paramBuilder = builder.addUninstallWithParameters(uninstall.getMethodName(), uninstall.getBean(), uninstall.getState(), uninstall.getDependentState());
-            setParameters(paramBuilder, uninstall);
-         }
-      }
       if (properties != null && properties.size() > 0)
       {
          PropertyMap propertyMap = new PropertyMap(); 
@@ -630,30 +611,10 @@
          }
          builder.addPropertyMetaData("properties", propertyMap);
       }
-      //TODO: installCallbacks and uninstallCallbacks
-      
       return Collections.singletonList(builder.getBeanMetaData());
    }
 
    /**
-    * Add the parameters
-    *
-    * @param builder parameter builder
-    * @param metadata parameter metadata
-    */
-   private void setParameters(ParameterMetaDataBuilder builder, ParameterizedMetaData metadata)
-   {
-      List<ParameterMetaData> params = metadata.getParameters();
-      if (params != null && params.size() > 0)
-      {
-         for (ParameterMetaData param : params)
-         {
-            builder.addParameterMetaData(param.getType(), param.getValue());
-         }
-      }
-   }
-   
-   /**
     * PropertyMap.
     */
    private class PropertyMap extends HashMap<String, ValueMetaData> implements MetaDataVisitorNode

Added: projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase0.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase0.xml	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase0.xml	2008-03-22 19:54:40 UTC (rev 71173)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+   <beanfactory name="Name1" class="org.jboss.test.kernel.dependency.support.SimpleBeanImpl" factoryClass="org.jboss.test.kernel.dependency.support.GenericBeanFactoryRepositoryBF">
+      <incallback method="addGenericBeanFactory"/>
+      <uncallback method="removeGenericBeanFactory"/>
+   </beanfactory>
+</deployment>

Added: projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase1.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase1.xml	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase1.xml	2008-03-22 19:54:40 UTC (rev 71173)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+   <bean name="Name2" class="org.jboss.test.kernel.dependency.support.SimpleBeanImpl"/>
+</deployment>

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-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/GenericFactoryInstantiateTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -21,12 +21,19 @@
 */
 package org.jboss.test.kernel.config.test;
 
+import java.util.List;
+import java.util.Set;
+import java.util.HashSet;
+
 import junit.framework.Test;
 
 import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
 import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
 import org.jboss.beans.metadata.plugins.AbstractValueMetaData;
 import org.jboss.beans.metadata.spi.factory.BeanFactory;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.PropertyMetaData;
 import org.jboss.test.kernel.config.support.MyBeanFactory;
 import org.jboss.test.kernel.config.support.SimpleBean;
 import org.jboss.test.kernel.config.support.SimpleBeanFactory;
@@ -74,9 +81,9 @@
    @SuppressWarnings("deprecation")
    protected BeanFactory configureFromBean() throws Throwable
    {
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData factory = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Factory", SimpleBean.class.getName());
-      factory.addBeanProperty(new AbstractPropertyMetaData("anint", 123));
-      return (BeanFactory)instantiate(factory);
+      GenericBeanFactoryMetaData factory = new GenericBeanFactoryMetaData("Factory", SimpleBean.class.getName());
+      addBeanProperty(factory, new AbstractPropertyMetaData("anint", 123));
+      return instantiate(factory);
    }
 
    public void testBeanFactoryFromFactory() throws Throwable
@@ -88,13 +95,14 @@
    @SuppressWarnings("deprecation")
    protected BeanFactory configureFromFactory() throws Throwable
    {
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData factory = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Factory");
+      GenericBeanFactoryMetaData factory = new GenericBeanFactoryMetaData();
+      factory.setName("Factory");
       AbstractConstructorMetaData constructor = new AbstractConstructorMetaData();
-      factory.setBeanConstructor(constructor);
+      factory.setConstructor(constructor);
       constructor.setFactory(new AbstractValueMetaData(new SimpleBeanFactory()));
       constructor.setFactoryMethod("createSimpleBean");
-      factory.addBeanProperty(new AbstractPropertyMetaData("anint", 123));
-      return (BeanFactory)instantiate(factory);
+      addBeanProperty(factory, new AbstractPropertyMetaData("anint", 123));
+      return instantiate(factory);
    }
 
    public void testBeanFactoryFromStaticFactory() throws Throwable
@@ -106,13 +114,14 @@
    @SuppressWarnings("deprecation")
    protected BeanFactory configureFromStaticFactory() throws Throwable
    {
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData factory = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Factory");
+      GenericBeanFactoryMetaData factory = new GenericBeanFactoryMetaData();
+      factory.setName("Factory");
       AbstractConstructorMetaData constructor = new AbstractConstructorMetaData();
-      factory.setBeanConstructor(constructor);
+      factory.setConstructor(constructor);
       constructor.setFactoryClass(SimpleBeanFactory.class.getName());
       constructor.setFactoryMethod("staticCreateSimpleBean");
-      factory.addBeanProperty(new AbstractPropertyMetaData("anint", 123));
-      return (BeanFactory)instantiate(factory);
+      addBeanProperty(factory, new AbstractPropertyMetaData("anint", 123));
+      return instantiate(factory);
    }
 
    public void testBeanFactoryWithNonExistingClass() throws Throwable
@@ -132,8 +141,8 @@
    @SuppressWarnings("deprecation")
    protected BeanFactory configureFromIllegalClass() throws Throwable
    {
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData factory = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Factory", "org.jboss.test.NoSuchClass");
-      return (BeanFactory)instantiate(factory);
+      GenericBeanFactoryMetaData factory = new GenericBeanFactoryMetaData("Factory", "org.jboss.test.NoSuchClass");
+      return instantiate(factory);
    }
 
    public void testBeanFactoryDefinedFactoryClass() throws Throwable
@@ -147,8 +156,27 @@
    @SuppressWarnings("deprecation")
    protected BeanFactory configureFromDefinedFactoryClass() throws Throwable
    {
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData factory = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Factory", SimpleBean.class.getName());
+      GenericBeanFactoryMetaData factory = new GenericBeanFactoryMetaData("Factory", SimpleBean.class.getName());
       factory.setFactoryClass(MyBeanFactory.class.getName());
-      return (BeanFactory)instantiate(factory);
+      return instantiate(factory);
    }
+
+   protected BeanFactory instantiate(GenericBeanFactoryMetaData factory) throws Throwable
+   {
+      List<BeanMetaData> beans = factory.getBeans();
+      assertNotNull(beans);
+      assertEquals(1, beans.size());
+      return (BeanFactory)instantiate(beans.get(0));
+   }
+
+   protected void addBeanProperty(GenericBeanFactoryMetaData factory, PropertyMetaData property)
+   {
+      Set<PropertyMetaData> propertys = factory.getProperties();
+      if (propertys == null)
+      {
+         propertys = new HashSet<PropertyMetaData>();
+         factory.setProperties(propertys);
+      }
+      propertys.add(property);
+   }
 }

Added: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/support/GenericBeanFactoryRepositoryBF.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/support/GenericBeanFactoryRepositoryBF.java	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/support/GenericBeanFactoryRepositoryBF.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -0,0 +1,58 @@
+/*
+* 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.dependency.support;
+
+import java.util.List;
+import java.util.ArrayList;
+
+import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
+import org.jboss.kernel.spi.config.KernelConfigurator;
+
+/**
+ * GenericBeanFactoryRepositoryBF.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class GenericBeanFactoryRepositoryBF extends GenericBeanFactory
+{
+   List<SimpleBean> beans = new ArrayList<SimpleBean>();
+
+   public GenericBeanFactoryRepositoryBF(KernelConfigurator configurator)
+   {
+      super(configurator);
+   }
+
+   public List<SimpleBean> getBeans()
+   {
+      return beans;
+   }
+
+   public void addGenericBeanFactory(SimpleBean bean)
+   {
+      beans.add(bean);
+   }
+
+   public void removeGenericBeanFactory(SimpleBean bean)
+   {
+      beans.remove(bean);
+   }
+}

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/AbstractKernelDependencyTest.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/AbstractKernelDependencyTest.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/AbstractKernelDependencyTest.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -22,8 +22,13 @@
 package org.jboss.test.kernel.dependency.test;
 
 import java.net.URL;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.List;
 
 import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.PropertyMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.kernel.Kernel;
@@ -150,6 +155,25 @@
       this.beanMetaDatas = beanMetaDatas;
    }
    
+   protected void addBeanProperty(GenericBeanFactoryMetaData factory, PropertyMetaData property)
+   {
+      Set<PropertyMetaData> propertys = factory.getProperties();
+      if (propertys == null)
+      {
+         propertys = new HashSet<PropertyMetaData>();
+         factory.setProperties(propertys);
+      }
+      propertys.add(property);
+   }
+
+   protected BeanMetaData getBeanMetaData(GenericBeanFactoryMetaData factory)
+   {
+      List<BeanMetaData> beans = factory.getBeans();
+      assertNotNull(beans);
+      assertEquals(1, beans.size());
+      return beans.get(0);
+   }
+
    protected void deploy(int number) throws Throwable
    {
       String name = getClass().getName();

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -86,6 +86,8 @@
       suite.addTest(InstallDependencyAnnotationTestCase.suite());
       suite.addTest(GenericBeanFactoryInstallDependencyTestCase.suite());
       suite.addTest(GenericBeanFactoryInstallDependencyXMLTestCase.suite());
+      suite.addTest(GenericBeanFactoryCallbackDependencyTestCase.suite());
+      suite.addTest(GenericBeanFactoryCallbackDependencyXMLTestCase.suite());
       suite.addTest(InstallSelfDependencyTestCase.suite());
       suite.addTest(InstallSelfDependencyXMLTestCase.suite());
       suite.addTest(InstallSelfDependencyAnnotationTestCase.suite());

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/FromContextAnnotationTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/FromContextAnnotationTestCase.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/FromContextAnnotationTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -29,6 +29,7 @@
 import org.jboss.beans.metadata.api.model.FromContext;
 import org.jboss.beans.metadata.plugins.builder.BeanMetaDataBuilderFactory;
 import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
 import org.jboss.test.kernel.deployment.support.NameAwareBean;
 import org.jboss.test.kernel.deployment.support.BeanNameAwareBean;
@@ -67,15 +68,14 @@
       assertEquals(c2, c3);
    }
 
-   @SuppressWarnings("deprecation")
    protected void setBeanMetaDatas() throws Throwable
    {
       BeanMetaDataBuilder b1 = BeanMetaDataBuilderFactory.createBuilder("set_name_bean", BeanNameAwareBean.class.getName());
 
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData b2 = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("set_name_factory", NameAwareBean.class.getName());
+      GenericBeanFactoryMetaData b2 = new GenericBeanFactoryMetaData("set_name_factory", NameAwareBean.class.getName());
       AbstractInjectionValueMetaData v2 = new AbstractInjectionValueMetaData();
       v2.setFromContext(FromContext.NAME);
-      b2.addBeanProperty(new AbstractPropertyMetaData("name", v2));
+      addBeanProperty(b2, new AbstractPropertyMetaData("name", v2));
 
       BeanMetaDataBuilder b3 = BeanMetaDataBuilderFactory.createBuilder("aliases", AliasesAwareBean.class.getName());
       BeanMetaDataBuilder b4 = BeanMetaDataBuilderFactory.createBuilder("metadata", MetaDataAwareBean.class.getName());
@@ -89,7 +89,7 @@
       setBeanMetaDatas(new BeanMetaData[]
             {
                b1.getBeanMetaData(),
-               b2,
+               getBeanMetaData(b2),
                b3.getBeanMetaData(),
                b4.getBeanMetaData(),
                b5.getBeanMetaData(),

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/FromContextTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/FromContextTestCase.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/FromContextTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -21,18 +21,19 @@
 */
 package org.jboss.test.kernel.dependency.test;
 
+import java.util.Arrays;
+import java.util.HashSet;
 import java.util.Set;
-import java.util.HashSet;
-import java.util.Arrays;
 
 import junit.framework.Test;
+import org.jboss.beans.metadata.api.model.FromContext;
 import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
-import org.jboss.beans.metadata.api.model.FromContext;
 import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
 import org.jboss.beans.metadata.plugins.builder.BeanMetaDataBuilderFactory;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
 import org.jboss.beans.metadata.spi.factory.BeanFactory;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.test.kernel.deployment.support.NameAwareBean;
@@ -129,7 +130,6 @@
       assertTrue(aliases.contains("a3"));
    }
 
-   @SuppressWarnings("deprecation")
    protected void setBeanMetaDatas() throws Throwable
    {
       BeanMetaDataBuilder b1 = BeanMetaDataBuilderFactory.createBuilder("set_name_bean", NameAwareBean.class.getName());
@@ -137,10 +137,10 @@
       v1.setFromContext(FromContext.NAME);
       b1.addPropertyMetaData("name", v1);
 
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData b2 = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("set_name_factory", NameAwareBean.class.getName());
+      GenericBeanFactoryMetaData b2 = new GenericBeanFactoryMetaData("set_name_factory", NameAwareBean.class.getName());
       AbstractInjectionValueMetaData v2 = new AbstractInjectionValueMetaData();
       v2.setFromContext(FromContext.NAME);
-      b2.addBeanProperty(new AbstractPropertyMetaData("name", v2));
+      addBeanProperty(b2, new AbstractPropertyMetaData("name", v2));
 
       BeanMetaDataBuilder b3 = BeanMetaDataBuilderFactory.createBuilder("aliases", NameAwareBean.class.getName());
       Set<Object> aliases = new HashSet<Object>();
@@ -184,7 +184,7 @@
       setBeanMetaDatas(new BeanMetaData[]
             {
                b1.getBeanMetaData(),
-               b2,
+               getBeanMetaData(b2),
                b3.getBeanMetaData(),
                b4.getBeanMetaData(),
                b5.getBeanMetaData(),

Added: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyTestCase.java	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -0,0 +1,167 @@
+/*
+* 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.dependency.test;
+
+import java.util.ArrayList;
+
+import junit.framework.Test;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.metadata.plugins.AbstractCallbackMetaData;
+import org.jboss.beans.metadata.plugins.InstallCallbackMetaData;
+import org.jboss.beans.metadata.plugins.UninstallCallbackMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.CallbackMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.test.kernel.dependency.support.GenericBeanFactoryRepositoryBF;
+import org.jboss.test.kernel.dependency.support.SimpleBeanImpl;
+
+/**
+ * Callback Dependency Test Case.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class GenericBeanFactoryCallbackDependencyTestCase extends AbstractKernelDependencyTest
+{
+   public static Test suite()
+   {
+      return suite(GenericBeanFactoryCallbackDependencyTestCase.class);
+   }
+
+   public GenericBeanFactoryCallbackDependencyTestCase(String name) throws Throwable
+   {
+      super(name);
+   }
+
+   public GenericBeanFactoryCallbackDependencyTestCase(String name, boolean xmltest) throws Throwable
+   {
+      super(name, xmltest);
+   }
+
+   public void testInstallDependencyCorrectOrder() throws Throwable
+   {
+      setupBeanMetaDatas();
+
+      ControllerContext context1 = assertInstall(0, "Name1");
+      ControllerContext context2 = assertInstall(1, "Name2");
+
+      GenericBeanFactoryRepositoryBF bean1 = (GenericBeanFactoryRepositoryBF) context1.getTarget();
+      assertNotNull(bean1);
+
+      SimpleBeanImpl bean2 = (SimpleBeanImpl) context2.getTarget();
+      assertNotNull(bean2);
+
+      ArrayList<Object> expected = new ArrayList<Object>();
+      expected.add(bean2);
+      assertEquals(expected, bean1.getBeans());
+   }
+
+   public void testInstallDependencyWrongOrder() throws Throwable
+   {
+      setupBeanMetaDatas();
+
+      ControllerContext context2 = assertInstall(1, "Name2");
+      ControllerContext context1 = assertInstall(0, "Name1");
+
+      GenericBeanFactoryRepositoryBF bean1 = (GenericBeanFactoryRepositoryBF) context1.getTarget();
+      assertNotNull(bean1);
+
+      SimpleBeanImpl bean2 = (SimpleBeanImpl) context2.getTarget();
+      assertNotNull(bean2);
+
+      ArrayList<Object> expected = new ArrayList<Object>();
+      expected.add(bean2);
+      assertEquals(expected, bean1.getBeans());
+   }
+
+   public void testInstallDependencyReinstall() throws Throwable
+   {
+      setupBeanMetaDatas();
+
+      ControllerContext context1 = assertInstall(0, "Name1");
+      ControllerContext context2 = assertInstall(1, "Name2");
+
+      GenericBeanFactoryRepositoryBF bean1 = (GenericBeanFactoryRepositoryBF) context1.getTarget();
+      assertNotNull(bean1);
+
+      SimpleBeanImpl bean2 = (SimpleBeanImpl) context2.getTarget();
+      assertNotNull(bean2);
+
+      ArrayList<Object> expected = new ArrayList<Object>();
+      expected.add(bean2);
+      assertEquals(expected, bean1.getBeans());
+
+      assertUninstall("Name1");
+      assertContext("Name2");
+
+      expected = new ArrayList<Object>();
+      assertEquals(expected, bean1.getBeans());
+
+      context1 = assertInstall(0, "Name1");
+      assertContext("Name2", ControllerState.INSTALLED);
+
+      bean1 = (GenericBeanFactoryRepositoryBF) context1.getTarget();
+      assertNotNull(bean1);
+
+      expected = new ArrayList<Object>();
+      expected.add(bean2);
+      assertEquals(expected, bean1.getBeans());
+
+      assertUninstall("Name2");
+      assertContext("Name1", ControllerState.INSTALLED);
+
+      expected = new ArrayList<Object>();
+      assertEquals(expected, bean1.getBeans());
+
+      context2 = assertInstall(1, "Name2");
+      assertContext("Name1", ControllerState.INSTALLED);
+
+      bean2 = (SimpleBeanImpl) context2.getTarget();
+      assertNotNull(bean2);
+
+      expected = new ArrayList<Object>();
+      expected.add(bean2);
+      assertEquals(expected, bean1.getBeans());
+   }
+
+   protected void setupBeanMetaDatas() throws Throwable
+   {
+      GenericBeanFactoryMetaData metaData1 = new GenericBeanFactoryMetaData("Name1", SimpleBeanImpl.class.getName());
+      metaData1.setFactoryClass(GenericBeanFactoryRepositoryBF.class.getName());
+
+      ArrayList<CallbackMetaData> installs = new ArrayList<CallbackMetaData>();
+      AbstractCallbackMetaData install = new InstallCallbackMetaData();
+      install.setMethodName("addGenericBeanFactory");
+      installs.add(install);
+      metaData1.setInstallCallbacks(installs);
+
+      ArrayList<CallbackMetaData> uninstalls = new ArrayList<CallbackMetaData>();
+      AbstractCallbackMetaData uninstall = new UninstallCallbackMetaData();
+      uninstall.setMethodName("removeGenericBeanFactory");
+      uninstalls.add(uninstall);
+      metaData1.setUninstallCallbacks(uninstalls);
+
+      AbstractBeanMetaData metaData2 = new AbstractBeanMetaData("Name2", SimpleBeanImpl.class.getName());
+      setBeanMetaDatas(new BeanMetaData[] { getBeanMetaData(metaData1), metaData2 });
+   }
+}

Added: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase.java	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryCallbackDependencyXMLTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -0,0 +1,42 @@
+/*
+* 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.dependency.test;
+
+import junit.framework.Test;
+
+/**
+ * Callback Dependency Test Case.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class GenericBeanFactoryCallbackDependencyXMLTestCase extends GenericBeanFactoryCallbackDependencyTestCase
+{
+   public static Test suite()
+   {
+      return suite(GenericBeanFactoryCallbackDependencyXMLTestCase.class);
+   }
+
+   public GenericBeanFactoryCallbackDependencyXMLTestCase(String name) throws Throwable
+   {
+      super(name, true);
+   }
+}

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryConstructorDependencyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryConstructorDependencyTestCase.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryConstructorDependencyTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -32,6 +32,7 @@
 import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.ParameterMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.test.kernel.dependency.support.SimpleBean;
@@ -179,20 +180,19 @@
       buildMetaData();
    }
 
-   @SuppressWarnings("deprecation")
    protected void buildMetaData()
    {
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData metaData1 = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Name1", SimpleBeanImpl.class.getName());
-      metaData1.addBeanProperty(new AbstractPropertyMetaData("string", "String1"));
+      GenericBeanFactoryMetaData metaData1 = new GenericBeanFactoryMetaData("Name1", SimpleBeanImpl.class.getName());
+      addBeanProperty(metaData1, new AbstractPropertyMetaData("string", "String1"));
 
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData metaData2 = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Name2", SimpleBeanWithConstructorDependencyImpl.class.getName());
-      metaData2.addBeanProperty(new AbstractPropertyMetaData("string", "String2"));
+      GenericBeanFactoryMetaData metaData2 = new GenericBeanFactoryMetaData("Name2", SimpleBeanWithConstructorDependencyImpl.class.getName());
+      addBeanProperty(metaData2, new AbstractPropertyMetaData("string", "String2"));
       AbstractConstructorMetaData cmd = new AbstractConstructorMetaData();
       ArrayList<ParameterMetaData> constructor2 = new ArrayList<ParameterMetaData>();
       constructor2.add(new AbstractParameterMetaData(GenericBeanFactory.class.getName(), new AbstractDependencyValueMetaData("Name1")));
       cmd.setParameters(constructor2);
-      metaData2.setBeanConstructor(cmd);
+      metaData2.setConstructor(cmd);
 
-      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
+      setBeanMetaDatas(new BeanMetaData[] { getBeanMetaData(metaData1), getBeanMetaData(metaData2) });
    }
 }
\ No newline at end of file

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryDemandDependencyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryDemandDependencyTestCase.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryDemandDependencyTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -31,6 +31,7 @@
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.DemandMetaData;
 import org.jboss.beans.metadata.spi.SupplyMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.test.kernel.dependency.support.SimpleBean;
@@ -168,21 +169,20 @@
       buildMetaData();
    }
 
-   @SuppressWarnings("deprecation")
    protected void buildMetaData()
    {
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData metaData1 = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Name1", SimpleBeanImpl.class.getName());
-      metaData1.addBeanProperty(new AbstractPropertyMetaData("string", "String1"));
+      GenericBeanFactoryMetaData metaData1 = new GenericBeanFactoryMetaData("Name1", SimpleBeanImpl.class.getName());
+      addBeanProperty(metaData1, new AbstractPropertyMetaData("string", "String1"));
       HashSet<SupplyMetaData> supplies = new HashSet<SupplyMetaData>();
       supplies.add(new AbstractSupplyMetaData("WhatIWant"));
       metaData1.setSupplies(supplies);
 
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData metaData2 = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Name2", SimpleBeanImpl.class.getName());
-      metaData2.addBeanProperty(new AbstractPropertyMetaData("string", "String2"));
+      GenericBeanFactoryMetaData metaData2 = new GenericBeanFactoryMetaData("Name2", SimpleBeanImpl.class.getName());
+      addBeanProperty(metaData2, new AbstractPropertyMetaData("string", "String2"));
       HashSet<DemandMetaData> demands = new HashSet<DemandMetaData>();
       demands.add(new AbstractDemandMetaData("WhatIWant"));
       metaData2.setDemands(demands);
 
-      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
+      setBeanMetaDatas(new BeanMetaData[] { getBeanMetaData(metaData1), getBeanMetaData(metaData2) });
    }
 }
\ No newline at end of file

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryField2PropertyDependencyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryField2PropertyDependencyTestCase.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryField2PropertyDependencyTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -23,6 +23,7 @@
 
 import junit.framework.Test;
 import org.jboss.beans.info.spi.BeanAccessMode;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.test.kernel.dependency.support.SimplerBeanImpl2;
 import org.jboss.test.AbstractTestDelegate;
 
@@ -31,7 +32,6 @@
  *
  * @author <a href="ales.justin at jboss.com">Ales Justin</a>
  */
- at SuppressWarnings("deprecation")
 public class GenericBeanFactoryField2PropertyDependencyTestCase extends GenericBeanFactoryPropertyDependencyTestCase
 {
    public static Test suite()
@@ -44,9 +44,9 @@
       super(name);
    }
 
-   protected org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData createBeanFactory()
+   protected GenericBeanFactoryMetaData createBeanFactory()
    {
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData beanFactoryMetaData = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Name2", SimplerBeanImpl2.class.getName());
+      GenericBeanFactoryMetaData beanFactoryMetaData = new GenericBeanFactoryMetaData("Name2", SimplerBeanImpl2.class.getName());
       beanFactoryMetaData.setAccessMode(BeanAccessMode.ALL);
       return beanFactoryMetaData;
    }

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryFieldPropertyDependencyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryFieldPropertyDependencyTestCase.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryFieldPropertyDependencyTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -24,6 +24,7 @@
 import junit.framework.Test;
 
 import org.jboss.beans.info.spi.BeanAccessMode;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.test.AbstractTestDelegate;
 import org.jboss.test.kernel.dependency.support.SimplerBeanImpl;
 
@@ -44,10 +45,9 @@
       super(name);
    }
 
-   @SuppressWarnings("deprecation")
-   protected org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData createBeanFactory()
+   protected GenericBeanFactoryMetaData createBeanFactory()
    {
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData beanFactoryMetaData = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Name2", SimplerBeanImpl.class.getName());
+      GenericBeanFactoryMetaData beanFactoryMetaData = new GenericBeanFactoryMetaData("Name2", SimplerBeanImpl.class.getName());
       beanFactoryMetaData.setAccessMode(BeanAccessMode.FIELDS);
       return beanFactoryMetaData;
    }

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryInstallDependencyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryInstallDependencyTestCase.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryInstallDependencyTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -24,7 +24,6 @@
 import java.util.ArrayList;
 
 import junit.framework.Test;
-
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.AbstractInstallMetaData;
 import org.jboss.beans.metadata.plugins.AbstractParameterMetaData;
@@ -33,6 +32,7 @@
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.InstallMetaData;
 import org.jboss.beans.metadata.spi.ParameterMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.test.kernel.dependency.support.GenericBeanFactoryRepository;
@@ -147,12 +147,10 @@
       assertEquals(expected, bean1.getBeans());
    }
 
-   @SuppressWarnings("deprecation")
    protected void setupBeanMetaDatas() throws Throwable
    {
       AbstractBeanMetaData metaData1 = new AbstractBeanMetaData("Name1", GenericBeanFactoryRepository.class.getName());
-      
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData metaData2 = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Name2", SimpleBeanImpl.class.getName());
+      GenericBeanFactoryMetaData metaData2 = new GenericBeanFactoryMetaData("Name2", SimpleBeanImpl.class.getName());
 
       ArrayList<InstallMetaData> installs = new ArrayList<InstallMetaData>();
       AbstractInstallMetaData install = new AbstractInstallMetaData();
@@ -174,6 +172,6 @@
       uninstalls.add(uninstall);
       metaData2.setUninstalls(uninstalls);
 
-      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
+      setBeanMetaDatas(new BeanMetaData[] { metaData1, getBeanMetaData(metaData2) });
    }
 }
\ No newline at end of file

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryOnDemandDependencyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryOnDemandDependencyTestCase.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryOnDemandDependencyTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -27,6 +27,7 @@
 import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
 import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
 import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.dependency.spi.ControllerState;
@@ -176,17 +177,16 @@
       buildMetaData();
    }
 
-   @SuppressWarnings("deprecation")
    protected void buildMetaData()
    {
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData metaData1 = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Name1", SimpleBeanImpl.class.getName());
+      GenericBeanFactoryMetaData metaData1 = new GenericBeanFactoryMetaData("Name1", SimpleBeanImpl.class.getName());
       metaData1.setMode(ControllerMode.ON_DEMAND);
-      metaData1.addBeanProperty(new AbstractPropertyMetaData("string", "String1"));
+      addBeanProperty(metaData1, new AbstractPropertyMetaData("string", "String1"));
 
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData metaData2 = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Name2", SimpleBeanWithDependencyImpl.class.getName());
-      metaData2.addBeanProperty(new AbstractPropertyMetaData("string", "String2"));
-      metaData2.addBeanProperty(new AbstractPropertyMetaData("factory", new AbstractDependencyValueMetaData("Name1")));
+      GenericBeanFactoryMetaData metaData2 = new GenericBeanFactoryMetaData("Name2", SimpleBeanWithDependencyImpl.class.getName());
+      addBeanProperty(metaData2, new AbstractPropertyMetaData("string", "String2"));
+      addBeanProperty(metaData2, new AbstractPropertyMetaData("factory", new AbstractDependencyValueMetaData("Name1")));
 
-      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
+      setBeanMetaDatas(new BeanMetaData[] { getBeanMetaData(metaData1), getBeanMetaData(metaData2) });
    }
 }
\ No newline at end of file

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPlainDependencyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPlainDependencyTestCase.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPlainDependencyTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -33,6 +33,7 @@
 import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.PropertyMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.test.kernel.dependency.support.SimpleBeanImpl;
@@ -141,7 +142,6 @@
       buildMetaData();
    }
 
-   @SuppressWarnings("deprecation")
    protected void buildMetaData()
    {
       AbstractBeanMetaData metaData1 = new AbstractBeanMetaData("simple", SimpleBeanImpl.class.getName());
@@ -149,12 +149,13 @@
       attributes1.add(new AbstractPropertyMetaData("string", "String1"));
       metaData1.setProperties(attributes1);
 
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData metaData2 = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("aspect");
-      metaData2.addProperty(new AbstractPropertyMetaData("bean", SimpleBeanWithDependencyImpl.class.getName()));
-      metaData2.addProperty(new AbstractPropertyMetaData("constructor", new AbstractConstructorMetaData()));
-      metaData2.addBeanProperty(new AbstractPropertyMetaData("simpleBean", new AbstractDependencyValueMetaData("simple")));
-      metaData2.addBeanProperty(new AbstractPropertyMetaData("string", new AbstractValueMetaData("factory")));
+      GenericBeanFactoryMetaData metaData2 = new GenericBeanFactoryMetaData();
+      metaData2.setName("aspect");
+      metaData2.setBean(SimpleBeanWithDependencyImpl.class.getName());
+      metaData2.setConstructor(new AbstractConstructorMetaData());
+      addBeanProperty(metaData2, new AbstractPropertyMetaData("simpleBean", new AbstractDependencyValueMetaData("simple")));
+      addBeanProperty(metaData2, new AbstractPropertyMetaData("string", new AbstractValueMetaData("factory")));
 
-      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
+      setBeanMetaDatas(new BeanMetaData[] { metaData1, getBeanMetaData(metaData2) });
    }
 }
\ No newline at end of file

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPlainLifecycleDependencyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPlainLifecycleDependencyTestCase.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPlainLifecycleDependencyTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -30,6 +30,7 @@
 import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.DependencyMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.test.kernel.dependency.support.SimpleBeanWithLifecycle;
@@ -166,17 +167,16 @@
       buildMetaData();
    }
 
-   @SuppressWarnings("deprecation")
    protected void buildMetaData()
    {
       AbstractBeanMetaData metaData1 = new AbstractBeanMetaData("Name1", SimpleBeanWithLifecycle.class.getName());
 
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData metaData2 = new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Name2", SimpleBeanWithLifecycle.class.getName());
+      GenericBeanFactoryMetaData metaData2 = new GenericBeanFactoryMetaData("Name2", SimpleBeanWithLifecycle.class.getName());
       HashSet<DependencyMetaData> depends = new HashSet<DependencyMetaData>();
       depends.add(new AbstractDependencyMetaData("Name1"));
       metaData2.setDepends(depends);
 
-      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
+      setBeanMetaDatas(new BeanMetaData[] { metaData1, getBeanMetaData(metaData2) });
    }
 
    protected void setUp() throws Exception

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPropertyDependencyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPropertyDependencyTestCase.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/GenericBeanFactoryPropertyDependencyTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -27,6 +27,7 @@
 import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
 import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
 import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.test.kernel.dependency.support.SimpleBeanImpl;
@@ -38,7 +39,6 @@
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
  * @version $Revision$
  */
- at SuppressWarnings("deprecation")
 public class GenericBeanFactoryPropertyDependencyTestCase extends OldAbstractKernelDependencyTest
 {
    public static Test suite()
@@ -67,7 +67,7 @@
       assertNotNull(bean1);
       assertEquals("String1", bean1.getString());
       
-      GenericBeanFactory factory = (GenericBeanFactory) context2.getTarget(); 
+      GenericBeanFactory factory = (GenericBeanFactory) context2.getTarget();
       SimplerBean bean2 = (SimplerBean) factory.createBean();
       assertNotNull(bean2);
       assertEquals("String1", bean2.getString());
@@ -166,14 +166,14 @@
       AbstractBeanMetaData metaData1 = new AbstractBeanMetaData("Name1", SimpleBeanImpl.class.getName());
       metaData1.addProperty(new AbstractPropertyMetaData("string", "String1"));
 
-      org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData metaData2 = createBeanFactory();
-      metaData2.addBeanProperty(new AbstractPropertyMetaData("string", new AbstractDependencyValueMetaData("Name1", "string")));
+      GenericBeanFactoryMetaData metaData2 = createBeanFactory();
+      addBeanProperty(metaData2, new AbstractPropertyMetaData("string", new AbstractDependencyValueMetaData("Name1", "string")));
 
-      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
+      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2.getBeans().get(0) });
    }
 
-   protected org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData createBeanFactory()
+   protected GenericBeanFactoryMetaData createBeanFactory()
    {
-      return new org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData("Name2", SimpleBeanImpl.class.getName());
+      return new GenericBeanFactoryMetaData("Name2", SimpleBeanImpl.class.getName());
    }
 }

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/OldAbstractKernelDependencyTest.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/OldAbstractKernelDependencyTest.java	2008-03-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/dependency/test/OldAbstractKernelDependencyTest.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -22,8 +22,13 @@
 package org.jboss.test.kernel.dependency.test;
 
 import java.net.URL;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.List;
 
 import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.PropertyMetaData;
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.kernel.Kernel;
@@ -151,6 +156,25 @@
       this.beanMetaDatas = beanMetaDatas;
    }
    
+   protected void addBeanProperty(GenericBeanFactoryMetaData factory, PropertyMetaData property)
+   {
+      Set<PropertyMetaData> propertys = factory.getProperties();
+      if (propertys == null)
+      {
+         propertys = new HashSet<PropertyMetaData>();
+         factory.setProperties(propertys);
+      }
+      propertys.add(property);
+   }
+
+   protected BeanMetaData getBeanMetaData(GenericBeanFactoryMetaData factory)
+   {
+      List<BeanMetaData> beans = factory.getBeans();
+      assertNotNull(beans);
+      assertEquals(1, beans.size());
+      return beans.get(0);
+   }
+
    protected String createName(int number)
    {
       String packageName = Classes.getPackageName(getClass());

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-22 12:24:49 UTC (rev 71172)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java	2008-03-22 19:54:40 UTC (rev 71173)
@@ -536,7 +536,6 @@
       assertNull(factory.getUninstallCallbacks());
    }
 
-/*
    public void testBeanFactoryWithInstallCallback() throws Exception
    {
       GenericBeanFactoryMetaData factory = unmarshalBeanFactory("BeanFactoryWithInstallCallback.xml");
@@ -613,10 +612,10 @@
       assertNull(factory.getMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
-      assertNotNull(factory.getConstructor());
       assertNull(factory.getConstructor());
-      assertNotNull(factory.getProperties());
+      assertNull(factory.getConstructor());
       assertNull(factory.getProperties());
+      assertNull(factory.getProperties());
       assertNull(factory.getCreate());
       assertNull(factory.getStart());
       assertNull(factory.getDemands());
@@ -630,8 +629,7 @@
       expected.add("Uninstall3");
       assertCallbacks(expected, factory.getUninstallCallbacks());
    }
-*/
-   
+
    public static Test suite()
    {
       return suite(BeanFactoryTestCase.class);




More information about the jboss-cvs-commits mailing list