Author: rmannibucau
Date: Tue Aug  2 07:16:15 2011
New Revision: 1153050

URL: http://svn.apache.org/viewvc?rev=1153050&view=rev
Log:
fixing injections into application composer

Modified:
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java
    
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/RepositoryTest.java

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java?rev=1153050&r1=1153049&r2=1153050&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java
 Tue Aug  2 07:16:15 2011
@@ -27,6 +27,7 @@ import org.apache.openejb.config.Configu
 import org.apache.openejb.config.ConnectorModule;
 import org.apache.openejb.config.EjbModule;
 import org.apache.openejb.config.PersistenceModule;
+import org.apache.openejb.core.InstanceContext;
 import org.apache.openejb.core.Operation;
 import org.apache.openejb.core.ThreadContext;
 import org.apache.openejb.core.ivm.naming.InitContextFactory;
@@ -284,19 +285,24 @@ public class ApplicationComposer extends
                     final ContainerSystem containerSystem = 
SystemInstance.get().getComponent(ContainerSystem.class);
                     final BeanContext context = 
containerSystem.getBeanContext(javaClass.getName());
 
-                    final InjectionProcessor processor = new 
InjectionProcessor(testInstance, context.getInjections(), 
context.getJndiContext());
+                    ThreadContext callContext = new ThreadContext(context, 
null, Operation.INJECTION);
+                    ThreadContext oldContext = 
ThreadContext.enter(callContext);
+                    try {
+                        final InjectionProcessor processor = new 
InjectionProcessor(testInstance, context.getInjections(), 
context.getJndiContext());
 
-                    processor.createInstance();
+                        processor.createInstance();
 
-                    try {
-                        OWBInjector beanInjector = new 
OWBInjector(appContext.getWebBeansContext());
-                        beanInjector.inject(testInstance);
-                    } catch (Throwable t) {
-                        // TODO handle this differently
-                        // this is temporary till the injector can be rewritten
+                        try {
+                            OWBInjector beanInjector = new 
OWBInjector(appContext.getWebBeansContext());
+                            beanInjector.inject(testInstance);
+                        } catch (Throwable t) {
+                            // TODO handle this differently
+                            // this is temporary till the injector can be 
rewritten
+                        }
+                    } finally {
+                        ThreadContext.exit(oldContext);
                     }
 
-
                     
System.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, 
InitContextFactory.class.getName());
 
                     final ThreadContext previous = ThreadContext.enter(new 
ThreadContext(context, null, Operation.BUSINESS));

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/RepositoryTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/RepositoryTest.java?rev=1153050&r1=1153049&r2=1153050&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/RepositoryTest.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/RepositoryTest.java
 Tue Aug  2 07:16:15 2011
@@ -37,7 +37,6 @@ import javax.persistence.EntityManager;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
 import javax.persistence.PersistenceContext;
-import java.lang.reflect.Proxy;
 import java.util.Collection;
 import java.util.Properties;
 
@@ -53,11 +52,9 @@ public class RepositoryTest {
 
     @EJB private InitUserDAO init;
     @EJB private UserChecker checker;
-    @PersistenceContext private EntityManager em;
-    private UserDAO dao;
+    @Repository private UserDAO dao;
 
-    @Before public void checkTestInjection() {
-        dao = (UserDAO) 
Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), new 
Class<?>[] { UserDAO.class }, new QueryProxy(em));
+    @Before public void initDatabaseIfNotDone() {
         if (!initDone) {
             init.init();
             initDone = true;


Reply via email to