[weld-commits] Weld SVN: r4700 - in core/trunk: impl/src/main/java/org/jboss/weld/bootstrap/events and 3 other directories.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Thu Nov 5 15:37:34 EST 2009


Author: pete.muir at jboss.org
Date: 2009-11-05 15:37:34 -0500 (Thu, 05 Nov 2009)
New Revision: 4700

Added:
   core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Bar.java
   core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver1.java
   core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver2.java
Modified:
   core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/ExtensionBeanDeployer.java
   core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java
   core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java
   core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterBeanDiscoveryImpl.java
   core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterDeploymentValidationImpl.java
   core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java
   core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverMethodImpl.java
   core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java
   core/trunk/tests/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/extensions/javax.enterprise.inject.spi.Extension
Log:
WELD-258

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/ExtensionBeanDeployer.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/ExtensionBeanDeployer.java	2009-11-05 17:26:45 UTC (rev 4699)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/ExtensionBeanDeployer.java	2009-11-05 20:37:34 UTC (rev 4700)
@@ -44,7 +44,6 @@
 {
    
    private final BeanManagerImpl beanManager;
-   private final Set<ObserverMethodImpl<?, ?>> observerMethods;
    private final Set<Extension> extensions;
    private final Deployment deployment;
    private final Map<BeanDeploymentArchive, BeanDeployment> beanDeployments;
@@ -53,7 +52,6 @@
    {
       this.beanManager = manager;
       this.extensions = new HashSet<Extension>();
-      this.observerMethods = new HashSet<ObserverMethodImpl<?,?>>();
       this.deployment = deployment;
       this.beanDeployments = beanDeployments;
    }
@@ -70,7 +68,8 @@
          BeanDeployment beanDeployment = DeploymentStructures.getOrCreateBeanDeployment(deployment, beanManager, beanDeployments, clazz.getJavaClass());
          
          ExtensionBean bean = new ExtensionBean(beanDeployment.getBeanManager(), clazz, extension);
-         createObserverMethods(bean, beanDeployment.getBeanManager(), clazz);
+         Set<ObserverMethodImpl<?, ?>> observerMethods = new HashSet<ObserverMethodImpl<?,?>>();
+         createObserverMethods(bean, beanDeployment.getBeanManager(), clazz, observerMethods);
          beanDeployment.getBeanManager().addBean(bean);
          for (ObserverMethodImpl<?, ?> observerMethod : observerMethods)
          {
@@ -95,18 +94,18 @@
       this.extensions.add(extension);
    }
    
-   protected <X> void createObserverMethods(RIBean<X> declaringBean, BeanManagerImpl beanManager, WeldClass<X> annotatedClass)
+   protected <X> void createObserverMethods(RIBean<X> declaringBean, BeanManagerImpl beanManager, WeldClass<X> annotatedClass, Set<ObserverMethodImpl<?, ?>> observerMethods)
    {
       for (WeldMethod<?, X> method : annotatedClass.getDeclaredWeldMethodsWithAnnotatedParameters(Observes.class))
       {
-         createObserverMethod(declaringBean, beanManager, method);
+         createObserverMethod(declaringBean, beanManager, method, observerMethods);
       }
    }
    
-   protected <T, X> void createObserverMethod(RIBean<X> declaringBean, BeanManagerImpl beanManager, WeldMethod<T, X> method)
+   protected <T, X> void createObserverMethod(RIBean<X> declaringBean, BeanManagerImpl beanManager, WeldMethod<T, X> method, Set<ObserverMethodImpl<?, ?>> observerMethods)
    {
       ObserverMethodImpl<T, X> observer = ObserverFactory.create(method, declaringBean, beanManager);
-      this.observerMethods.add(observer);
+      observerMethods.add(observer);
    }
 
 }

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java	2009-11-05 17:26:45 UTC (rev 4699)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java	2009-11-05 20:37:34 UTC (rev 4700)
@@ -346,10 +346,7 @@
          // Re-Read the deployment structure, this will be the physical structure, and will add in BDAs for any extensions outside a physical BDA
          beanDeployments = deploymentVisitor.visit();
          
