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;