[jboss-cvs] JBossAS SVN: r95117 - in projects/kernel/trunk: weld-int and 6 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Oct 19 11:12:37 EDT 2009


Author: kabir.khan at jboss.com
Date: 2009-10-19 11:12:36 -0400 (Mon, 19 Oct 2009)
New Revision: 95117

Added:
   projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/McBeanRegistryObserver.java
Removed:
   projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/McAfterBeanDiscoveryObserver.java
   projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/beanwrapper/
Modified:
   projects/kernel/trunk/pom.xml
   projects/kernel/trunk/weld-int/.classpath
   projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/dependency/WeldControllerContextActions.java
   projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/dependency/WeldControllerInitializer.java
   projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/WeldFromMcRegistry.java
   projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/WeldMcTestDelegate.java
   projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/WeldTestSuite.java
   projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/support/validateobserver/TestObserver.java
   projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/support/wb/TestMcAfterBeanDiscoveryObserver.java
   projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/test/InjectMcBeansInWeldTestCase.java
Log:
[JBKERNEL-51] Get the stuff working again using the supported API in Web Beans

Modified: projects/kernel/trunk/pom.xml
===================================================================
--- projects/kernel/trunk/pom.xml	2009-10-19 14:48:13 UTC (rev 95116)
+++ projects/kernel/trunk/pom.xml	2009-10-19 15:12:36 UTC (rev 95117)
@@ -56,7 +56,7 @@
     <version.org.jboss.ejb3.api>3.1.0-Alpha1</version.org.jboss.ejb3.api> 
     <version.javax.validation>1.0.CR3</version.javax.validation>
     <version.javax.faces.jsf-api>1.2_12</version.javax.faces.jsf-api>
-    <version.org.jboss.weld.api>1.0-CR1</version.org.jboss.weld.api>
+    <version.org.jboss.weld.api>1.0-SNAPSHOT</version.org.jboss.weld.api>
     <version.org.jboss.weld.core>1.0.0-SNAPSHOT</version.org.jboss.weld.core>
     <version.org.jboss.weld.ext>1.0.0-SNAPSHOT</version.org.jboss.weld.ext>
   </properties>

Modified: projects/kernel/trunk/weld-int/.classpath
===================================================================
--- projects/kernel/trunk/weld-int/.classpath	2009-10-19 14:48:13 UTC (rev 95116)
+++ projects/kernel/trunk/weld-int/.classpath	2009-10-19 15:12:36 UTC (rev 95117)
@@ -5,9 +5,9 @@
   <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1.1/activation-1.1.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/enterprise/cdi-api/1.0-CR1/cdi-api-1.0-CR1.jar" sourcepath="M2_REPO/javax/enterprise/cdi-api/1.0-CR1/cdi-api-1.0-CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/enterprise/cdi-api/1.0-SNAPSHOT/cdi-api-1.0-SNAPSHOT.jar" sourcepath="M2_REPO/javax/enterprise/cdi-api/1.0-SNAPSHOT/cdi-api-1.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/javax/el/el-api/2.1.2-b04/el-api-2.1.2-b04.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1.0-PFD-1/javax.inject-1.0-PFD-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1.0-PFD-1/javax.inject-1.0-PFD-1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/javax/faces/jsf-api/1.2_12/jsf-api-1.2_12.jar" sourcepath="M2_REPO/javax/faces/jsf-api/1.2_12/jsf-api-1.2_12-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
   <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
@@ -33,7 +33,7 @@
   <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.16.GA/jboss-common-core-2.2.16.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.16.GA/jboss-common-core-2.2.16.GA-sources.jar"/>
   <classpathentry kind="src" path="/jboss-dependency"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-api/3.1.0-Alpha1/jboss-ejb3-api-3.1.0-Alpha1.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-api/3.1.0-Alpha1/jboss-ejb3-api-3.1.0-Alpha1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/interceptor/jboss-interceptor/1.0.0-CR1/jboss-interceptor-1.0.0-CR1.jar" sourcepath="M2_REPO/org/jboss/interceptor/jboss-interceptor/1.0.0-CR1/jboss-interceptor-1.0.0-CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/interceptor/jboss-interceptor/1.0.0-SNAPSHOT/jboss-interceptor-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/interceptor/jboss-interceptor/1.0.0-SNAPSHOT/jboss-interceptor-1.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/interceptor/jboss-interceptor-api/3.1.0-CR1/jboss-interceptor-api-3.1.0-CR1.jar" sourcepath="M2_REPO/org/jboss/interceptor/jboss-interceptor-api/3.1.0-CR1/jboss-interceptor-api-3.1.0-CR1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/jboss/jbossws/jboss-jaxrpc/1.0.4.GA/jboss-jaxrpc-1.0.4.GA.jar"/>
   <classpathentry kind="src" path="/jboss-kernel"/>
