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 2010/03/09 21:28:31 UTC

svn commit: r921102 - in /openwebbeans/trunk/webbeans-openejb: ./ src/main/java/org/apache/webbeans/ejb/ src/main/java/org/apache/webbeans/ejb/component/ src/main/java/org/apache/webbeans/ejb/component/creation/ src/main/java/org/apache/webbeans/ejb/in...

Author: gerdogdu
Date: Tue Mar  9 20:28:31 2010
New Revision: 921102

URL: http://svn.apache.org/viewvc?rev=921102&view=rev
Log:
[OWB-322]Create new EJB project and separate common EJB classes from OpenEJB plugin

Added:
    openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/OpenEjbBean.java
      - copied, changed from r920460, openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/EjbBean.java
Removed:
    openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/EjbConstants.java
    openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/EjbBean.java
    openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/creation/
    openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/interceptor/
    openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/proxy/
    openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/util/
Modified:
    openwebbeans/trunk/webbeans-openejb/pom.xml
    openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/EjbPlugin.java
    openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/EjbTestContext.java
    openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/bean/SimpleBeanTest.java
    openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/definition/apitype/EjbApiTypeTest.java
    openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/definition/validator/EjbValidatorTest.java

Modified: openwebbeans/trunk/webbeans-openejb/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-openejb/pom.xml?rev=921102&r1=921101&r2=921102&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-openejb/pom.xml (original)
+++ openwebbeans/trunk/webbeans-openejb/pom.xml Tue Mar  9 20:28:31 2010
@@ -58,6 +58,11 @@
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-ejb-common</artifactId>
+			<version>${project.version}</version>
+		</dependency>
 		
 	</dependencies>
 </project>

Modified: openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/EjbPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/EjbPlugin.java?rev=921102&r1=921101&r2=921102&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/EjbPlugin.java (original)
+++ openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/EjbPlugin.java Tue Mar  9 20:28:31 2010
@@ -27,9 +27,9 @@ import org.apache.openejb.core.stateful.
 import org.apache.openejb.core.stateless.StatelessContainer;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.spi.ContainerSystem;
-import org.apache.webbeans.ejb.component.EjbBean;
-import org.apache.webbeans.ejb.util.EjbDefinitionUtility;
-import org.apache.webbeans.ejb.util.EjbUtility;
+import org.apache.webbeans.ejb.common.util.EjbDefinitionUtility;
+import org.apache.webbeans.ejb.common.util.EjbUtility;
+import org.apache.webbeans.ejb.component.OpenEjbBean;
 import org.apache.webbeans.exception.WebBeansConfigurationException;
 import org.apache.webbeans.plugins.AbstractOwbPlugin;
 import org.apache.webbeans.plugins.OpenWebBeansEjbPlugin;
@@ -87,7 +87,7 @@ public class EjbPlugin extends AbstractO
             throw new IllegalArgumentException("Illegal EJB type with class : " + clazz.getName());
         }
         
-        EjbBean<T> bean = new EjbBean<T>(clazz);
+        OpenEjbBean<T> bean = new OpenEjbBean<T>(clazz);
         bean.setDeploymentInfo(info);
         bean.setEjbType(type);
         
@@ -173,7 +173,7 @@ public class EjbPlugin extends AbstractO
     @Override
     public Object getSessionBeanProxy(Bean<?> bean, Class<?> iface, CreationalContext<?> creationalContext)
     {
-        return EjbDefinitionUtility.defineEjbBeanProxy((EjbBean<?>)bean,iface, creationalContext);
+        return EjbDefinitionUtility.defineEjbBeanProxy((OpenEjbBean<?>)bean,iface, creationalContext);
     }
        
 }

Copied: openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/OpenEjbBean.java (from r920460, openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/EjbBean.java)
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/OpenEjbBean.java?p2=openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/OpenEjbBean.java&p1=openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/EjbBean.java&r1=920460&r2=921102&rev=921102&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/EjbBean.java (original)
+++ openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/OpenEjbBean.java Tue Mar  9 20:28:31 2010
@@ -16,8 +16,11 @@
  */
 package org.apache.webbeans.ejb.component;
 
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
 import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.SessionBeanType;
 import javax.naming.Context;
 import javax.naming.NamingException;
 
@@ -26,60 +29,25 @@ import org.apache.openejb.InterfaceType;
 import org.apache.openejb.assembler.classic.JndiBuilder;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.spi.ContainerSystem;
-import org.apache.webbeans.component.AbstractInjectionTargetBean;
-import org.apache.webbeans.component.EnterpriseBeanMarker;
-import org.apache.webbeans.component.WebBeansType;
+import org.apache.webbeans.ejb.common.component.BaseEjbBean;
 
 /**
  * Defines bean contract for the session beans.
  * 
  * @version $Rev$ $Date$
  */