-         for (BeanDeployment beanDeployment : beanDeployments.values())
-         {
-            BeforeBeanDiscoveryImpl.fire(beanDeployment.getBeanManager(), deployment, beanDeployments);
-         }
+         BeforeBeanDiscoveryImpl.fire(deploymentManager, deployment, beanDeployments);
          
          // Re-Read the deployment structure, this will be the physical structure, extensions and any classes added using addAnnotatedType outside the physical BDA
          beanDeployments = deploymentVisitor.visit();
@@ -367,10 +364,7 @@
          {
             entry.getValue().deployBeans(environment);
          }
-         for (BeanDeployment beanDeployment : beanDeployments.values())
-         {
-            AfterBeanDiscoveryImpl.fire(beanDeployment.getBeanManager(), deployment, beanDeployments);
-         }
+         AfterBeanDiscoveryImpl.fire(deploymentManager, deployment, beanDeployments);
          // Re-read the deployment structure, this will be the physical structure, extensions, classes, and any beans added using addBean outside the physical structure
          beanDeployments = deploymentVisitor.visit();
          Container.instance().putBeanDeployments(beanDeployments);
@@ -388,11 +382,7 @@
          {
             deployment.getServices().get(Validator.class).validateDeployment(entry.getValue().getBeanManager(), entry.getValue().getBeanDeployer().getEnvironment());
          }
-         for (BeanDeployment beanDeployment : beanDeployments.values())
-         {
-            AfterDeploymentValidationImpl.fire(beanDeployment.getBeanManager());
-         }
-         
+         AfterDeploymentValidationImpl.fire(deploymentManager, beanDeployments);
       }
       return this;
    }

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java	2009-11-05 17:26:45 UTC (rev 4699)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java	2009-11-05 20:37:34 UTC (rev 4700)
@@ -2,12 +2,19 @@
 
 import java.lang.reflect.Type;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
+import javax.enterprise.inject.spi.ObserverMethod;
+
 import org.jboss.weld.BeanManagerImpl;
-import org.jboss.weld.DefinitionException;
+import org.jboss.weld.bootstrap.BeanDeployment;
+import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
 import org.jboss.weld.util.reflection.ParameterizedTypeImpl;
 
+
 public abstract class AbstractContainerEvent
 {
    
@@ -48,9 +55,24 @@
       }
       catch (Exception e) 
       {
-         getErrors().add(new DefinitionException(e));
+         getErrors().add(e);
       }
    }
