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