Author: rmannibucau
Date: Wed Sep 7 08:00:17 2011
New Revision: 1166035
URL: http://svn.apache.org/viewvc?rev=1166035&view=rev
Log:
allowing cdi localbean injections
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java?rev=1166035&r1=1166034&r2=1166035&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
Wed Sep 7 08:00:17 2011
@@ -89,18 +89,19 @@ public class CdiEjbBean<T> extends BaseE
protected T getInstance(CreationalContext<T> creationalContext) {
final List<Class> classes = beanContext.getBusinessLocalInterfaces();
- final Class mainInterface = classes.get(0);
-
- List<Class> interfaces =
ProxyInterfaceResolver.getInterfaces(beanContext.getBeanClass(), mainInterface,
classes);
- BeanContext.BusinessLocalHome home =
beanContext.getBusinessLocalHome(interfaces, mainInterface);
-
CurrentCreationalContext currentCreationalContext =
beanContext.get(CurrentCreationalContext.class);
-
CreationalContext existing = currentCreationalContext.get();
+ currentCreationalContext.set(creationalContext);
try {
- currentCreationalContext.set(creationalContext);
-
- return (T) home.create();
+ if (classes.size() == 0 && beanContext.isLocalbean()) {
+ BeanContext.BusinessLocalBeanHome home =
beanContext.getBusinessLocalBeanHome();
+ return (T) home.create();
+ } else {
+ final Class<?> mainInterface = classes.get(0);
+ List<Class> interfaces =
ProxyInterfaceResolver.getInterfaces(beanContext.getBeanClass(), mainInterface,
classes);
+ BeanContext.BusinessLocalHome home =
beanContext.getBusinessLocalHome(interfaces, mainInterface);
+ return (T) home.create();
+ }
} finally {
currentCreationalContext.set(existing);
}