[weld-commits] Weld SVN: r5452 - in core/trunk/tests/src/test: resources/org/jboss/weld/tests/extensions and 1 other directory.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Wed Jan 13 12:19:57 EST 2010


Author: pete.muir at jboss.org
Date: 2010-01-13 12:19:56 -0500 (Wed, 13 Jan 2010)
New Revision: 5452

Added:
   core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java
   core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java
   core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java
Modified:
   core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java
   core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension
Log:
WELD-318

Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java	2010-01-13 17:19:56 UTC (rev 5452)
@@ -0,0 +1,11 @@
+package org.jboss.weld.tests.extensions;
+
+public class Capercaillie
+{
+
+   public Capercaillie(String name)
+   {
+      // TODO Auto-generated constructor stub
+   }
+   
+}


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

Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java	2010-01-13 16:52:02 UTC (rev 5451)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java	2010-01-13 17:19:56 UTC (rev 5452)
@@ -89,5 +89,16 @@
       assert !otherObserver.isAllAfterDeploymentValidation(); 
       
    }
+   
+   @Test
+   public void testInjectionTargetWrapped()
+   {
+      getCurrentManager().getInstanceByType(Capercaillie.class);
+      assert Woodland.isPostConstructCalled();
+      assert WoodlandExtension.isInjectCalled();
+      assert WoodlandExtension.isPostConstructCalled();
+      assert WoodlandExtension.isPreDestroyCalled();
+      assert WoodlandExtension.isProduceCalled();
+   }
 
 }

Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java	2010-01-13 17:19:56 UTC (rev 5452)
@@ -0,0 +1,30 @@
+package org.jboss.weld.tests.extensions;
+
+import javax.annotation.PostConstruct;
+import javax.enterprise.inject.Produces;
+
+public class Woodland
+{
+   
+   private static boolean postConstructCalled;
+   
+   @Produces
+   private Capercaillie capercaillie = new Capercaillie("bob");
+   
+   @PostConstruct
+   public void postConstruct()
+   {
+      postConstructCalled = true;
+   }
+   
+   public static boolean isPostConstructCalled()
+   {
+      return postConstructCalled;
+   }
+   
+   public static void reset()
+   {
+      postConstructCalled = false;
+   }
+
+}


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

Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java	2010-01-13 17:19:56 UTC (rev 5452)
@@ -0,0 +1,99 @@
+package org.jboss.weld.tests.extensions;
+
+import java.util.Set;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeforeShutdown;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.enterprise.inject.spi.InjectionTarget;
+import javax.enterprise.inject.spi.ProcessInjectionTarget;
+
+public class WoodlandExtension implements Extension
+{
+   
+   private static boolean injectCalled;
+   private static boolean postConstructCalled;
+   private static boolean preDestroyCalled;
+   private static boolean produceCalled;
+   
+   public void cleanup(@Observes BeforeShutdown shutdown)
+   {
+      reset();
+      Woodland.reset();
+   }
+
+   public void enhanceWoodland(final @Observes ProcessInjectionTarget<Woodland> processWoodland)
+   {
+      final InjectionTarget<Woodland> it = processWoodland.getInjectionTarget();
+      processWoodland.setInjectionTarget(new InjectionTarget<Woodland>()
+      {
+
+         public void inject(Woodland instance, CreationalContext<Woodland> ctx)
+         {
+            injectCalled = true;
+            it.inject(instance, ctx);
+         }
+
+         public void postConstruct(Woodland instance)
+         {
+            postConstructCalled = true;
+            it.postConstruct(instance);
+         }
+
+         public void preDestroy(Woodland instance)
+         {
+            preDestroyCalled = true;
+            it.preDestroy(instance);
+         }
+
+         public void dispose(Woodland instance)
+         {
+            // No-op for class bean
+            
+         }
+
+         public Set<InjectionPoint> getInjectionPoints()
+         {
+            return it.getInjectionPoints();
+         }
+
+         public Woodland produce(CreationalContext<Woodland> ctx)
+         {
+            produceCalled = true;
+            return it.produce(ctx);
+         }
+          
+      });
+   }
+   
+   public static void reset()
+   {
+      injectCalled = false;
+      postConstructCalled = false;
+      preDestroyCalled = false;
+      preDestroyCalled = false;
+   }
+   
+   public static boolean isInjectCalled()
+   {
+      return injectCalled;
+   }
+   
+   public static boolean isPostConstructCalled()
+   {
+      return postConstructCalled;
+   }
+   
+   public static boolean isPreDestroyCalled()
+   {
+      return preDestroyCalled;
+   }
+   
+   public static boolean isProduceCalled()
+   {
+      return produceCalled;
+   }
+   
+}


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

Modified: core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension
===================================================================
--- core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension	2010-01-13 16:52:02 UTC (rev 5451)
+++ core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension	2010-01-13 17:19:56 UTC (rev 5452)
@@ -1,2 +1,3 @@
 org.jboss.weld.tests.extensions.SimpleExtension
-org.jboss.weld.tests.extensions.ExtensionObserver
\ No newline at end of file
+org.jboss.weld.tests.extensions.ExtensionObserver
+org.jboss.weld.tests.extensions.WoodlandExtension
\ No newline at end of file



More information about the weld-commits mailing list