Author: rmannibucau
Date: Wed Mar 28 09:02:16 2012
New Revision: 1306219
URL: http://svn.apache.org/viewvc?rev=1306219&view=rev
Log:
using a threadcontext when injecting in a test class (using OpenEJBContainer)
to get an initialcontext (and be able to lookup validator for instance in cdi
beans)
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java?rev=1306219&r1=1306218&r2=1306219&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
Wed Mar 28 09:02:16 2012
@@ -25,6 +25,8 @@ import org.apache.openejb.config.EjbModu
import org.apache.openejb.config.NewLoaderLogic;
import org.apache.openejb.config.PersistenceModule;
import org.apache.openejb.config.ValidationFailedException;
+import org.apache.openejb.core.Operation;
+import org.apache.openejb.core.ThreadContext;
import org.apache.openejb.jee.Application;
import org.apache.openejb.jee.Beans;
import org.apache.openejb.jee.Connector;
@@ -140,12 +142,17 @@ public class OpenEjbContainer extends EJ
final InjectionProcessor processor = new InjectionProcessor(object,
context.getInjections(), context.getJndiContext());
+ final ThreadContext callContext = new ThreadContext(context, null,
Operation.INJECTION);
+ final ThreadContext oldContext = ThreadContext.enter(callContext);
try {
final OWBInjector beanInjector = new OWBInjector(webBeanContext);
beanInjector.inject(object);
} catch (Throwable t) {
+ logger.warning("an error occured while injecting the class '" +
clazz.getName() + "': " + t.getMessage());
// TODO handle this differently
// this is temporary till the injector can be rewritten
+ } finally {
+ ThreadContext.exit(oldContext);
}
try {