-public class EjbBean<T> extends AbstractInjectionTargetBean<T> implements EnterpriseBeanMarker
+public class OpenEjbBean<T> extends BaseEjbBean<T>
 {
-    /**Session bean type*/
-    private SessionBeanType ejbType;
-    
     /**OpenEJB deployment info*/
     private DeploymentInfo deploymentInfo;    
     
-    /**Current bean instance*/
-    private T instance = null;
-    
-    /**Injected reference local interface type*/
-    private Class<?> iface = null;
-    
-    /**Remove stateful bean instance*/
-    private boolean removeStatefulInstance = false;
-    
     /**
      * Creates a new instance of the session bean.
      * @param ejbClassType ebj class type
      */
-    public EjbBean(Class<T> ejbClassType)
-    {
-        super(WebBeansType.ENTERPRISE,ejbClassType);
-
-        //Setting inherited meta data instance
-        setInheritedMetaData();
-    }
-
-    /**
-     * Sets local interface type.
-     * @param iface local interface type
-     */
-    public void setIface(Class<?> iface)
+    public OpenEjbBean(Class<T> ejbClassType)
     {
-        this.iface = iface;
-    }
-    
-    /**
-     * Sets remove flag.
-     * @param remove flag
-     */
-    public void setRemoveStatefulInstance(boolean remove)
-    {
-        this.removeStatefulInstance = remove;
+        super(ejbClassType);
     }
     
     /**
@@ -99,51 +67,13 @@ public class EjbBean<T> extends Abstract
     {
         return this.deploymentInfo;
     }
-    
-        
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void injectFields(T instance, CreationalContext<T> creationalContext)
-    {
-        //No-operations
-    }
-    
-    
-    
-    /* (non-Javadoc)
-     * @see org.apache.webbeans.component.AbstractBean#isPassivationCapable()
-     */
-    @Override
-    public boolean isPassivationCapable()
-    {
-        if(this.ejbType.equals(SessionBeanType.STATEFUL))
-        {
-            return true;
-        }
-        
-        return false;
-    }
-
-    /**
-     * Inject session bean injected fields. It is called from
-     * interceptor.
-     * @param instance bean instance
-     * @param creationalContext creational context instance
-     */
-    @SuppressWarnings("unchecked")
-    public void injectFieldInInterceptor(Object instance, CreationalContext<?> creationalContext)
-    {
-        super.injectFields((T)instance, (CreationalContext<T>)creationalContext);
-    }
-
+            
     /**
      * {@inheritDoc}
      */
     @Override
     @SuppressWarnings("unchecked")
-    protected T createComponentInstance(CreationalContext<T> creationalContext)
+    protected T getInstance(CreationalContext<T> creationalContext)
     {
         if(this.instance == null)
         {
@@ -177,29 +107,6 @@ public class EjbBean<T> extends Abstract
         return instance;
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    protected void destroyComponentInstance(T instance, CreationalContext<T> creational)
-    {
-        if(removeStatefulInstance && getEjbType().equals(SessionBeanType.STATEFUL))
-        {
-            //Call remove method
-        }
-        
-        this.instance = null;
-    }
-    
-    /**
-     * Sets session bean type.
-     * @param type session bean type
-     */
-    public void setEjbType(SessionBeanType type)
-    {
-        this.ejbType = type;
-        
-    }
     
     /**
      * Gets ejb name.
@@ -209,14 +116,32 @@ public class EjbBean<T> extends Abstract
     {
         return this.deploymentInfo.getEjbName();
     }
-    
-    /**
-     * Gets ejb session type.
-     * @return type of the ejb
+
+    /* (non-Javadoc)
+     * @see org.apache.webbeans.ejb.common.component.BaseEjbBean#getBusinessLocalInterfaces()
      */
-    public SessionBeanType getEjbType()
+    @Override
+    @SuppressWarnings("unchecked")
+    public List<Class<?>> getBusinessLocalInterfaces()
     {
-        return this.ejbType;
+        List<Class<?>> clazzes = new ArrayList<Class<?>>();        
+        List<Class> cl = this.deploymentInfo.getBusinessLocalInterfaces();
+        
+        if(cl != null && !cl.isEmpty())
+        {
+            for(Class<?> c : cl)
+            {
+                clazzes.add(c);
+            }
+        }
+        
+        return clazzes;
     }
 
+    @Override
+    public List<Method> getRemoveMethods()
+    {
+        return super.getRemoveMethods();
+    }
+    
 }
\ No newline at end of file

Modified: openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/EjbTestContext.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/EjbTestContext.java?rev=921102&r1=921101&r2=921102&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/EjbTestContext.java (original)
+++ openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/EjbTestContext.java Tue Mar  9 20:28:31 2010
@@ -18,7 +18,7 @@ package org.apache.webbeans.ejb;
 
 import org.apache.openejb.OpenEJB;
 import org.apache.webbeans.container.BeanManagerImpl;
-import org.apache.webbeans.ejb.component.EjbBean;
+import org.apache.webbeans.ejb.component.OpenEjbBean;
 import org.apache.webbeans.plugins.PluginLoader;
 
 public abstract class EjbTestContext
@@ -59,9 +59,9 @@ public abstract class EjbTestContext
         }
     }
     