@@ -46,21 +46,22 @@
   <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.2.GA/jboss-reflect-2.0.2.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.2.GA/jboss-reflect-2.0.2.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.1.GA/jboss-server-manager-0.1.1.GA.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.1.GA/jboss-server-manager-0.1.1.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/test/jboss-test/1.1.1.GA/jboss-test-1.1.1.GA.jar" sourcepath="M2_REPO/org/jboss/test/jboss-test/1.1.1.GA/jboss-test-1.1.1.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/test-harness/jboss-test-harness/1.1.0-CR1/jboss-test-harness-1.1.0-CR1.jar" sourcepath="M2_REPO/org/jboss/test-harness/jboss-test-harness/1.1.0-CR1/jboss-test-harness-1.1.0-CR1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/test-harness/jboss-test-harness-api/1.1.0-CR1/jboss-test-harness-api-1.1.0-CR1.jar" sourcepath="M2_REPO/org/jboss/test-harness/jboss-test-harness-api/1.1.0-CR1/jboss-test-harness-api-1.1.0-CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/test-harness/jboss-test-harness/1.1.0-SNAPSHOT/jboss-test-harness-1.1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/test-harness/jboss-test-harness/1.1.0-SNAPSHOT/jboss-test-harness-1.1.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/test-harness/jboss-test-harness-api/1.1.0-SNAPSHOT/jboss-test-harness-api-1.1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/test-harness/jboss-test-harness-api/1.1.0-SNAPSHOT/jboss-test-harness-api-1.1.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.CR2/jboss-transaction-api-1.0.1.CR2.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.CR2/jboss-transaction-api-1.0.1.CR2-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.2-SNAPSHOT/jbossxb-2.0.2-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.2-SNAPSHOT/jbossxb-2.0.2-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.11/nekohtml-1.9.11.jar" sourcepath="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.11/nekohtml-1.9.11-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/w3c/css/sac/1.3/sac-1.3.jar" sourcepath="M2_REPO/org/w3c/css/sac/1.3/sac-1.3-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/xalan/serializer/2.7.1/serializer-2.7.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/weld/weld-api/1.0-CR1/weld-api-1.0-CR1.jar" sourcepath="M2_REPO/org/jboss/weld/weld-api/1.0-CR1/weld-api-1.0-CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-simple/1.5.6/slf4j-simple-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-simple/1.5.6/slf4j-simple-1.5.6-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/weld/weld-api/1.0-SNAPSHOT/weld-api-1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/weld/weld-api/1.0-SNAPSHOT/weld-api-1.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/weld/weld-core/1.0.0-SNAPSHOT/weld-core-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/weld/weld-core/1.0.0-SNAPSHOT/weld-core-1.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/weld/weld-core-test/1.0.0-SNAPSHOT/weld-core-test-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/weld/weld-core-test/1.0.0-SNAPSHOT/weld-core-test-1.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/weld/weld-logging/1.0.0-SNAPSHOT/weld-logging-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/weld/weld-logging/1.0.0-SNAPSHOT/weld-logging-1.0.0-SNAPSHOT-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/weld/weld-spi/1.0-CR1/weld-spi-1.0-CR1.jar" sourcepath="M2_REPO/org/jboss/weld/weld-spi/1.0-CR1/weld-spi-1.0-CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/weld/weld-spi/1.0-SNAPSHOT/weld-spi-1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/weld/weld-spi/1.0-SNAPSHOT/weld-spi-1.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1.jar" sourcepath="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1-sources.jar"/>

