[webbeans-commits] Webbeans SVN: r3469 - in ri/trunk: tests and 2 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Wed Aug 12 19:09:56 EDT 2009


Author: pete.muir at jboss.org
Date: 2009-08-12 19:09:56 -0400 (Wed, 12 Aug 2009)
New Revision: 3469

Added:
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/ExampleTest.java
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/External.java
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/Random.java
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/WebBean.java
Modified:
   ri/trunk/impl/src/main/java/org/jboss/webbeans/SimpleInjectionTarget.java
   ri/trunk/tests/unit-tests.xml
Log:
WBRI-351

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/SimpleInjectionTarget.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/SimpleInjectionTarget.java	2009-08-12 16:19:48 UTC (rev 3468)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/SimpleInjectionTarget.java	2009-08-12 23:09:56 UTC (rev 3469)
@@ -78,6 +78,9 @@
 
    public void postConstruct(T instance)
    {
+      if (postConstruct == null)
+         return;
+      
       try
       {
          postConstruct.invoke(instance);
@@ -90,6 +93,9 @@
 
    public void preDestroy(T instance)
    {
+      if (preDestroy == null)
+         return;
+      
       try
       {
          preDestroy.invoke(instance);

Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/ExampleTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/ExampleTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/ExampleTest.java	2009-08-12 23:09:56 UTC (rev 3469)
@@ -0,0 +1,53 @@
+package org.jboss.webbeans.test.unit.noncontextual;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionTarget;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+ at Artifact
+public class ExampleTest extends AbstractWebBeansTest
+{
+   @Test
+   public void testNonContextual() throws Exception 
+   {
+      NonContextual<External> nonContextual = new NonContextual<External>(getCurrentManager(), External.class);
+      
+      External external = new External();
+      Assert.assertNull(external.bean);
+      nonContextual.postConstruct(external);
+      Assert.assertNotNull(external.bean);
+      nonContextual.preDestroy(external);
+      // preDestroy doesn't cause any dis-injection
+      Assert.assertNotNull(external.bean);      
+   }
+   
+   public class NonContextual<T> {
+
+      final InjectionTarget<T> it;
+      final BeanManager manager;
+
+      public NonContextual(BeanManager manager, Class<T> clazz) {
+         this.manager = manager;
+         AnnotatedType<T> type = manager.createAnnotatedType(clazz);
+         this.it = manager.createInjectionTarget(type);
+      }
+
+      public CreationalContext<T> postConstruct(T instance) {
+         CreationalContext<T> cc = manager.createCreationalContext(null);
+         it.inject(instance, cc);
+         it.postConstruct(instance);
+         return cc;
+      }
+
+      public void preDestroy(T instance) {
+         it.preDestroy(instance);
+      }
+   }
+
+}


Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/ExampleTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/External.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/External.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/External.java	2009-08-12 23:09:56 UTC (rev 3469)
@@ -0,0 +1,40 @@
+/*
+* 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.webbeans.test.unit.noncontextual;
+
+import javax.enterprise.inject.Current;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class External
+{
+   
+   public External()
+   {
+      // TODO Auto-generated constructor stub
+   }
+   
+   @Current WebBean bean;
+}


Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/External.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/Random.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/Random.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/Random.java	2009-08-12 23:09:56 UTC (rev 3469)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.test.unit.noncontextual;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+public @interface Random
+{
+
+}


Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/Random.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/WebBean.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/WebBean.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/WebBean.java	2009-08-12 23:09:56 UTC (rev 3469)
@@ -0,0 +1,5 @@
+package org.jboss.webbeans.test.unit.noncontextual;
+
+public class WebBean
+{
+}


Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/WebBean.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: ri/trunk/tests/unit-tests.xml
===================================================================
--- ri/trunk/tests/unit-tests.xml	2009-08-12 16:19:48 UTC (rev 3468)
+++ ri/trunk/tests/unit-tests.xml	2009-08-12 23:09:56 UTC (rev 3469)
@@ -52,6 +52,7 @@
          <package name="org.jboss.webbeans.test.unit.lookup.circular" />
          <package name="org.jboss.webbeans.test.unit.lookup.wbri279" />
          <package name="org.jboss.webbeans.test.unit.manager" />
+         <package name="org.jboss.webbeans.test.unit.noncontextual" />
          <package name="org.jboss.webbeans.test.unit.security" />
       </packages>
    </test>




More information about the weld-commits mailing list