-    protected <T> EjbBean<T> defineEjbBean(Class<T> ejbClass)
+    protected <T> OpenEjbBean<T> defineEjbBean(Class<T> ejbClass)
     {
         EjbPlugin plugin = new EjbPlugin();
-       return (EjbBean<T>)plugin.defineSessionBean(ejbClass);
+       return (OpenEjbBean<T>)plugin.defineSessionBean(ejbClass);
     }
 }

Modified: openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/bean/SimpleBeanTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/bean/SimpleBeanTest.java?rev=921102&r1=921101&r2=921102&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/bean/SimpleBeanTest.java (original)
+++ openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/bean/SimpleBeanTest.java Tue Mar  9 20:28:31 2010
@@ -17,7 +17,7 @@ import junit.framework.Assert;
 
 import org.apache.webbeans.ejb.EjbPlugin;
 import org.apache.webbeans.ejb.EjbTestContext;
-import org.apache.webbeans.ejb.component.EjbBean;
+import org.apache.webbeans.ejb.component.OpenEjbBean;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -49,7 +49,7 @@ public class SimpleBeanTest extends EjbT
         
         Assert.assertTrue(value);
         
-        EjbBean<SimpleBean> bean = (EjbBean<SimpleBean>)plugin.defineSessionBean(SimpleBean.class);
+        OpenEjbBean<SimpleBean> bean = (OpenEjbBean<SimpleBean>)plugin.defineSessionBean(SimpleBean.class);
         Assert.assertNotNull(bean);
         
         

Modified: openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/definition/apitype/EjbApiTypeTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/definition/apitype/EjbApiTypeTest.java?rev=921102&r1=921101&r2=921102&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/definition/apitype/EjbApiTypeTest.java (original)
+++ openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/definition/apitype/EjbApiTypeTest.java Tue Mar  9 20:28:31 2010
@@ -20,8 +20,8 @@ import java.lang.reflect.Type;
 import java.util.Set;
 
 import org.apache.webbeans.ejb.EjbTestContext;
-import org.apache.webbeans.ejb.component.EjbBean;
-import org.apache.webbeans.ejb.util.EjbDefinitionUtility;
+import org.apache.webbeans.ejb.common.util.EjbDefinitionUtility;
+import org.apache.webbeans.ejb.component.OpenEjbBean;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
@@ -49,7 +49,7 @@ public class EjbApiTypeTest extends EjbT
     @Test
     public void testBalkiApiType()
     {
-        EjbBean<Balki> bean = defineEjbBean(Balki.class);
+        OpenEjbBean<Balki> bean = defineEjbBean(Balki.class);
         EjbDefinitionUtility.defineApiType(bean);
         
         Set<Type> types = bean.getTypes();
@@ -60,7 +60,7 @@ public class EjbApiTypeTest extends EjbT
     @Test
     public void testDefaultLocalBalkiApiType()
     {
-        EjbBean<Balki_DefaultLocal> bean = defineEjbBean(Balki_DefaultLocal.class);
+        OpenEjbBean<Balki_DefaultLocal> bean = defineEjbBean(Balki_DefaultLocal.class);
         EjbDefinitionUtility.defineApiType(bean);
         
         Set<Type> types = bean.getTypes();
@@ -71,7 +71,7 @@ public class EjbApiTypeTest extends EjbT
     @Test
     public void testClassLocalBalkiApiType()
     {
-        EjbBean<Balki_ClassLocal> bean = defineEjbBean(Balki_ClassLocal.class);
+        OpenEjbBean<Balki_ClassLocal> bean = defineEjbBean(Balki_ClassLocal.class);
         EjbDefinitionUtility.defineApiType(bean);
         
         Set<Type> types = bean.getTypes();
@@ -82,7 +82,7 @@ public class EjbApiTypeTest extends EjbT
     @Test
     public void testClassLocalViewBalkiApiType()
     {
-        EjbBean<Balki_ClassView> bean = defineEjbBean(Balki_ClassView.class);
+        OpenEjbBean<Balki_ClassView> bean = defineEjbBean(Balki_ClassView.class);
         EjbDefinitionUtility.defineApiType(bean);
         
         Set<Type> types = bean.getTypes();

Modified: openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/definition/validator/EjbValidatorTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/definition/validator/EjbValidatorTest.java?rev=921102&r1=921101&r2=921102&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/definition/validator/EjbValidatorTest.java (original)
+++ openwebbeans/trunk/webbeans-openejb/src/test/java/org/apache/webbeans/ejb/definition/validator/EjbValidatorTest.java Tue Mar  9 20:28:31 2010
@@ -17,7 +17,7 @@
 package org.apache.webbeans.ejb.definition.validator;
 
 import org.apache.webbeans.ejb.EjbTestContext;
-import org.apache.webbeans.ejb.util.EjbValidator;
+import org.apache.webbeans.ejb.common.util.EjbValidator;
 import org.apache.webbeans.exception.WebBeansConfigurationException;
 import org.junit.Assert;
 import org.junit.Before;