Modified: projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/dependency/WeldControllerContextActions.java
===================================================================
--- projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/dependency/WeldControllerContextActions.java	2009-10-19 14:48:13 UTC (rev 95116)
+++ projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/dependency/WeldControllerContextActions.java	2009-10-19 15:12:36 UTC (rev 95117)
@@ -60,7 +60,6 @@
    
    protected WeldControllerContextActions(Map<ControllerState, ControllerContextAction> actions)
    {
-      // FIXME WeldControllerContextActions constructor
       super(actions);
    }
    

Modified: projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/dependency/WeldControllerInitializer.java
===================================================================
--- projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/dependency/WeldControllerInitializer.java	2009-10-19 14:48:13 UTC (rev 95116)
+++ projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/dependency/WeldControllerInitializer.java	2009-10-19 15:12:36 UTC (rev 95117)
@@ -32,25 +32,10 @@
  */
 public class WeldControllerInitializer
 {
-   private static volatile boolean addedControllerStates;
-   
    static void initializeController(Controller controller)
    {
-      if (!addedControllerStates)
-      {
-         addControllerStates(controller);
-      }
+      controller.addState(WeldPostConstructAction.STATE, ControllerState.CONFIGURED);
+      controller.addState(WeldPreDestroyAction.STATE, ControllerState.START);
+      controller.addState(WeldRegisterWebBeanAction.STATE, ControllerState.INSTALLED);
    }
-   
-   private static synchronized void addControllerStates(Controller controller)
-   {
-      if (!addedControllerStates)
-      {
-         controller.addState(WeldPostConstructAction.STATE, ControllerState.CONFIGURED);
-         controller.addState(WeldPreDestroyAction.STATE, ControllerState.START);
-         controller.addState(WeldRegisterWebBeanAction.STATE, ControllerState.INSTALLED);
-         addedControllerStates = true;
-      }
-   }
-
 }

Deleted: projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/McAfterBeanDiscoveryObserver.java
===================================================================
--- projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/McAfterBeanDiscoveryObserver.java	2009-10-19 14:48:13 UTC (rev 95116)
+++ projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/McAfterBeanDiscoveryObserver.java	2009-10-19 15:12:36 UTC (rev 95117)
@@ -1,44 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, 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.weld.plugins.weld;
-
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
-
-/**
- * Web Beans extension bean to register MC beans that should be accessible from web beans 
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class McAfterBeanDiscoveryObserver implements Extension
-{
-   public void observe(@Observes BeforeBeanDiscovery event)
-   {
-      for (AnnotatedType<?> type : WeldFromMcRegistry.getTypes())
-      {   
-         event.addAnnotatedType(type);
-      }
-   }
-}

Copied: projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/McBeanRegistryObserver.java (from rev 94937, projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/McAfterBeanDiscoveryObserver.java)
===================================================================
--- projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/McBeanRegistryObserver.java	                        (rev 0)
+++ projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/McBeanRegistryObserver.java	2009-10-19 15:12:36 UTC (rev 95117)
@@ -0,0 +1,61 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, 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.weld.plugins.weld;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.InjectionTarget;
+import javax.enterprise.inject.spi.ProcessInjectionTarget;
+
+import org.jboss.kernel.weld.plugins.dependency.WeldKernelControllerContext;
+
+/**
+ * Web Beans extension bean to register MC beans that should be accessible from web beans 
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class McBeanRegistryObserver implements Extension
+{
+   public void addType(@Observes BeforeBeanDiscovery event)
+   {
+      for (AnnotatedTypeWrapper typeWrapper : WeldFromMcRegistry.getTypes())
+      {   
+         event.addAnnotatedType(typeWrapper.getAnnotatedType());
+      }
+   }
+   
+   public void processInjectionTarget(@Observes @SuppressWarnings("unchecked") ProcessInjectionTarget event)
+   {
+      AnnotatedType<?> type = event.getAnnotatedType();
+      WeldKernelControllerContext context = WeldFromMcRegistry.getContext(type);
+      if (context != null)
+      {
+         InjectionTarget<?> target = event.getInjectionTarget();
+         @SuppressWarnings("unchecked")
+         ExistingInstanceInjectionTarget tgt = new ExistingInstanceInjectionTarget(target, context.getTarget());
+         event.setInjectionTarget(tgt);
+      }
+   }
+}

Modified: projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/WeldFromMcRegistry.java
===================================================================
--- projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/WeldFromMcRegistry.java	2009-10-19 14:48:13 UTC (rev 95116)
+++ projects/kernel/trunk/weld-int/src/main/java/org/jboss/kernel/weld/plugins/weld/WeldFromMcRegistry.java	2009-10-19 15:12:36 UTC (rev 95117)
@@ -41,10 +41,15 @@
    //TODO need some way to register by controller and to determine which controller a beanmanager should look in
    
    /** 
-    * Map of context name and bean implentation of MC beans that should be accessible from web beans
+    * Map of context and annotated type wrapper
     */