+   
+   protected void fire(Map<BeanDeploymentArchive, BeanDeployment> beanDeployments)
+   {
+      // Collect all observers to remove dupes
+      Set<ObserverMethod<Object>> observers = new HashSet<ObserverMethod<Object>>();
+      Type eventType = new ParameterizedTypeImpl(getRawType(), getEmptyTypeArray(), null);
+      for (BeanDeployment beanDeployment : beanDeployments.values())
+      {
+         observers.addAll(beanDeployment.getBeanManager().resolveObserverMethods(eventType));
+      }
+      for (ObserverMethod<Object> observerMethod : observers)
+      {
+         observerMethod.notify(this);
+      }
+   }
 
    protected Type getRawType()
    {

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterBeanDiscoveryImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterBeanDiscoveryImpl.java	2009-11-05 17:26:45 UTC (rev 4699)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterBeanDiscoveryImpl.java	2009-11-05 20:37:34 UTC (rev 4700)
@@ -23,9 +23,8 @@
 import javax.enterprise.context.spi.Context;
 import javax.enterprise.inject.spi.AfterBeanDiscovery;
 import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.ObserverMethod;
 import javax.enterprise.inject.spi.Interceptor;
-import javax.decorator.Decorator;
+import javax.enterprise.inject.spi.ObserverMethod;
 
 import org.jboss.weld.BeanManagerImpl;
 import org.jboss.weld.bootstrap.BeanDeployment;
@@ -37,7 +36,7 @@
    
    public static void fire(BeanManagerImpl beanManager, Deployment deployment, Map<BeanDeploymentArchive, BeanDeployment> beanDeployments)
    {
-      new AfterBeanDiscoveryImpl(beanManager, deployment, beanDeployments).fire();
+      new AfterBeanDiscoveryImpl(beanManager, deployment, beanDeployments).fire(beanDeployments);
    }
    
    protected AfterBeanDiscoveryImpl(BeanManagerImpl beanManager, Deployment deployment, Map<BeanDeploymentArchive, BeanDeployment> beanDeployments)

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterDeploymentValidationImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterDeploymentValidationImpl.java	2009-11-05 17:26:45 UTC (rev 4699)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterDeploymentValidationImpl.java	2009-11-05 20:37:34 UTC (rev 4700)
@@ -16,17 +16,21 @@
  */
 package org.jboss.weld.bootstrap.events;
 
+import java.util.Map;
+
 import javax.enterprise.inject.spi.AfterDeploymentValidation;
 
 import org.jboss.weld.BeanManagerImpl;
+import org.jboss.weld.bootstrap.BeanDeployment;
+import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
 
 
 public class AfterDeploymentValidationImpl extends AbstractDeploymentContainerEvent implements AfterDeploymentValidation
 {
    
-   public static void fire(BeanManagerImpl beanManager)
+   public static void fire(BeanManagerImpl beanManager, Map<BeanDeploymentArchive, BeanDeployment> beanDeployments)
    {
-      new AfterDeploymentValidationImpl(beanManager).fire();
+      new AfterDeploymentValidationImpl(beanManager).fire(beanDeployments);
    }
    
    protected AfterDeploymentValidationImpl(BeanManagerImpl beanManager)

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java	2009-11-05 17:26:45 UTC (rev 4699)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java	2009-11-05 20:37:34 UTC (rev 4700)
@@ -36,7 +36,7 @@
 
    public static void fire(BeanManagerImpl beanManager, Deployment deployment, Map<BeanDeploymentArchive, BeanDeployment> beanDeployments)
    {
-      new BeforeBeanDiscoveryImpl(beanManager, deployment, beanDeployments).fire();
+      new BeforeBeanDiscoveryImpl(beanManager, deployment, beanDeployments).fire(beanDeployments);
    }
 
    protected BeforeBeanDiscoveryImpl(BeanManagerImpl beanManager, Deployment deployment, Map<BeanDeploymentArchive, BeanDeployment> beanDeployments)

Modified: core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverMethodImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverMethodImpl.java	2009-11-05 17:26:45 UTC (rev 4699)
+++ core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverMethodImpl.java	2009-11-05 20:37:34 UTC (rev 4700)
@@ -62,6 +62,10 @@
 public class ObserverMethodImpl<T, X> implements ObserverMethod<T>
 {
    
+   public static final String ID_PREFIX = ObserverMethodImpl.class.getPackage().getName();
+   
+   public static final String ID_SEPARATOR = "-";
+   
    private static final Annotation ANY = new AnyLiteral();
 
    private final Set<Annotation> bindings;
@@ -71,6 +75,7 @@
    protected final RIBean<X> declaringBean;
    protected final MethodInjectionPoint<T, X> observerMethod;
    protected TransactionPhase transactionPhase;
+   private final String id;
 
    private final Set<WeldInjectionPoint<?, ?>> newInjectionPoints;
 
@@ -88,7 +93,7 @@
       this.declaringBean = declaringBean;
       this.observerMethod = MethodInjectionPoint.of(declaringBean, observer);
       this.eventType = observerMethod.getAnnotatedParameters(Observes.class).get(0).getBaseType();
-
+      this.id = new StringBuilder().append(ID_PREFIX).append(ID_SEPARATOR)/*.append(manager.getId()).append(ID_SEPARATOR)*/.append(ObserverMethod.class.getSimpleName()).append(ID_SEPARATOR).append(declaringBean.getBeanClass().getName()).append(".").append(observer.getSignature()).toString();
       this.bindings = new HashSet<Annotation>(observerMethod.getAnnotatedParameters(Observes.class).get(0).getMetaAnnotations(Qualifier.class));
       Observes observesAnnotation = observerMethod.getAnnotatedParameters(Observes.class).get(0).getAnnotation(Observes.class);
       this.notifyType = observesAnnotation.notifyObserver();
@@ -231,16 +236,6 @@
          }
       }
    }
