You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2011/06/09 00:58:59 UTC
svn commit: r1133594 - in /openejb/trunk/openejb3/container/openejb-core/src:
main/java/org/apache/openejb/ main/java/org/apache/openejb/junit/
test/java/org/apache/openejb/cdi/
Author: dblevins
Date: Wed Jun 8 22:58:59 2011
New Revision: 1133594
URL: http://svn.apache.org/viewvc?rev=1133594&view=rev
Log:
OPENEJB-1571: CDI Injection for OpenEjbContainer and ApplicationComposer
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
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/cdi/BasicObserverTest.java
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/StatefulDecoratorInjectionTest.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java?rev=1133594&r1=1133593&r2=1133594&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java Wed Jun 8 22:58:59 2011
@@ -18,6 +18,7 @@ package org.apache.openejb;
import org.apache.openejb.assembler.classic.AppInfo;
import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.cdi.OWBInjector;
import org.apache.openejb.config.AppModule;
import org.apache.openejb.config.ConfigurationFactory;
import org.apache.openejb.config.ConnectorModule;
@@ -126,6 +127,14 @@ public class OpenEjbContainer extends EJ
final InjectionProcessor processor = new InjectionProcessor(object, context.getInjections(), context.getJndiContext());
try {
+ OWBInjector beanInjector = new OWBInjector(appContext.getWebBeansContext());
+ beanInjector.inject(object);
+ } catch (Throwable t) {
+ // TODO handle this differently
+ // this is temporary till the injector can be rewritten
+ }
+
+ try {
return (T) processor.createInstance();
} catch (OpenEJBException e) {
throw new InjectionException(clazz.getName(), e);
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=1133594&r1=1133593&r2=1133594&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 Wed Jun 8 22:58:59 2011
@@ -16,10 +16,12 @@
*/
package org.apache.openejb.junit;
+import org.apache.openejb.AppContext;
import org.apache.openejb.BeanContext;
import org.apache.openejb.InjectionProcessor;
import org.apache.openejb.assembler.classic.AppInfo;
import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.cdi.OWBInjector;
import org.apache.openejb.config.AppModule;
import org.apache.openejb.config.ConfigurationFactory;
import org.apache.openejb.config.ConnectorModule;
@@ -258,7 +260,7 @@ public class ApplicationComposer extends
final AppInfo appInfo = config.configureApplication(appModule);
- assembler.createApplication(appInfo);
+ final AppContext appContext = assembler.createApplication(appInfo);
try {
final ContainerSystem containerSystem = SystemInstance.get().getComponent(ContainerSystem.class);
@@ -268,6 +270,15 @@ public class ApplicationComposer extends
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
+ }
+
+
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/cdi/BasicObserverTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/BasicObserverTest.java?rev=1133594&r1=1133593&r2=1133594&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/BasicObserverTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/BasicObserverTest.java Wed Jun 8 22:58:59 2011
@@ -19,12 +19,12 @@ package org.apache.openejb.cdi;
import org.apache.openejb.jee.Beans;
import org.apache.openejb.junit.ApplicationComposer;
import org.apache.openejb.junit.Module;
-import org.apache.webbeans.config.WebBeansContext;
import org.junit.Test;
import org.junit.runner.RunWith;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.BeanManager;
+import javax.inject.Inject;
import java.util.ArrayList;
import java.util.List;
@@ -37,9 +37,11 @@ import static junit.framework.Assert.ass
@RunWith(ApplicationComposer.class)
public class BasicObserverTest {
+ @Inject
+ private BeanManager beanManager;
+
@Test
public void test() throws Exception {
- final BeanManager beanManager = WebBeansContext.getInstance().getBeanManagerImpl();
assertNotNull(beanManager);
final Catastrophy catastrophy = new Catastrophy();
Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/StatefulDecoratorInjectionTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/StatefulDecoratorInjectionTest.java?rev=1133594&r1=1133593&r2=1133594&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/StatefulDecoratorInjectionTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/StatefulDecoratorInjectionTest.java Wed Jun 8 22:58:59 2011
@@ -29,13 +29,11 @@ import javax.decorator.Decorator;
import javax.decorator.Delegate;
import javax.ejb.ApplicationException;
import javax.ejb.EJB;
-import javax.ejb.EJBAccessException;
import javax.ejb.Local;
import javax.ejb.SessionContext;
import javax.ejb.Stateful;
import javax.enterprise.inject.Produces;
import javax.inject.Inject;
-
import java.security.Principal;
import static junit.framework.Assert.assertNotNull;