-   private static final Map<Object, AnnotatedType<?>> typesByContext = new ConcurrentHashMap<Object, AnnotatedType<?>>();
+   private static final Map<WeldKernelControllerContext, AnnotatedTypeWrapper> typesByContext = new ConcurrentHashMap<WeldKernelControllerContext, AnnotatedTypeWrapper>();
    
+   /** 
+    * Map of annotated type wrapper and context
+    */
+   private static final Map<AnnotatedTypeWrapper, WeldKernelControllerContext> contextsByType = new ConcurrentHashMap<AnnotatedTypeWrapper, WeldKernelControllerContext>();  
+   
    /**
     * Check if a context should be accessible from web beans, and if so register it as a web bean.
     * 
@@ -55,7 +60,9 @@
       AnnotatedType<?> type = context.getAnnotatedType();
       if (type != null)
       {
-         typesByContext.put(context, type);
+         AnnotatedTypeWrapper typeWrapper = new AnnotatedTypeWrapper(type);
+         typesByContext.put(context, typeWrapper);
+         contextsByType.put(typeWrapper, context);
       }
    }
    
@@ -66,15 +73,22 @@
     */
    public static void unregisterBean(WeldKernelControllerContext context)
    {
-      typesByContext.remove(context);
+      AnnotatedTypeWrapper typeWrapper = typesByContext.remove(context);
+      if (typeWrapper != null)
+         contextsByType.remove(typeWrapper);
    }
    
    /**
     * Get a copy of all the MC beans that should be registered as web beans
     */
-   public static Collection<AnnotatedType<?>> getTypes()
+   public static Collection<AnnotatedTypeWrapper> getTypes()
    {
       return Collections.unmodifiableCollection(typesByContext.values());
    }
    
+   public static WeldKernelControllerContext getContext(AnnotatedType<?> type)
+   {
+      return contextsByType.get(new AnnotatedTypeWrapper(type));
+   }
+   
 }

