[jboss-cvs] JBossAS SVN: r78824 - in projects/microcontainer/branches/Branch_2_0/kernel/src: main/java/org/jboss/beans/metadata/plugins and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Sep 24 10:25:18 EDT 2008


Author: alesj
Date: 2008-09-24 10:25:18 -0400 (Wed, 24 Sep 2008)
New Revision: 78824

Added:
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/support/SimpleBeanDelegate.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/support/SimpleBeanDelegateAnnotated.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalAnnotationTestCase.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalTestCase.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalXMLTestCase.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalCorrectOrder0.xml
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalCorrectOrder1.xml
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalReinstall0.xml
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalReinstall1.xml
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalWrongOrder0.xml
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalWrongOrder1.xml
Modified:
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/model/InjectOption.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/model/MicrocontainerConstants.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java
Log:
Port JBMICROCONT-356 to 2.0.0 branch.

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/model/InjectOption.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/model/InjectOption.java	2008-09-24 14:19:44 UTC (rev 78823)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/model/InjectOption.java	2008-09-24 14:25:18 UTC (rev 78824)
@@ -32,7 +32,8 @@
 public enum InjectOption
 {
    STRICT(MicrocontainerConstants.STRICT),
-   CALLBACK(MicrocontainerConstants.CALLBACK);
+   CALLBACK(MicrocontainerConstants.CALLBACK),
+   OPTIONAL(MicrocontainerConstants.OPTIONAL);
 
    private String optionString;
 

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/model/MicrocontainerConstants.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/model/MicrocontainerConstants.java	2008-09-24 14:19:44 UTC (rev 78823)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/model/MicrocontainerConstants.java	2008-09-24 14:25:18 UTC (rev 78824)
@@ -50,6 +50,7 @@
    // Inject Option
    String STRICT = "Strict";
    String CALLBACK = "Callback";
+   String OPTIONAL = "Optional";
 
    // Autowire
    String NONE = "None";

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java	2008-09-24 14:19:44 UTC (rev 78823)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java	2008-09-24 14:25:18 UTC (rev 78824)
@@ -57,6 +57,11 @@
    protected transient KernelControllerContext context;
 
    /**
+    * The when required, keep it for optional handling
+    */
+   protected transient ControllerState optionalWhenRequired;
+
+   /**
     * The property name
     */
    protected String property;
@@ -179,6 +184,18 @@
       return (lookup != null);
    }
 
