[jboss-cvs] JBossAS SVN: r87586 - in projects/microcontainer/branches/Branch_2_0: aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans and 19 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Apr 20 12:28:53 EDT 2009


Author: alesj
Date: 2009-04-20 12:28:53 -0400 (Mon, 20 Apr 2009)
New Revision: 87586

Added:
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MCAnnotations.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AnnotationPluginFilter.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodAnnotationPluginFilter.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/PropertyAnnotationPluginFilter.java
Modified:
   projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/GenericBeanAspectFactory.java
   projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MixinData.java
   projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/aop/junit/SchemaPrinter.java
   projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/aop/junit/TestSchemaResolver.java
   projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/beans/test/AspectFactoryWithDependencyTest.java
   projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/support/ParentLastURLClassLoader.java
   projects/microcontainer/branches/Branch_2_0/build/
   projects/microcontainer/branches/Branch_2_0/build/pom.xml
   projects/microcontainer/branches/Branch_2_0/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java
   projects/microcontainer/branches/Branch_2_0/dependency/src/test/java/org/jboss/test/dependency/controller/test/AbstractDependencyTest.java
   projects/microcontainer/branches/Branch_2_0/dependency/src/test/java/org/jboss/test/dependency/controller/test/RecursiveControllerActionTestCase.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CommonAnnotationAdapter.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/config/test/BeanMetaDataBuilderTestCase.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/deployment/support/NullifyTestBean1.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/inject/test/InjectionValueCallbackTestCase.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/controller/test/InstallErrorTestCase_BeanNoInstall.xml
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/controller/test/InstallErrorTestCase_BeanWithSupply.xml
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/dependency/test/InstallDependencyXMLTestCase2.xml
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/dependency/test/InstallSelfDependencyXMLTestCase1.xml
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/BeanMetaDataWithClassloaderTestCase.xml
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/SuperDemandAnnotationTestCase.xml
   projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/annotations/test/override/testSetsOverride.xml
   projects/microcontainer/branches/Branch_2_0/pom.xml
   projects/microcontainer/branches/Branch_2_0/spring-int/src/test/java/org/jboss/test/spring/test/TempSpringMicrocontainerTestDelegate.java
   projects/microcontainer/branches/Branch_2_0/spring-int/src/test/java/org/jboss/test/spring/test/TempSpringSchemaTestDelegate.java
Log:
Merge with trunk.
Still leaving jmx out.

Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/GenericBeanAspectFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/GenericBeanAspectFactory.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/GenericBeanAspectFactory.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -25,12 +25,8 @@
 import org.jboss.aop.InstanceAdvisor;
 import org.jboss.aop.advice.GenericAspectFactory;
 import org.jboss.aop.joinpoint.Joinpoint;
-import org.jboss.beans.metadata.plugins.AbstractClassLoaderMetaData;
-import org.jboss.beans.metadata.plugins.AbstractValueMetaData;
 import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
-import org.jboss.beans.metadata.spi.ValueMetaData;
 import org.jboss.beans.metadata.spi.factory.BeanFactory;