Modified: projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/WeldMcTestDelegate.java
===================================================================
--- projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/WeldMcTestDelegate.java	2009-10-19 14:48:13 UTC (rev 95116)
+++ projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/WeldMcTestDelegate.java	2009-10-19 15:12:36 UTC (rev 95117)
@@ -186,7 +186,7 @@
    {
       if (testContainer != null)
       {
-         testContainer.startContainer();
+         testContainer.stopContainer();
       }
       if (extensionFile != null)
       {

Modified: projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/WeldTestSuite.java
===================================================================
--- projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/WeldTestSuite.java	2009-10-19 14:48:13 UTC (rev 95116)
+++ projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/WeldTestSuite.java	2009-10-19 15:12:36 UTC (rev 95117)
@@ -25,7 +25,7 @@
 import junit.framework.TestSuite;
 
 import org.jboss.test.kernel.weld.annotated.AnnotatedTypeTestCase;
-import org.jboss.test.kernel.weld.beanwrapper.test.BeanImplementationTestCase;
+//import org.jboss.test.kernel.weld.beanwrapper.test.BeanImplementationTestCase;
 import org.jboss.test.kernel.weld.mctowb.test.InjectMcBeansInWeldTestCase;
 import org.jboss.test.kernel.weld.wbtomc.test.InjectWeldInMcBeansTestCase;
 
@@ -41,7 +41,6 @@
       TestSuite suite = new TestSuite("MC/Web Beans Tests");
 
       suite.addTest(AnnotatedTypeTestCase.suite());
-      suite.addTest(BeanImplementationTestCase.suite());
       suite.addTest(InjectWeldInMcBeansTestCase.suite());
       suite.addTest(InjectMcBeansInWeldTestCase.suite());
       

Modified: projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/support/validateobserver/TestObserver.java
===================================================================
--- projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/support/validateobserver/TestObserver.java	2009-10-19 14:48:13 UTC (rev 95116)
+++ projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/support/validateobserver/TestObserver.java	2009-10-19 15:12:36 UTC (rev 95117)
@@ -24,8 +24,9 @@
 import javax.enterprise.event.Observes;
 import javax.enterprise.inject.spi.BeforeBeanDiscovery;
 import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessInjectionTarget;
 
-import org.jboss.kernel.weld.plugins.weld.McAfterBeanDiscoveryObserver;
+import org.jboss.kernel.weld.plugins.weld.McBeanRegistryObserver;
 import org.jboss.testharness.impl.packaging.Artifact;
 
 /**
@@ -34,15 +35,20 @@
  * @version $Revision: 1.1 $
  */
 @Artifact
-public class TestObserver extends McAfterBeanDiscoveryObserver implements Extension
+public class TestObserver extends McBeanRegistryObserver implements Extension
 {
    public static boolean invoked;
    
    @Override
-   public void observe(@Observes BeforeBeanDiscovery event)
+   public void addType(@Observes BeforeBeanDiscovery event)
    {
-      super.observe(event);
+      super.addType(event);
       invoked = true;
    }
 
+   @Override
+   public void processInjectionTarget(@Observes ProcessInjectionTarget event)
+   {
+      super.processInjectionTarget(event);
+   }
 }

Modified: projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/support/wb/TestMcAfterBeanDiscoveryObserver.java
===================================================================
--- projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/support/wb/TestMcAfterBeanDiscoveryObserver.java	2009-10-19 14:48:13 UTC (rev 95116)
+++ projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/support/wb/TestMcAfterBeanDiscoveryObserver.java	2009-10-19 15:12:36 UTC (rev 95117)
@@ -23,8 +23,9 @@
 
 import javax.enterprise.event.Observes;
 import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.ProcessInjectionTarget;
 
-import org.jboss.kernel.weld.plugins.weld.McAfterBeanDiscoveryObserver;
+import org.jboss.kernel.weld.plugins.weld.McBeanRegistryObserver;
 import org.jboss.testharness.impl.packaging.Artifact;
 
 /**
@@ -33,13 +34,17 @@
  * @version $Revision: 1.1 $
  */
 @Artifact
-public class TestMcAfterBeanDiscoveryObserver extends McAfterBeanDiscoveryObserver
+public class TestMcAfterBeanDiscoveryObserver extends McBeanRegistryObserver
 {
-   
    @Override
-   public void observe(@Observes BeforeBeanDiscovery event)
+   public void addType(@Observes BeforeBeanDiscovery event)
    {
-      super.observe(event);
+      super.addType(event);
    }
 
+   @Override
+   public void processInjectionTarget(@Observes ProcessInjectionTarget event)
+   {
+      super.processInjectionTarget(event);
+   }
 }

Modified: projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/test/InjectMcBeansInWeldTestCase.java
===================================================================
--- projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/test/InjectMcBeansInWeldTestCase.java	2009-10-19 14:48:13 UTC (rev 95116)
+++ projects/kernel/trunk/weld-int/src/test/java/org/jboss/test/kernel/weld/mctowb/test/InjectMcBeansInWeldTestCase.java	2009-10-19 15:12:36 UTC (rev 95117)
@@ -21,15 +21,19 @@
 */ 
 package org.jboss.test.kernel.weld.mctowb.test;
 
+import java.util.Collection;
 import java.util.Set;
 
 import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.AnnotatedType;
 import javax.enterprise.inject.spi.Bean;
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 import org.jboss.kernel.weld.plugins.dependency.WeldKernelControllerContext;
+import org.jboss.kernel.weld.plugins.weld.AnnotatedTypeWrapper;
+import org.jboss.kernel.weld.plugins.weld.WeldFromMcRegistry;
 import org.jboss.test.kernel.weld.AbstractWeldMcTest;
 import org.jboss.test.kernel.weld.mctowb.support.mc.ThingBean;
 import org.jboss.test.kernel.weld.mctowb.support.mc.ThingMethodProducer;
@@ -70,7 +74,37 @@
          undeployWeld();
       }
    }