+   protected boolean isOptional()
+   {
+      return false;
+   }
+
+   protected void addOptionalDependency(Controller controller, ControllerContext lookup)
+   {
+      OptionalDependencyItem dependency = new OptionalDependencyItem(context.getName(), lookup.getName(), lookup.getState());
+      context.getDependencyInfo().addIDependOn(dependency);
+      lookup.getDependencyInfo().addDependsOnMe(dependency);
+   }
+
    public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable
    {
       ControllerState state = dependentState;
@@ -194,6 +211,8 @@
 
       if (lookup == null)
          return null;
+      else if (isOptional())
+         addOptionalDependency(controller, lookup);
 
       Object result;
       if (property != null && property.length() > 0)
@@ -224,18 +243,22 @@
    public void initialVisit(MetaDataVisitor visitor)
    {
       context = visitor.getControllerContext();
+
+      ControllerState whenRequired = whenRequiredState;
+      if (whenRequired == null)
+      {
+         whenRequired = visitor.getContextState();
+      }
+
+      if (isOptional())
+         optionalWhenRequired = whenRequired;               
+
       // used for sub class optional handling
       if (addDependencyItem())
       {
          Object name = context.getName();
          Object iDependOn = getUnderlyingValue();
 
-         ControllerState whenRequired = whenRequiredState;
-         if (whenRequired == null)
-         {
-            whenRequired = visitor.getContextState();
-         }
-
          DependencyItem item = new AbstractDependencyItem(name, iDependOn, whenRequired, dependentState);
          visitor.addDependency(item);
       }
@@ -257,4 +280,16 @@
    {
       return (AbstractDependencyValueMetaData)super.clone();
    }
+
+   /**
+    * Optional depedency item.
+    */
+   protected class OptionalDependencyItem extends AbstractDependencyItem
+   {
+      public OptionalDependencyItem(Object name, Object iDependOn, ControllerState dependentState)
+      {
+         super(name, iDependOn, optionalWhenRequired, dependentState);
+         setResolved(true);
+      }
+   }
 }

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java	2008-09-24 14:19:44 UTC (rev 78823)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java	2008-09-24 14:25:18 UTC (rev 78824)
@@ -143,13 +143,19 @@
    {
       boolean lookupExists = super.isLookupValid(lookup);
       boolean isCallback = InjectOption.CALLBACK.equals(injectionOption);
+      boolean isOptional = InjectOption.OPTIONAL.equals(injectionOption);
       if (lookupExists == false && isCallback)
       {
          addInstallItem(getUnderlyingValue());
       }
-      return lookupExists || isCallback;
+      return lookupExists || isCallback || isOptional;
    }
 
+   protected boolean isOptional()
+   {
+      return InjectOption.OPTIONAL.equals(injectionOption);
+   }
+
    @SuppressWarnings({"unchecked", "deprecation"})
    public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable
    {
@@ -179,7 +185,9 @@
             }
             else
             {
-               addInstallItem(info.getType());
+               if (InjectOption.CALLBACK.equals(injectionOption))
+                  addInstallItem(info.getType());
+
                return null;
             }
          }

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/support/SimpleBeanDelegate.java (from rev 78823, projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/dependency/support/SimpleBeanDelegate.java)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/support/SimpleBeanDelegate.java	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/support/SimpleBeanDelegate.java	2008-09-24 14:25:18 UTC (rev 78824)
@@ -0,0 +1,46 @@
+/*
+* 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;
+
+public class SimpleBeanDelegate
+{
+   private SimpleBean delegate;
+
+   public SimpleBeanDelegate()
+   {
+   }
+
+   public SimpleBeanDelegate(SimpleBean delegate)
+   {
+      this.delegate = delegate;
+   }
+
+   public SimpleBean getDelegate()
+   {
+      return delegate;
+   }
+
+   public void setDelegate(SimpleBean delegate)
+   {
+      this.delegate = delegate;
+   }
+}
\ No newline at end of file

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/support/SimpleBeanDelegateAnnotated.java (from rev 78823, projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/dependency/support/SimpleBeanDelegateAnnotated.java)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/support/SimpleBeanDelegateAnnotated.java	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/support/SimpleBeanDelegateAnnotated.java	2008-09-24 14:25:18 UTC (rev 78824)
@@ -0,0 +1,34 @@
+/*
+* 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 org.jboss.beans.metadata.api.annotations.Inject;
+import org.jboss.beans.metadata.api.model.InjectOption;
+
+public class SimpleBeanDelegateAnnotated extends SimpleBeanDelegate
+{
+   @Inject(bean = "Name2", option = InjectOption.OPTIONAL)
+   public void setDelegate(SimpleBean delegate)
+   {
+      super.setDelegate(delegate);
+   }
+}
\ No newline at end of file

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java	2008-09-24 14:19:44 UTC (rev 78823)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java	2008-09-24 14:25:18 UTC (rev 78824)
@@ -117,6 +117,9 @@
       suite.addTest(ScopedDuplicateAliasTestCase.suite());
       suite.addTest(ScopedDuplicateAliasXMLTestCase.suite());
       suite.addTest(ScopedDuplicateAliasAnnotationTestCase.suite());
+      suite.addTest(OptionalTestCase.suite());
+      suite.addTest(OptionalXMLTestCase.suite());
+      suite.addTest(OptionalAnnotationTestCase.suite());
       return suite;
    }
 }

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalAnnotationTestCase.java (from rev 78823, projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalAnnotationTestCase.java)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalAnnotationTestCase.java	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalAnnotationTestCase.java	2008-09-24 14:25:18 UTC (rev 78824)
@@ -0,0 +1,49 @@
+/*
+* 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;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.test.kernel.dependency.support.SimpleBeanDelegateAnnotated;
+
+/**
+ * Optional tests.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class OptionalAnnotationTestCase extends OptionalTestCase
+{
+   public OptionalAnnotationTestCase(String name) throws Throwable
+   {
+      super(name);
+   }
+
+   public static Test suite()
+   {
+      return suite(OptionalAnnotationTestCase.class);
+   }
+
+   protected AbstractBeanMetaData buildRepository()
+   {
+      return new AbstractBeanMetaData("Name1", SimpleBeanDelegateAnnotated.class.getName());
+   }
+}
\ No newline at end of file

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalTestCase.java (from rev 78823, projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalTestCase.java)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalTestCase.java	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalTestCase.java	2008-09-24 14:25:18 UTC (rev 78824)
@@ -0,0 +1,151 @@
+/*
+* 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;
+import org.jboss.beans.metadata.api.model.InjectOption;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
+import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.test.kernel.dependency.support.SimpleBean;
+import org.jboss.test.kernel.dependency.support.SimpleBeanDelegate;
+import org.jboss.test.kernel.dependency.support.SimpleBeanImpl;
+
+/**
+ * Optional tests.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class OptionalTestCase extends OldAbstractKernelDependencyTest
+{
+   public OptionalTestCase(String name) throws Throwable
+   {
+      super(name);
+   }
+
+   public OptionalTestCase(String name, boolean xmltest) throws Throwable
+   {
+      super(name, xmltest);
+   }
+
+   public static Test suite()
+   {
+      return suite(OptionalTestCase.class);
+   }
+
+   public void testOptionalCorrectOrder() throws Throwable
+   {
+      optionalCorrectOrder();
+
+      ControllerContext context1 = assertInstall(0, "Name1");
+      SimpleBeanDelegate repository = (SimpleBeanDelegate)context1.getTarget();
+      assertNotNull(repository);
+      assertNull(repository.getDelegate());
+
+      ControllerContext context2 = assertInstall(1, "Name2");
+      SimpleBean bean = (SimpleBean)context2.getTarget();
+      assertNotNull(bean);
+
+      // still null
+      assertNull(repository.getDelegate());
+   }
+
+   protected void optionalCorrectOrder() throws Throwable
+   {
+      buildMetaData(buildRepository());
+   }
+
+   public void testOptionalWrongOrder() throws Throwable
+   {
+      optionalWrongOrder();
+
+      ControllerContext context2 = assertInstall(1, "Name2");
+      SimpleBean bean = (SimpleBean)context2.getTarget();
+      assertNotNull(bean);
+
+      ControllerContext context1 = assertInstall(0, "Name1");
+      SimpleBeanDelegate repository = (SimpleBeanDelegate)context1.getTarget();
+      assertNotNull(repository);
+      assertSame(bean, repository.getDelegate());
+   }
+
+   protected void optionalWrongOrder() throws Throwable
+   {
+      buildMetaData(buildRepository());
+   }
+
+   public void testOptionalReinstall() throws Throwable
+   {
+      optionalReinstall();
+
+      ControllerContext context1 = assertInstall(0, "Name1");
+      SimpleBeanDelegate repository = (SimpleBeanDelegate)context1.getTarget();
+      assertNotNull(repository);
+      assertNull(repository.getDelegate());
+
+      ControllerContext context2 = assertInstall(1, "Name2");
+      SimpleBean bean = (SimpleBean)context2.getTarget();
+      assertNotNull(bean);
+
+      // still null
+      assertNull(repository.getDelegate());
+
+      assertUninstall("Name1");
+      assertEquals(ControllerState.ERROR, context1.getState());
+
+      context1 = assertInstall(0, "Name1");
+      repository = (SimpleBeanDelegate)context1.getTarget();
+      assertNotNull(repository);
+      assertSame(bean, repository.getDelegate());
+
+      assertUninstall("Name2");
+      assertEquals(ControllerState.ERROR, context2.getState());
+      // should be unwinded
+      assertEquals(ControllerState.INSTANTIATED, context1.getState());            
+      assertNull(repository.getDelegate());
+   }
+
+   protected void optionalReinstall() throws Throwable
+   {
+      buildMetaData(buildRepository());
+   }
+
+   protected void buildMetaData(BeanMetaData repository)
+   {
+      setBeanMetaDatas(new BeanMetaData[]{
+            repository,
+            new AbstractBeanMetaData("Name2", SimpleBeanImpl.class.getName()),
+      });
+   }
+
+   protected AbstractBeanMetaData buildRepository()
+   {
+      AbstractBeanMetaData repository = new AbstractBeanMetaData("Name1", SimpleBeanDelegate.class.getName());
+      AbstractInjectionValueMetaData vmd = new AbstractInjectionValueMetaData("Name2");
+      vmd.setInjectionOption(InjectOption.OPTIONAL);
+      repository.addProperty(new AbstractPropertyMetaData("delegate", vmd));
+      return repository;
+   }
+}
\ No newline at end of file

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalXMLTestCase.java (from rev 78823, projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalXMLTestCase.java)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalXMLTestCase.java	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/dependency/test/OptionalXMLTestCase.java	2008-09-24 14:25:18 UTC (rev 78824)
@@ -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;
+
+/**
+ * Optional tests.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class OptionalXMLTestCase extends OptionalTestCase
+{
+   public OptionalXMLTestCase(String name) throws Throwable
+   {
+      super(name, true);
+   }
+
+   public static Test suite()
+   {
+      return suite(OptionalXMLTestCase.class);
+   }
+}
\ No newline at end of file

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalCorrectOrder0.xml (from rev 78823, projects/microcontainer/trunk/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalCorrectOrder0.xml)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalCorrectOrder0.xml	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalCorrectOrder0.xml	2008-09-24 14:25:18 UTC (rev 78824)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+            xmlns="urn:jboss:bean-deployer:2.0">
+   <bean name="Name1" class="org.jboss.test.kernel.dependency.support.SimpleBeanDelegate">
+     <property name="delegate"><inject bean="Name2" option="Optional"/></property>
+   </bean>
+</deployment>

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalCorrectOrder1.xml (from rev 78823, projects/microcontainer/trunk/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalCorrectOrder1.xml)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalCorrectOrder1.xml	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalCorrectOrder1.xml	2008-09-24 14:25:18 UTC (rev 78824)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+            xmlns="urn:jboss:bean-deployer:2.0">
+   <bean name="Name2" class="org.jboss.test.kernel.dependency.support.SimpleBeanImpl">
+      <property name="string">String1</property>
+   </bean>
+</deployment>

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalReinstall0.xml (from rev 78823, projects/microcontainer/trunk/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalReinstall0.xml)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalReinstall0.xml	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalReinstall0.xml	2008-09-24 14:25:18 UTC (rev 78824)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+            xmlns="urn:jboss:bean-deployer:2.0">
+   <bean name="Name1" class="org.jboss.test.kernel.dependency.support.SimpleBeanDelegate">
+     <property name="delegate"><inject bean="Name2" option="Optional"/></property>
+   </bean>
+</deployment>

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalReinstall1.xml (from rev 78823, projects/microcontainer/trunk/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalReinstall1.xml)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalReinstall1.xml	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalReinstall1.xml	2008-09-24 14:25:18 UTC (rev 78824)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+            xmlns="urn:jboss:bean-deployer:2.0">
+   <bean name="Name2" class="org.jboss.test.kernel.dependency.support.SimpleBeanImpl">
+      <property name="string">String1</property>
+   </bean>
+</deployment>

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalWrongOrder0.xml (from rev 78823, projects/microcontainer/trunk/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalWrongOrder0.xml)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalWrongOrder0.xml	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalWrongOrder0.xml	2008-09-24 14:25:18 UTC (rev 78824)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+            xmlns="urn:jboss:bean-deployer:2.0">
+   <bean name="Name1" class="org.jboss.test.kernel.dependency.support.SimpleBeanDelegate">
+     <property name="delegate"><inject bean="Name2" option="Optional"/></property>
+   </bean>
+</deployment>

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalWrongOrder1.xml (from rev 78823, projects/microcontainer/trunk/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalWrongOrder1.xml)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalWrongOrder1.xml	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/dependency/test/testOptionalWrongOrder1.xml	2008-09-24 14:25:18 UTC (rev 78824)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+            xmlns="urn:jboss:bean-deployer:2.0">
+   <bean name="Name2" class="org.jboss.test.kernel.dependency.support.SimpleBeanImpl">
+      <property name="string">String1</property>
+   </bean>
+</deployment>




More information about the jboss-cvs-commits mailing list