-import org.jboss.kernel.plugins.config.Configurator;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.kernel.spi.dependency.KernelControllerContextAware;
 import org.jboss.logging.Logger;

Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MixinData.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MixinData.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MixinData.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -23,12 +23,14 @@
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
+ at XmlType(propOrder= {})
 public class MixinData
 {
    String mixin;

Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/aop/junit/SchemaPrinter.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/aop/junit/SchemaPrinter.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/aop/junit/SchemaPrinter.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -51,7 +51,7 @@
    @SuppressWarnings("unchecked")
    public static String printSchema(SchemaBinding schemaBinding)
    {
-      String nsURI = (String) schemaBinding.getNamespaces().iterator().next();
+      String nsURI = schemaBinding.getNamespaces().iterator().next();
       StringBuilder builder = new StringBuilder();
       builder.append("<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\n");
       if (XMLConstants.NULL_NS_URI.equals(nsURI) == false)

Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/aop/junit/TestSchemaResolver.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/aop/junit/TestSchemaResolver.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/aop/junit/TestSchemaResolver.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -49,7 +49,7 @@
    public void addSchemaBinding(SchemaBinding schemaBinding)
    {
       schemaBinding.setSchemaResolver(this);
-      String nsURI = (String) schemaBinding.getNamespaces().iterator().next();
+      String nsURI = schemaBinding.getNamespaces().iterator().next();
       bindings.put(nsURI, schemaBinding);
       if (log.isTraceEnabled())
       {

Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/beans/test/AspectFactoryWithDependencyTest.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/beans/test/AspectFactoryWithDependencyTest.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/beans/test/AspectFactoryWithDependencyTest.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -51,7 +51,6 @@
          {
             deploy(getFile1());
             
-            POJO dependency = (POJO)getBean("Dependency");
             DependencyFactoryAspect.invoked = null;
             POJO pojo = (POJO)getBean("Bean");
             int ret = pojo.method(2);
@@ -76,7 +75,7 @@
    {
       try
       {
-         Object o = getBean(name);
+         getBean(name);
          fail("Should not have found '" + name + "'");
       }
       catch (Exception expected)

Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/support/ParentLastURLClassLoader.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/support/ParentLastURLClassLoader.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/support/ParentLastURLClassLoader.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -26,7 +26,6 @@
 import java.io.InputStream;
 import java.net.URL;
 import java.net.URLClassLoader;
-import java.net.URLConnection;
 
 /**
  * 
@@ -77,7 +76,7 @@
       }
       String resourceName = name.replace('.', '/') + ".class";
       URL mine = delegate.findResource(resourceName);
-      URL parents = parent.getResource(resourceName);
+      parent.getResource(resourceName);
       if (mine == null || mine.equals(parent))
       {
          return delegate.loadClass(name);
@@ -92,7 +91,6 @@
    private byte[] loadBytes(String name, String resourceName)
    {
       InputStream in = delegate.getResourceAsStream(resourceName);
-      byte[] bytes = null;
       try
       {
          ByteArrayOutputStream baos = new ByteArrayOutputStream();


Property changes on: projects/microcontainer/branches/Branch_2_0/build
___________________________________________________________________
Name: svn:ignore
   - local.properties
output
target
jboss-microcontainer.iml

   + local.properties
output
target
jboss-microcontainer.iml
jboss-microcontainer-dist.iml


Modified: projects/microcontainer/branches/Branch_2_0/build/pom.xml
===================================================================
--- projects/microcontainer/branches/Branch_2_0/build/pom.xml	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/build/pom.xml	2009-04-20 16:28:53 UTC (rev 87586)
@@ -25,32 +25,37 @@
     and configuration.
   </description>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>2.2-beta-2</version>
-        <executions>
-          <execution>
-            <id>make-assembly</id>
-            <phase>package</phase>
-            <goals>
-              <goal>attached</goal>
-            </goals>
-            <configuration>
-              <finalName>jboss-microcontainer-${project.version}</finalName>
-              <descriptors>
-                <descriptor>src/assembly/dist.xml</descriptor>
-                <descriptor>src/assembly/dist-with-deps.xml</descriptor>
-                <descriptor>src/assembly/src.xml</descriptor>
-              </descriptors>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
+  <profiles>
+    <profile>
+      <id>dist</id>
+        <build>
+          <plugins>
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-assembly-plugin</artifactId>
+              <version>2.2-beta-2</version>
+              <executions>
+                <execution>
+                  <id>make-assembly</id>
+                  <phase>package</phase>
+                  <goals>
+                    <goal>attached</goal>
+                  </goals>
+                  <configuration>
+                    <finalName>jboss-microcontainer-${project.version}</finalName>
+                    <descriptors>
+                      <descriptor>src/assembly/dist.xml</descriptor>
+                      <descriptor>src/assembly/dist-with-deps.xml</descriptor>
+                      <descriptor>src/assembly/src.xml</descriptor>
+                    </descriptors>
+                  </configuration>
+                </execution>
+              </executions>
+            </plugin>
+          </plugins>
+        </build>
+    </profile>
+  </profiles>
   
   <dependencies>
     <dependency>

Modified: projects/microcontainer/branches/Branch_2_0/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -1039,6 +1039,7 @@
       Set<ControllerContext> resolved = resolveContexts(unresolved, toState, trace);
       if (resolved.isEmpty() == false)
       {
+         Set<ControllerContext> toProcess = new HashSet<ControllerContext>();
          for (ControllerContext context : resolved)
          {
             Object name = context.getName();
@@ -1054,22 +1055,54 @@
             }
             else
             {
-               try
+               toProcess.add(context);
+            }
+         }
+         try
+         {
+            if (toProcess.isEmpty() == false)
+            {
+               for (Iterator<ControllerContext> iter = toProcess.iterator(); iter.hasNext(); )
                {
-                  if (trace)
-                     log.trace("Dependencies resolved " + name + " for " + toState.getStateString());
+                  ControllerContext context = iter.next();
+                  iter.remove();
+                  Object name = context.getName();
+                  try
+                  {
+                     if (fromState.equals(context.getState()) == false)
+                     {
+                        if (trace)
+                           log.trace("Skipping already installed " + name + " for " + toState.getStateString());
+                     }
+                     else
+                     {
+                        if (trace)
+                           log.trace("Dependencies resolved " + name + " for " + toState.getStateString());
 
-                  if (incrementState(context, trace))
+                        if (incrementState(context, trace))
+                        {
+                           resolutions = true;
+                           if (trace)
+                              log.trace(name + " " + toState.getStateString());
+                        }
+                        
+                     }
+                  }
+                  finally
                   {
-                     resolutions = true;
-                     if (trace)
-                        log.trace(name + " " + toState.getStateString());
+                     installing.remove(context);
                   }
                }
-               finally
-               {
+            }
+         }
+         finally
+         {
+            // If we get here something has gone seriously wrong,
+            // but try to tidyup as much state as possible
+            if (toProcess.isEmpty() == false)
+            {
+               for (ControllerContext context : toProcess)
                   installing.remove(context);
-               }
             }
          }
       }

Modified: projects/microcontainer/branches/Branch_2_0/dependency/src/test/java/org/jboss/test/dependency/controller/test/AbstractDependencyTest.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/dependency/src/test/java/org/jboss/test/dependency/controller/test/AbstractDependencyTest.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/dependency/src/test/java/org/jboss/test/dependency/controller/test/AbstractDependencyTest.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -60,7 +60,7 @@
       super.setUp();
       controller = new AbstractController();
       Ordering.resetOrder();
-      enableTrace("org.jboss.dependency");
+      //enableTrace("org.jboss.dependency");
    }
    
    protected ControllerContext assertInstall(TestDelegate delegate) throws Throwable

Modified: projects/microcontainer/branches/Branch_2_0/dependency/src/test/java/org/jboss/test/dependency/controller/test/RecursiveControllerActionTestCase.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/dependency/src/test/java/org/jboss/test/dependency/controller/test/RecursiveControllerActionTestCase.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/dependency/src/test/java/org/jboss/test/dependency/controller/test/RecursiveControllerActionTestCase.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -115,13 +115,41 @@
       assertContext(context.child, ControllerState.INSTALLED);
    }
    
+   public void testInstallMany() throws Throwable
+   {
+      TestDelegate[] delegates = new TestDelegate[3];
+      RecursiveControllerContext[] contexts = new RecursiveControllerContext[delegates.length];
+      TestDelegate other = new TestDelegate("Other ");
+      for (int i = 0; i < delegates.length; ++i)
+      {
+         delegates[i] = new TestDelegate("InstallTestRecursive " + i);
+         contexts[i] = new RecursiveControllerContext(delegates[i], this);
+         DependencyItem item = new AbstractDependencyItem(delegates[i].getName(), other.getName(), ControllerState.CREATE, ControllerState.CONFIGURED);
+         contexts[i].getDependencyInfo().addIDependOn(item);
+         assertInstall(contexts[i], ControllerState.CONFIGURED);
+      }
+      
+      TestControllerContext otherContext = new TestControllerContext(other);
+      assertInstall(otherContext, ControllerState.INSTALLED);
+
+      for (int i = 0; i < delegates.length; ++i)
+      {
+         assertContext(contexts[i], ControllerState.INSTALLED);
+      }
+   }
+   
    public void installChild(RecursiveControllerContext context) throws Throwable
    {
+      if (++depth > 1)
+         throw new IllegalStateException("Should not recurse depth=" + depth);
       TestDelegate delegate = new TestDelegate(context.getName() + "Child");
       context.child = new RecursiveControllerContext(delegate, null);
       assertInstall(context.child, ControllerState.INSTALLED);
+      depth--;
    }
    
+   int depth = 0;
+   
    public void uninstallChild(RecursiveControllerContext context)
    {
       try

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MCAnnotations.java (from rev 87584, projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MCAnnotations.java)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MCAnnotations.java	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MCAnnotations.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.beans.metadata.api.annotations;
+
+import java.lang.annotation.Annotation;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Possible IoC annotations.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+ at Target(ElementType.TYPE)
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface MCAnnotations
+{
+   /**
+    * Possible annotation classes.
+    *
+    * @return the possible annotation classes
+    */
+   Class<? extends Annotation>[] value() default {};
+
+   /**
+    * Should we ignore IoC annotations lookup.
+    *
+    * @return true if we should ignore IoC annotations scan, false otherwise
+    */
+   boolean ignore() default false;
+}

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -33,6 +33,7 @@
 import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.beans.metadata.api.model.AutowireType;
 import org.jboss.beans.metadata.api.model.InjectOption;
+import org.jboss.beans.metadata.api.model.FromContext;
 import org.jboss.beans.metadata.plugins.AbstractAnnotationMetaData;
 import org.jboss.beans.metadata.plugins.AbstractArrayMetaData;
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
@@ -1063,6 +1064,17 @@
       return new AbstractInjectionValueMetaData();
    }
 
+   /**
+    * Create abstract dependency metadata.
+    *
+    * @param name the name
+    * @return abstract dependency value metadata
+    */
+   protected AbstractInjectionValueMetaData createAbstractInjectionValueMetaData(Object name)
+   {
+      return new AbstractInjectionValueMetaData(name);
+   }
+
    public ValueMetaData createContextualInject(ControllerState whenRequired, ControllerState dependentState, AutowireType autowire, InjectOption option, SearchInfo search)
    {
       AbstractInjectionValueMetaData result = createAbstractInjectionValueMetaData();
@@ -1079,6 +1091,17 @@
       return result;
    }
 
+   public ValueMetaData createFromContextInject(FromContext fromContext, Object contextName, ControllerState dependentState, SearchInfo search)
+   {
+      AbstractInjectionValueMetaData result = createAbstractInjectionValueMetaData(contextName);
+      result.setFromContext(fromContext);
+      if (dependentState != null)
+         result.setDependentState(dependentState);
+      if (search != null)
+         result.setSearch(search);
+      return result;
+   }
+
    @SuppressWarnings("unchecked")
    public Collection<ValueMetaData> createCollection(String collectionType, String elementType)
    {

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -30,6 +30,7 @@
 
 import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.beans.metadata.api.model.AutowireType;
+import org.jboss.beans.metadata.api.model.FromContext;
 import org.jboss.beans.metadata.api.model.InjectOption;
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.builder.BeanMetaDataBuilderFactory;
@@ -1722,6 +1723,53 @@
    public abstract ValueMetaData createContextualInject(ControllerState whenRequired, ControllerState dependentState, AutowireType autowire, InjectOption option, SearchInfo search);
 
    /**
+    * Create from context injection.
+    *
+    * @param fromContext from context enum
+    * @return the from context injection
+    */
+   public ValueMetaData createFromContextInject(FromContext fromContext)
+   {
+      return createFromContextInject(fromContext, null);
+   }
+
+   /**
+    * Create from context injection.
+    *
+    * @param fromContext from context enum
+    * @param contextName the context name
+    * @return the from context injection
+    */
+   public ValueMetaData createFromContextInject(FromContext fromContext, Object contextName)
+   {
+      return createFromContextInject(fromContext, contextName, null);
+   }
+
+   /**
+    * Create from context injection.
+    *
+    * @param fromContext from context enum
+    * @param contextName the context name
+    * @param dependentState the state of the injected context
+    * @return the from context injection
+    */
+   public ValueMetaData createFromContextInject(FromContext fromContext, Object contextName, ControllerState dependentState)
+   {
+      return createFromContextInject(fromContext, contextName, dependentState, null);
+   }
+
+   /**
+    * Create from context injection.
+    *
+    * @param fromContext from context enum
+    * @param contextName the context name
+    * @param dependentState the state of the injected context
+    * @param search the search info
+    * @return the from context injection
+    */
+   public abstract ValueMetaData createFromContextInject(FromContext fromContext, Object contextName, ControllerState dependentState, SearchInfo search);
+
+   /**
     * Create a new collection
     * 
     * @return the collection

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AnnotationPluginFilter.java (from rev 87584, projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AnnotationPluginFilter.java)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AnnotationPluginFilter.java	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AnnotationPluginFilter.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.kernel.plugins.annotations;
+
+/**
+ * Filter annotation plugins.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+interface AnnotationPluginFilter
+{
+   /**
+    * Do we accept the plugin.
+    *
+    * @param plugin the current plugin
+    * @return true if we match the plugin, false otherwise
+    */
+   boolean accept(MetaDataAnnotationPlugin plugin);
+}

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CommonAnnotationAdapter.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CommonAnnotationAdapter.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CommonAnnotationAdapter.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -25,11 +25,19 @@
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import org.jboss.beans.info.spi.BeanInfo;
 import org.jboss.beans.info.spi.PropertyInfo;
+import org.jboss.beans.metadata.api.annotations.MCAnnotations;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.spi.MetaData;
 import org.jboss.metadata.spi.signature.ConstructorSignature;
@@ -41,6 +49,8 @@
 import org.jboss.reflect.spi.ConstructorInfo;
 import org.jboss.reflect.spi.FieldInfo;
 import org.jboss.reflect.spi.MethodInfo;
+import org.jboss.reflect.spi.TypeInfoFactory;
+import org.jboss.reflect.spi.TypeInfo;
 
 /**
  * Common bean annotation handler.
@@ -51,14 +61,18 @@
  */
 public abstract class CommonAnnotationAdapter<T extends MetaDataAnnotationPlugin<?, ?>, U>
 {
+   /** The log */
    protected Logger log = Logger.getLogger(getClass());
 
-   protected Set<T> classAnnotationPlugins = new HashSet<T>();
-   protected Set<T> constructorAnnotationPlugins = new HashSet<T>();
-   protected Set<T> propertyAnnotationPlugins = new HashSet<T>();
-   protected Set<T> methodAnnotationPlugins = new HashSet<T>();
-   protected Set<T> fieldAnnotationPlugins = new HashSet<T>();
+   /** The annotation plugins */
+   private final Map<ElementType, Set<T>> pluginsMap = new HashMap<ElementType, Set<T>>();
 
+   /** The property annotation plugin filter */
+   private static final AnnotationPluginFilter PROPERTY_FILTER = new PropertyAnnotationPluginFilter();
+
+   /** The method annotation plugin filter */
+   private static final AnnotationPluginFilter METHOD_FILTER = new MethodAnnotationPluginFilter();
+
    /**
     * Add the annotation plugin.
     * Breaks down the plugin usage into
@@ -66,7 +80,6 @@
     *
     * @param plugin the annotation plugin
     */
-   @SuppressWarnings("unchecked")
    public void addAnnotationPlugin(T plugin)
    {
       if (plugin == null)
@@ -81,29 +94,23 @@
       if (annotation.getAnnotation(Retention.class) == null)
          log.warn("Annotation " + annotation + " missing @Retention annotation!");
 
-      Set supported = plugin.getSupportedTypes();
+      Set<ElementType> supported = plugin.getSupportedTypes();
       if (supported == null || supported.isEmpty())
          throw new IllegalArgumentException("Null or empty support types: " + plugin);
 
-      if (supported.contains(ElementType.TYPE))
+      synchronized (pluginsMap)
       {
-         classAnnotationPlugins.add(plugin);
+         for (ElementType type : supported)
+         {
+            Set<T> plugins = pluginsMap.get(type);
+            if (plugins == null)
+            {
+               plugins = new HashSet<T>();
+               pluginsMap.put(type, plugins);
+            }
+            plugins.add(plugin);
+         }
       }
-      if (supported.contains(ElementType.CONSTRUCTOR))
-      {
-         constructorAnnotationPlugins.add(plugin);
-      }
-      if (supported.contains(ElementType.METHOD))
-      {
-         if (plugin instanceof PropertyAware)
-            propertyAnnotationPlugins.add(plugin);
-         else
-            methodAnnotationPlugins.add(plugin);
-      }
-      if (supported.contains(ElementType.FIELD))
-      {
-         fieldAnnotationPlugins.add(plugin);
-      }
    }
 
    /**
@@ -120,25 +127,20 @@
       if (supported == null || supported.isEmpty())
          throw new IllegalArgumentException("Null or empty support types: " + plugin);
 
-      if (supported.contains(ElementType.TYPE))
+      synchronized (pluginsMap)
       {
-         classAnnotationPlugins.remove(plugin);
+         for (ElementType type : supported)
+         {
+            Set<T> plugins = pluginsMap.get(type);
+            if (plugins != null)
+            {
+               plugins.remove(plugin);
+
+               if (plugins.isEmpty())
+                  pluginsMap.remove(type);
+            }
+         }
       }
-      if (supported.contains(ElementType.CONSTRUCTOR))
-      {
-         constructorAnnotationPlugins.remove(plugin);
-      }
-      if (supported.contains(ElementType.METHOD))
-      {
-         if (plugin instanceof PropertyAware)
-            propertyAnnotationPlugins.remove(plugin);
-         else
-            methodAnnotationPlugins.remove(plugin);
-      }
-      if (supported.contains(ElementType.FIELD))
-      {
-         fieldAnnotationPlugins.remove(plugin);
-      }
    }
 
    /**
@@ -172,6 +174,55 @@
    protected abstract Object getName(U handle);
 
    /**
+    * Get plugins.
+    *
+    * @param type the element type to match
+    * @param filter possible plugins filter
+    * @param annotationClasses possible annotations
+    * @return iterable matching plugins
+    */
+   protected Iterable<T> getPlugins(ElementType type, AnnotationPluginFilter filter, Collection<Class<? extends Annotation>> annotationClasses)
+   {
+      Set<T> plugins;
+      synchronized (pluginsMap)
+      {
+         plugins = pluginsMap.get(type);
+      }
+      
+      if (plugins == null || plugins.isEmpty())
+         return Collections.emptySet();
+
+      if (filter != null)
+      {
+         List<T> result = new ArrayList<T>();
+         for (T plugin : plugins)
+         {
+            if (filter.accept(plugin) && (annotationClasses == null || annotationClasses.contains(plugin.getAnnotation())))
+            {
+               result.add(plugin);
+            }
+         }
+         return result;
+      }
+      else if (annotationClasses != null)
+      {
+         List<T> result = new ArrayList<T>();
+         for (T plugin : plugins)
+         {
+            if (annotationClasses.contains(plugin.getAnnotation()))
+            {
+               result.add(plugin);
+            }
+         }
+         return result;
+      }
+      else
+      {
+         return plugins;
+      }
+   }
+
+   /**
     * Handle apply or cleanup of annotations.
     *
     * @param info the bean info
@@ -193,9 +244,21 @@
       if (trace)
          log.trace(getName(handle) + " apply annotations");
 
+      // limit the annotations
+      MCAnnotations annotations = retrieval.getAnnotation(MCAnnotations.class);
+      if (annotations != null && (annotations.ignore() || annotations.value().length == 0))
+      {
+         if (trace)
+            log.trace("Ignoring annotations lookup: " + annotations);
+
+         return;
+      }
+
+      Collection<Class<? extends Annotation>> annotationClasses = (annotations != null ? Arrays.asList(annotations.value()) : null);
+
       // class
       ClassInfo classInfo = info.getClassInfo();
-      for(T plugin : classAnnotationPlugins)
+      for(T plugin : getPlugins(ElementType.TYPE, null, annotationClasses))
       {
          if (isApplyPhase)
             applyPlugin(plugin, classInfo, retrieval, handle);
@@ -213,7 +276,7 @@
             MetaData cmdr = retrieval.getComponentMetaData(cis);
             if (cmdr != null)
             {
-               for(T plugin : constructorAnnotationPlugins)
+               for(T plugin : getPlugins(ElementType.CONSTRUCTOR, null, annotationClasses))
                {
                   if (isApplyPhase)
                      applyPlugin(plugin, ci, cmdr, handle);
@@ -242,7 +305,7 @@
                MetaData cmdr = retrieval.getComponentMetaData(sis);
                if (cmdr != null)
                {
-                  for(T plugin : fieldAnnotationPlugins)
+                  for(T plugin : getPlugins(ElementType.FIELD, null, annotationClasses))
                   {
                      if (isApplyPhase)
                         applyPlugin(plugin, field, cmdr, handle);
@@ -254,26 +317,36 @@
                   log.trace("No annotations for field " + field.getName());
             }
             // apply setter and getter as well - if they exist
-            handleMethod(retrieval, handle, isApplyPhase, trace, visitedMethods, pi, pi.getSetter(), "setter");
-            handleMethod(retrieval, handle, isApplyPhase, trace, visitedMethods, pi, pi.getGetter(), "getter");
+            handleMethod(retrieval, handle, isApplyPhase, trace, visitedMethods, pi, pi.getSetter(), "setter", annotationClasses);
+            handleMethod(retrieval, handle, isApplyPhase, trace, visitedMethods, pi, pi.getGetter(), "getter", annotationClasses);
          }
       }
       else if (trace)
          log.trace("No properties");
 
+      // get Object's class info - it's cached so it shouldn't take much
+      TypeInfoFactory tif = classInfo.getTypeInfoFactory();
+      TypeInfo objectTI = tif.getTypeInfo(Object.class);
+
+      // method plugins
+      Iterable<T> methodPlugins = null;
+
       // methods
       Set<MethodInfo> methods = info.getMethods();
       if (methods != null && methods.isEmpty() == false)
       {
          for(MethodInfo mi : methods)
          {
-            if (visitedMethods.contains(mi) == false)
+            ClassInfo declaringCI = mi.getDeclaringClass();
+            // direct == check is OK
+            if (declaringCI != objectTI && visitedMethods.contains(mi) == false)
             {
                Signature mis = new MethodSignature(mi);
                MetaData cmdr = retrieval.getComponentMetaData(mis);
                if (cmdr != null)
                {
-                  for(T plugin : methodAnnotationPlugins)
+                  methodPlugins = getPlugins(ElementType.METHOD, METHOD_FILTER, annotationClasses);
+                  for(T plugin : methodPlugins)
                   {
                      if (isApplyPhase)
                         applyPlugin(plugin, mi, cmdr, handle);
@@ -301,7 +374,10 @@
                MetaData cmdr = retrieval.getComponentMetaData(mis);
                if (cmdr != null)
                {
-                  for(T plugin : methodAnnotationPlugins)
+                  if (methodPlugins == null)
+                     methodPlugins = getPlugins(ElementType.METHOD, METHOD_FILTER, annotationClasses);
+                  
+                  for(T plugin : methodPlugins)
                   {
                      if (isApplyPhase)
                         applyPlugin(plugin, smi, cmdr, handle);
@@ -331,6 +407,7 @@
     * @param pi the property info
     * @param method the method info
     * @param type method type
+    * @param annotationClasses the possible annotation classes
     * @throws Throwable for any error
     */
    protected void handleMethod(
@@ -341,7 +418,8 @@
          Set<MethodInfo> visitedMethods,
          PropertyInfo pi,
          MethodInfo method,
-         String type)
+         String type,
+         Collection<Class<? extends Annotation>> annotationClasses)
          throws Throwable
    {
       if (method == null)
@@ -352,7 +430,7 @@
       MetaData cmdr = retrieval.getComponentMetaData(sis);
       if (cmdr != null)
       {
-         for(T plugin : propertyAnnotationPlugins)
+         for(T plugin : getPlugins(ElementType.METHOD, PROPERTY_FILTER, annotationClasses))
          {
             if (isApplyPhase)
                applyPlugin(plugin, pi, cmdr, handle);

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodAnnotationPluginFilter.java (from rev 87584, projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodAnnotationPluginFilter.java)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodAnnotationPluginFilter.java	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodAnnotationPluginFilter.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.kernel.plugins.annotations;
+
+/**
+ * Match only true method.
+ */
+class MethodAnnotationPluginFilter extends PropertyAnnotationPluginFilter
+{
+   public boolean accept(MetaDataAnnotationPlugin plugin)
+   {
+      // negate
+      return super.accept(plugin) == false;
+   }
+}
\ No newline at end of file

Copied: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/PropertyAnnotationPluginFilter.java (from rev 87584, projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/PropertyAnnotationPluginFilter.java)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/PropertyAnnotationPluginFilter.java	                        (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/kernel/plugins/annotations/PropertyAnnotationPluginFilter.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.kernel.plugins.annotations;
+
+/**
+ * Match only properties.
+ */
+class PropertyAnnotationPluginFilter implements AnnotationPluginFilter
+{
+   public boolean accept(MetaDataAnnotationPlugin plugin)
+   {
+      return (plugin instanceof PropertyAware);
+   }
+}

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/config/test/BeanMetaDataBuilderTestCase.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/config/test/BeanMetaDataBuilderTestCase.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/config/test/BeanMetaDataBuilderTestCase.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -32,11 +32,13 @@
 
 import junit.framework.Test;
 import org.jboss.beans.metadata.api.model.AutowireType;
+import org.jboss.beans.metadata.api.model.FromContext;
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.AbstractRelatedClassMetaData;
 import org.jboss.beans.metadata.plugins.InstallCallbackMetaData;
 import org.jboss.beans.metadata.plugins.UninstallCallbackMetaData;
 import org.jboss.beans.metadata.plugins.AbstractDependencyValueMetaData;
+import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
 import org.jboss.beans.metadata.plugins.builder.BeanMetaDataBuilderFactory;
 import org.jboss.beans.metadata.spi.AnnotationMetaData;
 import org.jboss.beans.metadata.spi.BeanMetaData;
@@ -992,4 +994,24 @@
       assertNotNull(annotations);
       assertEquals(1, annotations.size());
    }
+
+   public void testFromContextInject() throws Throwable
+   {
+      BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder("test");
+      ValueMetaData value = builder.createFromContextInject(FromContext.CONTEXT, "foobar", ControllerState.CREATE, Search.CHILD_ONLY_DEPTH);
+      builder.addPropertyMetaData("someproprerty", value);
+      BeanMetaData bmd = builder.getBeanMetaData();
+
+      Set<PropertyMetaData> properties = bmd.getProperties();
+      assertNotNull(properties);
+      assertEquals(1, properties.size());
+      PropertyMetaData pmd = properties.iterator().next();
+      ValueMetaData vmd = pmd.getValue();
+
+      AbstractInjectionValueMetaData inject = assertInstanceOf(vmd, AbstractInjectionValueMetaData.class);
+      assertEquals(FromContext.CONTEXT, inject.getFromContext());
+      assertEquals("foobar", inject.getUnderlyingValue());
+      assertEquals(ControllerState.CREATE, inject.getDependentState());
+      assertEquals(Search.CHILD_ONLY_DEPTH, inject.getSearch());
+   }
 }

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/deployment/support/NullifyTestBean1.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/deployment/support/NullifyTestBean1.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/deployment/support/NullifyTestBean1.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -27,6 +27,7 @@
 /**
  * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
  */
+ at SuppressWarnings("unchecked")
 public class NullifyTestBean1
 {
    public void setSomething(Set set)

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/inject/test/InjectionValueCallbackTestCase.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/inject/test/InjectionValueCallbackTestCase.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/java/org/jboss/test/kernel/inject/test/InjectionValueCallbackTestCase.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -49,8 +49,9 @@
       KernelControllerContext context = getControllerContext("testObject", ControllerState.NOT_INSTALLED);
       assertNull(context.getTarget());
       assertEquals(context.getState(), ControllerState.NOT_INSTALLED);
-      
-      change(context, ControllerState.INSTALLED);
+
+      ControllerState state = change(context, ControllerState.INSTALLED);
+      assertEquals(ControllerState.INSTALLED, state);
       PropertyInjectTestObject injectee = (PropertyInjectTestObject)context.getTarget();
       assertNotNull(injectee);
       assertNull(injectee.getTesterInterface());

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/controller/test/InstallErrorTestCase_BeanNoInstall.xml
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/controller/test/InstallErrorTestCase_BeanNoInstall.xml	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/controller/test/InstallErrorTestCase_BeanNoInstall.xml	2009-04-20 16:28:53 UTC (rev 87586)
@@ -2,7 +2,6 @@
 
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-   <bean name="Bean" class="org.jboss.test.kernel.controller.support.TestBean">
-   </bean>
+   <bean name="Bean" class="org.jboss.test.kernel.controller.support.TestBean"/>
    
 </deployment>

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/controller/test/InstallErrorTestCase_BeanWithSupply.xml
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/controller/test/InstallErrorTestCase_BeanWithSupply.xml	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/controller/test/InstallErrorTestCase_BeanWithSupply.xml	2009-04-20 16:28:53 UTC (rev 87586)
@@ -3,6 +3,7 @@
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
    <bean name="Bean" class="org.jboss.test.kernel.controller.support.TestBean">
+      <supply>TestSupply</supply>
       <install bean="Repository1" method="add">
          <parameter><this/></parameter>
       </install>
@@ -15,7 +16,6 @@
       <uninstall bean="Repository2" method="remove">
          <parameter><this/></parameter>
       </uninstall>
-      <supply>TestSupply</supply>
    </bean>
    
 </deployment>

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/dependency/test/InstallDependencyXMLTestCase2.xml
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/dependency/test/InstallDependencyXMLTestCase2.xml	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/dependency/test/InstallDependencyXMLTestCase2.xml	2009-04-20 16:28:53 UTC (rev 87586)
@@ -5,36 +5,36 @@
       <install bean="Name1" method="addState" whenRequired="PreInstall">
          <parameter><inject fromContext="state"/></parameter>
       </install>
+      <install bean="Name1" method="addState" whenRequired="Described">
+         <parameter><inject fromContext="state"/></parameter>
+      </install>
+      <install bean="Name1" method="addState" whenRequired="Instantiated">
+         <parameter><inject fromContext="state"/></parameter>
+      </install>
+      <install bean="Name1" method="addState" whenRequired="Configured">
+         <parameter><inject fromContext="state"/></parameter>
+      </install>
+      <install bean="Name1" method="addState" whenRequired="Create">
+         <parameter><inject fromContext="state"/></parameter>
+      </install>
+      <install bean="Name1" method="addState" whenRequired="Start">
+        <parameter><inject fromContext="state"/></parameter>
+      </install>
       <uninstall bean="Name1" method="removeState" whenRequired="PreInstall">
          <parameter><inject fromContext="state"/></parameter>
       </uninstall>
-      <install bean="Name1" method="addState" whenRequired="Described">
-         <parameter><inject fromContext="state"/></parameter>
-      </install>
       <uninstall bean="Name1" method="removeState" whenRequired="Described">
          <parameter><inject fromContext="state"/></parameter>
       </uninstall>
-      <install bean="Name1" method="addState" whenRequired="Instantiated">
-         <parameter><inject fromContext="state"/></parameter>
-      </install>
       <uninstall bean="Name1" method="removeState" whenRequired="Instantiated">
          <parameter><inject fromContext="state"/></parameter>
       </uninstall>
-      <install bean="Name1" method="addState" whenRequired="Configured">
-         <parameter><inject fromContext="state"/></parameter>
-      </install>
       <uninstall bean="Name1" method="removeState" whenRequired="Configured">
          <parameter><inject fromContext="state"/></parameter>
       </uninstall>
-      <install bean="Name1" method="addState" whenRequired="Create">
-         <parameter><inject fromContext="state"/></parameter>
-      </install>
       <uninstall bean="Name1" method="removeState" whenRequired="Create">
          <parameter><inject fromContext="state"/></parameter>
       </uninstall>
-      <install bean="Name1" method="addState" whenRequired="Start">
-         <parameter><inject fromContext="state"/></parameter>
-      </install>
       <uninstall bean="Name1" method="removeState" whenRequired="Start">
          <parameter><inject fromContext="state"/></parameter>
       </uninstall>

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/dependency/test/InstallSelfDependencyXMLTestCase1.xml
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/dependency/test/InstallSelfDependencyXMLTestCase1.xml	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/dependency/test/InstallSelfDependencyXMLTestCase1.xml	2009-04-20 16:28:53 UTC (rev 87586)
@@ -5,24 +5,24 @@
       <install method="addInstantiated" whenRequired="Instantiated">
          <parameter><inject fromContext="state"/></parameter>
       </install>
+      <install method="addConfigured" whenRequired="Configured">
+         <parameter><inject fromContext="state"/></parameter>
+      </install>
+      <install method="addCreate" whenRequired="Create">
+         <parameter><inject fromContext="state"/></parameter>
+      </install>
+      <install method="addStart" whenRequired="Start">
+         <parameter><inject fromContext="state"/></parameter>
+      </install>
       <uninstall method="removeInstantiated" whenRequired="Instantiated">
          <parameter><inject fromContext="state"/></parameter>
       </uninstall>
-      <install method="addConfigured" whenRequired="Configured">
-         <parameter><inject fromContext="state"/></parameter>
-      </install>
       <uninstall method="removeConfigured" whenRequired="Configured">
          <parameter><inject fromContext="state"/></parameter>
       </uninstall>
-      <install method="addCreate" whenRequired="Create">
-         <parameter><inject fromContext="state"/></parameter>
-      </install>
       <uninstall method="removeCreate" whenRequired="Create">
          <parameter><inject fromContext="state"/></parameter>
       </uninstall>
-      <install method="addStart" whenRequired="Start">
-         <parameter><inject fromContext="state"/></parameter>
-      </install>
       <uninstall method="removeStart" whenRequired="Start">
          <parameter><inject fromContext="state"/></parameter>
       </uninstall>

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/BeanMetaDataWithClassloaderTestCase.xml
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/BeanMetaDataWithClassloaderTestCase.xml	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/BeanMetaDataWithClassloaderTestCase.xml	2009-04-20 16:28:53 UTC (rev 87586)
@@ -2,6 +2,10 @@
 
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
+   <classloader>
+      <bean name="cl" class="org.jboss.test.kernel.deployment.support.NullClassLoader" />
+   </classloader>
+
    <bean name="SimpleObject1" class="org.jboss.test.kernel.deployment.support.SimpleObjectWithBean">
       <constructor>
          <bean name="simple1" class="org.jboss.test.kernel.deployment.support.SimpleObjectWithBean" />
@@ -22,10 +26,6 @@
       </property>
    </bean>
 
-   <classloader>
-      <bean name="cl" class="org.jboss.test.kernel.deployment.support.NullClassLoader" />
-   </classloader>
-
    <bean name="SimpleObject4" class="org.jboss.test.kernel.deployment.support.SimpleObjectWithBean">
       <property name="beans">
          <list>

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/SuperDemandAnnotationTestCase.xml
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/SuperDemandAnnotationTestCase.xml	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/SuperDemandAnnotationTestCase.xml	2009-04-20 16:28:53 UTC (rev 87586)
@@ -15,8 +15,8 @@
   <bean name="SuperDemandAnnotationPlugin" class="org.jboss.test.kernel.deployment.support.SuperDemandAnnotationPlugin" />
 
   <bean name="Manager" class="org.jboss.test.kernel.deployment.support.SomeCacheTreeManager">
+    <annotation>@org.jboss.test.kernel.deployment.support.SuperDemand(demand="Partition", whenRequired="Configured", dependentState="Start")</annotation>
     <property name="clusteredCache"><inject bean="HAPartitionCacheHandler" property="cache"/></property>
-    <annotation>@org.jboss.test.kernel.deployment.support.SuperDemand(demand="Partition", whenRequired="Configured", dependentState="Start")</annotation>
   </bean>
 
   <bean name="HAPartitionCacheHandler" class="org.jboss.test.kernel.deployment.support.HAPartitionCacheHandler"/>

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/annotations/test/override/testSetsOverride.xml
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/annotations/test/override/testSetsOverride.xml	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/test/resources/xml-test/org/jboss/test/kernel/annotations/test/override/testSetsOverride.xml	2009-04-20 16:28:53 UTC (rev 87586)
@@ -3,8 +3,8 @@
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
    <bean name="Tester" class="org.jboss.test.kernel.annotations.support.SetsAnnotationTester">
+      <depends>deployer</depends>
       <demand>deployer</demand>
-      <depends>deployer</depends>
       <supply>somesupply</supply>
    </bean>
 

Modified: projects/microcontainer/branches/Branch_2_0/pom.xml
===================================================================
--- projects/microcontainer/branches/Branch_2_0/pom.xml	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/pom.xml	2009-04-20 16:28:53 UTC (rev 87586)
@@ -31,14 +31,14 @@
   </modules>
 
   <properties>
-    <version.jboss.common.core>2.2.10.GA</version.jboss.common.core>
+    <version.jboss.common.core>2.2.12.GA</version.jboss.common.core>
     <version.jboss.logging.spi>2.0.5.GA</version.jboss.logging.spi>
     <version.jboss.logging.log4j>2.0.5.GA</version.jboss.logging.log4j>
-    <version.jbossxb>2.0.0.GA</version.jbossxb>
-    <version.jboss.man>2.0.0.GA</version.jboss.man>
-    <version.jboss.vfs>2.1.0.GA</version.jboss.vfs>
-    <version.javassist>3.9.0.GA</version.javassist>
-    <version.jboss.aop>2.0.0.SP1</version.jboss.aop>
+    <version.jbossxb>2.0.1.CR1</version.jbossxb>
+    <version.jboss.man>2.1.0.CR8</version.jboss.man>
+    <version.jboss.vfs>2.2.0.M3</version.jboss.vfs>
+    <version.javassist>3.10.0.GA</version.javassist>
+    <version.jboss.aop>2.1.0.CR3</version.jboss.aop>
     <version.org.jboss.reflect>2.0.2.GA</version.org.jboss.reflect>
     <version.org.jboss.mdr>2.0.1.GA</version.org.jboss.mdr>
     <version.org.jboss.test>1.1.1.GA</version.org.jboss.test>

Modified: projects/microcontainer/branches/Branch_2_0/spring-int/src/test/java/org/jboss/test/spring/test/TempSpringMicrocontainerTestDelegate.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/spring-int/src/test/java/org/jboss/test/spring/test/TempSpringMicrocontainerTestDelegate.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/spring-int/src/test/java/org/jboss/test/spring/test/TempSpringMicrocontainerTestDelegate.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -21,12 +21,12 @@
 */
 package org.jboss.test.spring.test;
 
+import org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer;
 import org.jboss.spring.deployment.xml.SpringSchemaInitializer;
 import org.jboss.test.kernel.junit.MicrocontainerTestDelegate;
-import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
+import org.jboss.xb.binding.resolver.MutableSchemaResolver;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
-import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
-import org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer;
 
 /**
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
@@ -41,10 +41,10 @@
    public void setUp() throws Exception
    {
       SchemaBindingResolver resolver = SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver();
-      DefaultSchemaResolver defaultSchemaResolver = (DefaultSchemaResolver) resolver;
-      defaultSchemaResolver.addSchemaInitializer("urn:jboss:spring-beans:2.0", new SpringSchemaInitializer());
-      defaultSchemaResolver.addSchemaLocation("urn:jboss:spring-beans:2.0", "mc-spring-beans_2_0.xsd");
-      defaultSchemaResolver.addSchemaParseAnnotations("urn:jboss:spring-beans:2.0", Boolean.FALSE);
+      MutableSchemaResolver defaultSchemaResolver = (MutableSchemaResolver) resolver;
+      defaultSchemaResolver.mapSchemaInitializer("urn:jboss:spring-beans:2.0", new SpringSchemaInitializer());
+      defaultSchemaResolver.mapSchemaLocation("urn:jboss:spring-beans:2.0", "mc-spring-beans_2_0.xsd");
+      defaultSchemaResolver.setParseXSDAnnotations("urn:jboss:spring-beans:2.0", Boolean.FALSE);
       super.setUp();
    }
 

Modified: projects/microcontainer/branches/Branch_2_0/spring-int/src/test/java/org/jboss/test/spring/test/TempSpringSchemaTestDelegate.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/spring-int/src/test/java/org/jboss/test/spring/test/TempSpringSchemaTestDelegate.java	2009-04-20 16:12:11 UTC (rev 87585)
+++ projects/microcontainer/branches/Branch_2_0/spring-int/src/test/java/org/jboss/test/spring/test/TempSpringSchemaTestDelegate.java	2009-04-20 16:28:53 UTC (rev 87586)
@@ -25,7 +25,7 @@
 import org.jboss.test.AbstractTestDelegate;
 import org.jboss.xb.binding.Unmarshaller;
 import org.jboss.xb.binding.UnmarshallerFactory;
-import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
+import org.jboss.xb.binding.resolver.MutableSchemaResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
 
@@ -50,10 +50,10 @@
       super.setUp();
       unmarshallerFactory = UnmarshallerFactory.newInstance();
       resolver = SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver();
-      DefaultSchemaResolver defaultSchemaResolver = (DefaultSchemaResolver) resolver;
-      defaultSchemaResolver.addSchemaInitializer("urn:jboss:spring-beans:2.0", new SpringSchemaInitializer());
-      defaultSchemaResolver.addSchemaLocation("urn:jboss:spring-beans:2.0", "mc-spring-beans_2_0.xsd");
-      defaultSchemaResolver.addSchemaParseAnnotations("urn:jboss:spring-beans:2.0", Boolean.FALSE);
+      MutableSchemaResolver defaultSchemaResolver = (MutableSchemaResolver) resolver;
+      defaultSchemaResolver.mapSchemaInitializer("urn:jboss:spring-beans:2.0", new SpringSchemaInitializer());
+      defaultSchemaResolver.mapSchemaLocation("urn:jboss:spring-beans:2.0", "mc-spring-beans_2_0.xsd");
+      defaultSchemaResolver.setParseXSDAnnotations("urn:jboss:spring-beans:2.0", Boolean.FALSE);
    }
 
 




More information about the jboss-cvs-commits mailing list