+
+   public void testAnnotatedTypeWrapper() throws Exception
+   {
+      AnnotatedTypeWrapper wrap1 = new AnnotatedTypeWrapper(getCurrentManager().createAnnotatedType(ThingBean.class));
+      AnnotatedTypeWrapper wrap2 = new AnnotatedTypeWrapper(getCurrentManager().createAnnotatedType(ThingBean.class));
+      
+      assertTrue(wrap1.hashCode() != 0);
+      assertEquals(wrap1.hashCode(), wrap2.hashCode());
+      assertTrue(wrap1.equals(wrap2));
+      assertTrue(wrap2.equals(wrap1));
+   }
    
+   public void testWeldFromMcRegistry() throws Exception
+   {
+      WeldKernelControllerContext context = deploy(createBeanMetaData("thing", ThingBean.class));
+      try
+      {
+         Collection<AnnotatedTypeWrapper> types = WeldFromMcRegistry.getTypes();
+         assertSize(1, types);
+         
+         AnnotatedType<ThingBean> type = getCurrentManager().createAnnotatedType(ThingBean.class);
+         WeldKernelControllerContext found = WeldFromMcRegistry.getContext(type);
+         assertNotNull(found);
+         assertSame(context, found);
+      }
+      finally
+      {
+         undeployWeld();
+      }
+   }
+   
    public void testInjectMcBeanIntoField() throws Exception
    {
       WeldKernelControllerContext context = deploy(createBeanMetaData("thing", ThingBean.class));
@@ -114,41 +148,41 @@
       }
    }
    
-   public void testInjectMcMethodProducedBeanIntoField() throws Exception
-   {
-      WeldKernelControllerContext context = deploy(createBeanMetaData("thing", ThingMethodProducer.class));
-      try
-      {
-         ThingMethodProducer thing = assertBean("thing", ThingMethodProducer.class);
-         deployWeld(TestMcAfterBeanDiscoveryObserver.class.getPackage(), TestMcAfterBeanDiscoveryObserver.class, ThingField.class);
-         Set<Bean<?>> beans = getCurrentManager().getBeans(ThingField.class);
-         assertEquals(1, beans.size());
-         Bean<ThingField> bean = (Bean<ThingField>)beans.iterator().next();
-         CreationalContext<ThingField> createCtx = getCurrentManager().createCreationalContext(null);
-         
-         
-         ThingField thingField = bean.create(createCtx);
-         assertEquals(thing.getThing(), thingField.thing);
-      }
-      finally
-      {
-         undeployWeld();
-         undeploy(context);
-      }
-   }
-   
-   public void testInjectMcMethodProducedBeanIntoConstructor() throws Exception
-   {
-      fail("NYI");
-   }
-
-   public void testInjectMcFieldProducedBeanIntoField() throws Exception
-   {
-      fail("NYI");
-   }
-
-   public void testInjectMcFieldProducedBeanIntoConstructor() throws Exception
-   {
-      fail("NYI");
-   }
+//   public void testInjectMcMethodProducedBeanIntoField() throws Exception
+//   {
+//      WeldKernelControllerContext context = deploy(createBeanMetaData("thing", ThingMethodProducer.class));
+//      try
+//      {
+//         ThingMethodProducer thing = assertBean("thing", ThingMethodProducer.class);
+//         deployWeld(TestMcAfterBeanDiscoveryObserver.class.getPackage(), TestMcAfterBeanDiscoveryObserver.class, ThingField.class);
+//         Set<Bean<?>> beans = getCurrentManager().getBeans(ThingField.class);
+//         assertEquals(1, beans.size());
+//         Bean<ThingField> bean = (Bean<ThingField>)beans.iterator().next();
+//         CreationalContext<ThingField> createCtx = getCurrentManager().createCreationalContext(null);
+//         
+//         
+//         ThingField thingField = bean.create(createCtx);
+//         assertEquals(thing.getThing(), thingField.thing);
+//      }
+//      finally
+//      {
+//         undeployWeld();
+//         undeploy(context);
+//      }
+//   }
+//   
+//   public void testInjectMcMethodProducedBeanIntoConstructor() throws Exception
+//   {
+//      fail("NYI");
+//   }
+//
+//   public void testInjectMcFieldProducedBeanIntoField() throws Exception
+//   {
+//      fail("NYI");
+//   }
+//
+//   public void testInjectMcFieldProducedBeanIntoConstructor() throws Exception
+//   {
+//      fail("NYI");
+//   }
 }




More information about the jboss-cvs-commits mailing list