You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/08/30 01:42:13 UTC

svn commit: r570984 - /openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java

Author: dblevins
Date: Wed Aug 29 16:42:12 2007
New Revision: 570984

URL: http://svn.apache.org/viewvc?rev=570984&view=rev
Log:
cleaned up to use configureApplication and createApplication

Modified:
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java

Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java?rev=570984&r1=570983&r2=570984&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java Wed Aug 29 16:42:12 2007
@@ -18,101 +18,93 @@
 package org.apache.openejb.core.stateless;
 
 import junit.framework.TestCase;
-import org.apache.openejb.DeploymentInfo;
-import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.spi.SecurityService;
-import org.apache.openejb.loader.SystemInstance;
-import org.apache.openejb.util.proxy.ProxyManager;
-import org.apache.openejb.util.proxy.Jdk13ProxyFactory;
-import org.apache.openejb.core.CoreDeploymentInfo;
-import org.apache.openejb.config.EjbModule;
-import org.apache.openejb.config.EjbJarInfoBuilder;
-import org.apache.openejb.config.JndiEncInfoBuilder;
-import org.apache.openejb.jee.oejb3.EjbDeployment;
-import org.apache.openejb.jee.oejb3.OpenejbJar;
-import org.apache.openejb.assembler.classic.EjbJarBuilder;
-import org.apache.openejb.assembler.classic.EjbJarInfo;
+import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.assembler.classic.ConnectionManagerInfo;
+import org.apache.openejb.assembler.classic.ProxyFactoryInfo;
+import org.apache.openejb.assembler.classic.SecurityServiceInfo;
+import org.apache.openejb.assembler.classic.StatelessSessionContainerInfo;
+import org.apache.openejb.assembler.classic.TransactionServiceInfo;
+import org.apache.openejb.config.ConfigurationFactory;
+import org.apache.openejb.core.ivm.naming.InitContextFactory;
 import org.apache.openejb.jee.EjbJar;
 import org.apache.openejb.jee.StatelessBean;
-import org.apache.openejb.ri.sp.PseudoSecurityService;
-import org.apache.openejb.ri.sp.PseudoTransactionService;
 
 import javax.ejb.SessionContext;
