You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by xu...@apache.org on 2010/08/30 16:13:42 UTC
svn commit: r990808 -
/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
Author: xuhaihong
Date: Mon Aug 30 14:13:42 2010
New Revision: 990808
URL: http://svn.apache.org/viewvc?rev=990808&view=rev
Log:
Update codes according to the OWB code changes
Modified:
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
Modified: openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java?rev=990808&r1=990807&r2=990808&view=diff
==============================================================================
--- openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java (original)
+++ openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java Mon Aug 30 14:13:42 2010
@@ -16,22 +16,25 @@
*/
package org.apache.openejb.cdi;
-import org.apache.openejb.DeploymentInfo;
-import org.apache.openejb.assembler.classic.ProxyInterfaceResolver;
-import org.apache.webbeans.ejb.common.component.BaseEjbBean;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
import javax.ejb.Remove;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.SessionBeanType;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
+
+import org.apache.openejb.BeanType;
+import org.apache.openejb.DeploymentInfo;
+import org.apache.openejb.assembler.classic.ProxyInterfaceResolver;
+import org.apache.openejb.jee.SessionType;
+import org.apache.webbeans.ejb.common.component.BaseEjbBean;
public class CdiEjbBean<T> extends BaseEjbBean<T> {
private final DeploymentInfo deploymentInfo;
public CdiEjbBean(DeploymentInfo deploymentInfo) {
- super(deploymentInfo.getBeanClass());
+ super(deploymentInfo.getBeanClass(), toSessionType(deploymentInfo.getComponentType()));
this.deploymentInfo = deploymentInfo;
}
@@ -40,26 +43,6 @@ public class CdiEjbBean<T> extends BaseE
}
@Override
- public void setEjbType(SessionBeanType type) {
- throw new IllegalStateException("The SessionBeanType cannot be changed");
- }
-
- @Override
- public SessionBeanType getEjbType() {
- switch (deploymentInfo.getComponentType()) {
- case SINGLETON:
- return SessionBeanType.SINGLETON;
- case STATELESS:
- return SessionBeanType.STATELESS;
- case STATEFUL:
- case MANAGED:
- return SessionBeanType.STATEFUL;
- default:
- throw new IllegalStateException("Unknown Session BeanType " + deploymentInfo.getComponentType());
- }
- }
-
- @Override
public String getId() {
return (String) deploymentInfo.getDeploymentID();
}
@@ -68,7 +51,7 @@ public class CdiEjbBean<T> extends BaseE
@SuppressWarnings("unchecked")
protected T getInstance(CreationalContext<T> creationalContext) {
- List<Class> interfaces = ProxyInterfaceResolver.getInterfaces(deploymentInfo.getBeanClass(), iface, deploymentInfo.getBusinessLocalInterfaces());
+ List<Class> interfaces = ProxyInterfaceResolver.getInterfaces(deploymentInfo.getBeanClass(), deploymentInfo.getMdbInterface(), deploymentInfo.getBusinessLocalInterfaces());
DeploymentInfo.BusinessLocalHome home = deploymentInfo.getBusinessLocalHome(interfaces);
return (T) home.create();
@@ -133,4 +116,18 @@ public class CdiEjbBean<T> extends BaseE
public String getName() {
return deploymentInfo.getEjbName();
}
+
+ private static SessionBeanType toSessionType(BeanType beanType) {
+ switch (beanType) {
+ case SINGLETON:
+ return SessionBeanType.SINGLETON;
+ case STATELESS:
+ return SessionBeanType.STATELESS;
+ case STATEFUL:
+ case MANAGED:
+ return SessionBeanType.STATEFUL;
+ default:
+ throw new IllegalStateException("Unknown Session BeanType " + beanType);
+ }
+ }
}
\ No newline at end of file