-
-   @Override
-   public String toString()
-   {
-      StringBuilder builder = new StringBuilder();
-      builder.append("Observer Implementation: \n");
-      builder.append("  Observer (Declaring) class: " + declaringBean.getBeanClass());
-      builder.append("  Observer method: " + observerMethod);
-      return builder.toString();
-   }
    
    protected boolean ignore(T event)
    {
@@ -255,5 +250,36 @@
       }
       return false;
    }
+   
+   @Override
+   public String toString()
+   {
+      return id;
+   }
+   
+   public String getId()
+   {
+      return id;
+   }
+   
+   @Override
+   public boolean equals(Object obj)
+   {
+      if (obj instanceof ObserverMethodImpl<?, ?>)
+      {
+         ObserverMethodImpl<?, ?> that = (ObserverMethodImpl<?, ?>) obj;
+         return this.getId().equals(that.getId());
+      }
+      else
+      {
+         return false;
+      }
+   }
+   
+   @Override
+   public int hashCode()
+   {
+      return getId().hashCode();
+   }
 
 }

Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Bar.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Bar.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Bar.java	2009-11-05 20:37:34 UTC (rev 4700)
@@ -0,0 +1,6 @@
+package org.jboss.weld.tests.unit.deployment.structure.extensions;
+
+public class Bar
+{
+
+}


Property changes on: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Bar.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver1.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver1.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver1.java	2009-11-05 20:37:34 UTC (rev 4700)
@@ -0,0 +1,45 @@
+package org.jboss.weld.tests.unit.deployment.structure.extensions;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessManagedBean;
+
+public class CountingObserver1 implements Extension
+{
+   
+   private int beforeBeanDiscovery;
+   private int processFooManagedBean;
+   private int processBarManagedBean;
+
+   public void observeBeforeBeanDiscovery(@Observes BeforeBeanDiscovery event)
+   {
+      beforeBeanDiscovery++;
+   }
+   
+   public void observerProcessFooManagedBean(@Observes ProcessManagedBean<Foo> event)
+   {
+      processFooManagedBean++;
+   }
+   
+   public void observerProcessBarManagedBean(@Observes ProcessManagedBean<Bar> event)
+   {
+      processBarManagedBean++;
+   }
+   
+   public int getBeforeBeanDiscovery()
+   {
+      return beforeBeanDiscovery;
+   }
+   
+   public int getProcessFooManagedBean()
+   {
+      return processFooManagedBean;
+   }
+   
+   public int getProcessBarManagedBean()
+   {
+      return processBarManagedBean;
+   }
+     
+}


Property changes on: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver1.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver2.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver2.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver2.java	2009-11-05 20:37:34 UTC (rev 4700)
@@ -0,0 +1,47 @@
+package org.jboss.weld.tests.unit.deployment.structure.extensions;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessManagedBean;
+
+public class CountingObserver2 implements Extension
+{
+   
+   private int beforeBeanDiscovery;
+   private int processFooManagedBean;
+   private int processBarManagedBean;
+
+   public void observeBeforeBeanDiscovery(@Observes BeforeBeanDiscovery event, BeanManager beanManager)
+   {
+      beforeBeanDiscovery++;
+      event.addAnnotatedType(beanManager.createAnnotatedType(Bar.class));
+   }
+   
+   public void observerProcessFooManagedBean(@Observes ProcessManagedBean<Foo> event)
+   {
+      processFooManagedBean++;
+   }
+   
+   public void observerProcessBarManagedBean(@Observes ProcessManagedBean<Bar> event)
+   {
+      processBarManagedBean++;
+   }
+   
+   public int getBeforeBeanDiscovery()
+   {
+      return beforeBeanDiscovery;
+   }
+   
+   public int getProcessFooManagedBean()
+   {
+      return processFooManagedBean;
+   }
+   
+   public int getProcessBarManagedBean()
+   {
+      return processBarManagedBean;
+   }
+     
+}


