(no commit message)
authorerik <erik@77661180-640e-0410-b3a8-9f9b13e6d0e0>
Wed, 14 Jul 2010 21:55:48 +0000 (21:55 +0000)
committererik <erik@77661180-640e-0410-b3a8-9f9b13e6d0e0>
Wed, 14 Jul 2010 21:55:48 +0000 (21:55 +0000)
support/cdi/src/main/java/org/wamblee/cdi/SimpleInjector.java
support/cdi/src/test/java/org/wamblee/cdi/MySingleton.java
support/cdi/src/test/java/org/wamblee/cdi/SimpleInjectorTest.java
support/cdi/src/test/java/org/wamblee/cdi/WeldTest.java

index 12ebc30729b5104624963c4775f61e28aafb0500..fff8f113be13fe8525e6b850366f7fac05b42589 100644 (file)
@@ -19,6 +19,26 @@ package org.wamblee.cdi;
  * Singleton injector access. This should be used as main entry point for
  * injection. A different {@link InjectorFactory} can be plugged in for testing.
  * 
+ * Given the following class: 
+ * <pre> 
+ * class Pojo {
+ *   &#064;EJB
+ *   private Service service; 
+ *   
+ *   ...
+ * }
+ * </pre>
+ * injecting the EJB into a POJO is accomplished as follows: 
+ * <pre>
+ *   Pojo pojo = new Pojo(); 
+ *   SimpleInjector injector = new SimpleInjector(); 
+ *   injector.inject(pojo);
+ * </pre>
+ * 
+ * Note that it is recommended to cache the injector because the injector does caching 
+ * of the types that it injects into. Caching the injector makes sure that a class is not
+ * analysed again for annotation every time injection is used. 
+ * 
  * @author Erik Brakkee
  */
 public class SimpleInjector {
index 4c5974001199562692fb40243be24854a3b091c9..5cac7ba7fe723f0edde65993299e335d8e5c1ee0 100644 (file)
@@ -28,7 +28,12 @@ public class MySingleton {
         instances++;
     }
     
+    public static void reset() { 
+        instances = 0; 
+    }
+    
     public static int getInstances() {
         return instances;
     }
+   
 }
index 44c2eda222aa1ef8aec671f52c59dbbdbacdfcc8..61a124a0a577a073a52accf5bb3158e89b9dc0ab 100644 (file)
@@ -36,6 +36,7 @@ public class SimpleInjectorTest {
         StubInitialContextFactory.register();
         InitialContext ctx = new InitialContext();
         ctx.bind(BeanManagerLookup.BEAN_MANAGER_JNDI, setup.getBeanManager());
+        MySingleton.reset();
     }
 
     @After
index a6d0eb64381ba4a754075edae2969587595a4d61..57fa4ad247ddccf41bdff9b3fcdc48a554289e43 100644 (file)
@@ -18,6 +18,7 @@ public class WeldTest {
     public void setUp() {
         setup = new BeanManagerSetup(); 
         setup.initialize(); 
+        MySingleton.reset();
     }
     
     @After