+import javax.naming.InitialContext;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Stack;
-import java.util.Properties;
 
 /**
  * @version $Revision$ $Date$
  */
 public class StatelessContainerTest extends TestCase {
-    private StatelessContainer container;
-    private DeploymentInfo deploymentInfo;
 
     public void testPojoStyleBean() throws Exception {
+        List expected = Arrays.asList(Lifecycle.values());
+        InitialContext ctx = new InitialContext();
 
-        Object result = container.invoke("widget", Widget.class, Widget.class.getMethod("getLifecycle"), new Object[]{}, null);
-        assertTrue("instance of Stack", result instanceof Stack);
+        {
+            WidgetBean.lifecycle.clear();
 
-        Stack<Lifecycle> actual = (Stack<Lifecycle>) result;
+            Object object = ctx.lookup("WidgetBeanBusinessLocal");
 
-        List expected = Arrays.asList(Lifecycle.values());
+            assertTrue("instanceof widget", object instanceof Widget);
 
-        assertEquals(join("\n", expected), join("\n", actual));
-    }
+            Widget widget = (Widget) object;
 
-    public void testBusinessLocalInterface() throws Exception {
+            // Do a business method...
+            Stack<Lifecycle> lifecycle = widget.getLifecycle();
+            assertNotNull("lifecycle", lifecycle);
+            assertSame("lifecycle", lifecycle, WidgetBean.lifecycle);
 
-        CoreDeploymentInfo coreDeploymentInfo = (CoreDeploymentInfo) deploymentInfo;
-        DeploymentInfo.BusinessLocalHome businessLocalHome = coreDeploymentInfo.getBusinessLocalHome();
-        assertNotNull("businessLocalHome", businessLocalHome);
+            // Check the lifecycle of the bean
+            assertEquals(join("\n", expected), join("\n", lifecycle));
+        }
+        {
 
-        Object object = businessLocalHome.create();
-        assertNotNull("businessLocalHome.create()", businessLocalHome);
+            WidgetBean.lifecycle.clear();
 
-        assertTrue("instanceof widget", object instanceof Widget);
+            Object object = ctx.lookup("WidgetBeanBusinessRemote");
 
-        Widget widget = (Widget) object;
+            assertTrue("instanceof widget", object instanceof RemoteWidget);
 
-        // Do a business method...
-        Stack<Lifecycle> lifecycle = widget.getLifecycle();
-        assertNotNull("lifecycle",lifecycle);
+            RemoteWidget remoteWidget = (RemoteWidget) object;
 
-        // Check the lifecycle of the bean
-        List expected = Arrays.asList(Lifecycle.values());
+            // Do a business method...
+            Stack<Lifecycle> lifecycle = remoteWidget.getLifecycle();
+            assertNotNull("lifecycle", lifecycle);
+            assertNotSame("lifecycle", lifecycle, WidgetBean.lifecycle);
 
-        assertEquals(join("\n", expected) , join("\n", lifecycle));
+            // Check the lifecycle of the bean
+            assertEquals(join("\n", expected), join("\n", lifecycle));
+        }
     }
 
-    public void testBusinessRemoteInterface() throws Exception {
+    protected void setUp() throws Exception {
+        super.setUp();
 
-        CoreDeploymentInfo coreDeploymentInfo = (CoreDeploymentInfo) deploymentInfo;
-        DeploymentInfo.BusinessRemoteHome businessRemoteHome = coreDeploymentInfo.getBusinessRemoteHome();
-        assertNotNull("businessRemoteHome", businessRemoteHome);
+        System.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, InitContextFactory.class.getName());
 
-        Object object = businessRemoteHome.create();
-        assertNotNull("businessRemoteHome.create()", businessRemoteHome);
+        ConfigurationFactory config = new ConfigurationFactory();
+        Assembler assembler = new Assembler();
 
-        assertTrue("instanceof widget", object instanceof RemoteWidget);
+        assembler.createProxyFactory(config.configureService(ProxyFactoryInfo.class));
+        assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
+        assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
 
-        RemoteWidget widget = (RemoteWidget) object;
+        assembler.createConnectionManager(config.configureService(ConnectionManagerInfo.class));
 
-        // Do a business method...
-        Stack<Lifecycle> lifecycle = widget.getLifecycle();
-        assertNotNull("lifecycle",lifecycle);
-        assertNotSame("is copy", lifecycle, WidgetBean.lifecycle);
+        // containers
+        StatelessSessionContainerInfo statelessContainerInfo = config.configureService(StatelessSessionContainerInfo.class);
+        statelessContainerInfo.properties.setProperty("TimeOut", "10");
+        statelessContainerInfo.properties.setProperty("PoolSize", "0");
+        statelessContainerInfo.properties.setProperty("StrictPooling", "false");
+        assembler.createContainer(statelessContainerInfo);
 
-        // Check the lifecycle of the bean
-        List expected = Arrays.asList(Lifecycle.values());
+        // Setup the descriptor information
 
-        assertEquals(join("\n", expected) , join("\n", lifecycle));
-    }
-
-    protected void setUp() throws Exception {
-        super.setUp();
-        StatelessBean bean = new StatelessBean("widget", WidgetBean.class.getName());
+        StatelessBean bean = new StatelessBean(WidgetBean.class);
         bean.addBusinessLocal(Widget.class.getName());
         bean.addBusinessRemote(RemoteWidget.class.getName());
         bean.addPostConstruct("init");
@@ -121,25 +113,8 @@
         EjbJar ejbJar = new EjbJar();
         ejbJar.addEnterpriseBean(bean);
 
-        OpenejbJar openejbJar = new OpenejbJar();
-        openejbJar.addEjbDeployment(new EjbDeployment("Stateless Container", "widget", "widget"));
-
-        EjbModule jar = new EjbModule(this.getClass().getClassLoader(), "", ejbJar, openejbJar);
-
-        PseudoTransactionService transactionManager = new PseudoTransactionService();
-        PseudoSecurityService securityService = new PseudoSecurityService();
-        SystemInstance.get().setComponent(SecurityService.class, securityService);
-        container = new StatelessContainer("Stateless Container", transactionManager, securityService, 10, 0, false);
-        Properties props = new Properties();
-        props.put(container.getContainerID(), container);
+        assembler.createApplication(config.configureApplication(ejbJar));
 
-        HashMap<String, DeploymentInfo> ejbs = build(props, jar);
-        deploymentInfo = ejbs.get("widget");
-
-        ProxyManager.registerFactory("ivm_server", new Jdk13ProxyFactory());
-        ProxyManager.setDefaultFactory("ivm_server");
-
-        WidgetBean.lifecycle.clear();
     }
 
     private static String join(String delimeter, List items) {
@@ -150,19 +125,6 @@
         return sb.toString();
     }
 
-    private HashMap<String, DeploymentInfo> build(Properties props, EjbModule ejbModule) throws OpenEJBException {
-        EjbJarInfoBuilder infoBuilder = new EjbJarInfoBuilder();
-        EjbJarInfo jarInfo = infoBuilder.buildInfo(ejbModule);
-
-        // Process JNDI refs
-        JndiEncInfoBuilder.initJndiReferences(ejbModule, jarInfo);
-
-        EjbJarBuilder builder = new EjbJarBuilder(props, this.getClass().getClassLoader());
-        HashMap<String, DeploymentInfo> ejbs = builder.build(jarInfo,null);
-        builder.deploy(ejbs);
-        return ejbs;
-    }
-
     public static interface Widget {
         Stack<Lifecycle> getLifecycle();
     }
@@ -172,7 +134,7 @@
     }
 
     public static enum Lifecycle {
-        CONSTRUCTOR, POST_CONSTRUCT, BUSINESS_METHOD, PRE_DESTROY
+        CONSTRUCTOR, INJECTION, POST_CONSTRUCT, BUSINESS_METHOD, PRE_DESTROY
     }
 
     public static class WidgetBean implements Widget, RemoteWidget {
@@ -184,7 +146,7 @@
         }
 
         public void setSessionContext(SessionContext sessionContext) {
-            //lifecycle.push(Lifecycle.INJECTION);
+            lifecycle.push(Lifecycle.INJECTION);
         }
 
         public Stack<Lifecycle> getLifecycle() {