Property changes on: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver2.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java	2009-11-05 17:26:45 UTC (rev 4699)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java	2009-11-05 20:37:34 UTC (rev 4700)
@@ -85,4 +85,58 @@
       
    }
    
+   @Test(description="WELD-258")
+   public void testEventsSentOnceOnly()
+   {
+   // Create the BDA in which we will deploy Observer1 and Foo. This is equivalent to a war or ejb jar
+      final MockBeanDeploymentArchive bda1 = new MockBeanDeploymentArchive("1", CountingObserver1.class, Foo.class);
+      
+      // Create the BDA to return from loadBeanDeploymentArchive for Observer2, this is probably a library, though could be another war or ejb jar
+      // bda2 is accessible from bda1, but isn't added to it's accessibility graph by default. This similar to an archive which doesn't contain a beans.xml but does contain an extension 
+      final BeanDeploymentArchive bda2 = new MockBeanDeploymentArchive("2", CountingObserver2.class);
+      
+      // Create a deployment, that we can use to mirror the structure of one Extension inside a BDA, and one outside
+      Deployment deployment = new AbstractMockDeployment(bda1)
+      {
+         
+         public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass)
+         {
+            // Return bda2 if it is Observer2. Stick anything else which this test isn't about in bda1
+            if (beanClass.equals(CountingObserver2.class) || beanClass.equals(Bar.class))
+            {
+               // If Observer2 is requested, then we need to add bda2 to the accessibility graph of bda1
+               bda1.getBeanDeploymentArchives().add(bda2);
+               return bda2;
+            }
+            else
+            {
+               return bda1;
+            }
+         }
+
+      };
+      
+      TestContainer container = new TestContainer(new MockServletLifecycle(deployment, bda1));
+      container.getLifecycle().initialize();
+      
+      // Add custom ServiceLoader so that we can load Extension services from current package, not META-INF/services
+      // We do this after startContainer() so we replace the default impl
+      deployment.getServices().add(ServiceLoaderFactory.class, new PackageServiceLoaderFactory(NonBdaExtensionTest.class.getPackage(), Extension.class));
+      
+      // Cause the container to deploy the beans etc.
+      container.getLifecycle().beginApplication();
+      
+      // Get the bean manager for bda1 and bda2
+      BeanManagerImpl beanManager1 = container.getBeanManager();
+      
+      CountingObserver1 observer1 = beanManager1.getInstanceByType(CountingObserver1.class);
+      CountingObserver2 observer2 = beanManager1.getInstanceByType(CountingObserver2.class);
+      assert observer1.getBeforeBeanDiscovery() == 1;
+      assert observer1.getProcessFooManagedBean() == 1;
+      assert observer1.getProcessBarManagedBean() == 0;
+      assert observer2.getBeforeBeanDiscovery() == 1;
+      assert observer2.getProcessFooManagedBean() == 1;
+      assert observer2.getProcessBarManagedBean() == 1;
+   }
+   
 }

Modified: core/trunk/tests/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/extensions/javax.enterprise.inject.spi.Extension
===================================================================
--- core/trunk/tests/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/extensions/javax.enterprise.inject.spi.Extension	2009-11-05 17:26:45 UTC (rev 4699)
+++ core/trunk/tests/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/extensions/javax.enterprise.inject.spi.Extension	2009-11-05 20:37:34 UTC (rev 4700)
@@ -1,3 +1,4 @@
 org.jboss.weld.tests.unit.deployment.structure.extensions.Observer1
 org.jboss.weld.tests.unit.deployment.structure.extensions.Observer2
-org.jboss.weld.tests.unit.deployment.structure.extensions.Observer3
\ No newline at end of file
+org.jboss.weld.tests.unit.deployment.structure.extensions.CountingObserver1
+org.jboss.weld.tests.unit.deployment.structure.extensions.CountingObserver2



More information about the weld-commits mailing list