You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2009/08/30 17:10:39 UTC

svn commit: r809351 - /incubator/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/component/creation/EjbBeanCreatorImpl.java

Author: gerdogdu
Date: Sun Aug 30 15:10:39 2009
New Revision: 809351

URL: http://svn.apache.org/viewvc?rev=809351&view=rev
Log:
OWB-127 Stateful EJBs have to be handled as being passivation capable

Modified:
    incubator/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/component/creation/EjbBeanCreatorImpl.java

Modified: incubator/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/component/creation/EjbBeanCreatorImpl.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/component/creation/EjbBeanCreatorImpl.java?rev=809351&r1=809350&r2=809351&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/component/creation/EjbBeanCreatorImpl.java (original)
+++ incubator/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/component/creation/EjbBeanCreatorImpl.java Sun Aug 30 15:10:39 2009
@@ -15,10 +15,13 @@
 
 import java.util.List;
 
+import javax.enterprise.inject.spi.SessionBeanType;
+
 import org.apache.openejb.DeploymentInfo;
 import org.apache.webbeans.component.creation.AbstractInjectedTargetBeanCreator;
 import org.apache.webbeans.ejb.component.EjbBean;
 import org.apache.webbeans.ejb.util.EjbValidator;
+import org.apache.webbeans.exception.WebBeansPassivationException;
 
 /**
  * EjbBeanCreatorImpl.
@@ -47,9 +50,21 @@
      * {@inheritDoc}
      */
     @Override
-    public void defineScopeType(String errorMessage)
+    public void defineScopeType(String errorMessage) throws WebBeansPassivationException
     {
-        super.defineScopeType(errorMessage);
+        try
+        {
+            super.defineScopeType(errorMessage);   
+        }
+        catch(WebBeansPassivationException e)
+        {
+            SessionBeanType type = getBean().getEjbType();
+            if(!type.equals(SessionBeanType.STATEFUL))
+            {
+                throw e;
+            }
+        }
+        
         EjbValidator.validateEjbScopeType(getBean());
         EjbValidator.validateGenericBeanType(getBean().getReturnType(), getBean().getScopeType());
     }
@@ -87,6 +102,5 @@
     public EjbBean<T> getBean()
     {
         return EjbBean.class.cast(super.getBean());
-    }
-    
+    }    
 }
\ No newline at end of file