[jboss-cvs] JBossAS SVN: r101609 - in projects/ejb-book/trunk/ch04-firstejb/src: test/java/org/jboss/ejb3/examples/ch04/firstejb and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Feb 27 17:27:23 EST 2010


Author: ALRubinger
Date: 2010-02-27 17:27:22 -0500 (Sat, 27 Feb 2010)
New Revision: 101609

Modified:
   projects/ejb-book/trunk/ch04-firstejb/src/main/java/org/jboss/ejb3/examples/ch04/firstejb/SimpleCalculatorBean.java
   projects/ejb-book/trunk/ch04-firstejb/src/test/java/org/jboss/ejb3/examples/ch04/firstejb/CalculatorIntegrationTestCase.java
   projects/ejb-book/trunk/ch04-firstejb/src/test/java/org/jboss/ejb3/examples/ch04/firstejb/MultiViewCalculatorIntegrationTestCase.java
Log:
[EJBBOOK-20] Convert "firstejb" example to use Arquillian for integration testing

Modified: projects/ejb-book/trunk/ch04-firstejb/src/main/java/org/jboss/ejb3/examples/ch04/firstejb/SimpleCalculatorBean.java
===================================================================
--- projects/ejb-book/trunk/ch04-firstejb/src/main/java/org/jboss/ejb3/examples/ch04/firstejb/SimpleCalculatorBean.java	2010-02-27 22:21:25 UTC (rev 101608)
+++ projects/ejb-book/trunk/ch04-firstejb/src/main/java/org/jboss/ejb3/examples/ch04/firstejb/SimpleCalculatorBean.java	2010-02-27 22:27:22 UTC (rev 101609)
@@ -22,20 +22,20 @@
 
 package org.jboss.ejb3.examples.ch04.firstejb;
 
-import javax.ejb.Remote;
+import javax.ejb.Local;
 import javax.ejb.Stateless;
 
 /**
  * SimpleCalculatorBean
  * 
  * Bean implementation class of the CalculatorEJB which
- * exposes one remote business view
+ * exposes one local business view
  *
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
  * @version $Revision: $
  */
 @Stateless
- at Remote(CalculatorRemoteBusiness.class)
+ at Local(CalculatorLocalBusiness.class)
 public class SimpleCalculatorBean extends CalculatorBeanBase implements CalculatorCommonBusiness
 {
    /*

Modified: projects/ejb-book/trunk/ch04-firstejb/src/test/java/org/jboss/ejb3/examples/ch04/firstejb/CalculatorIntegrationTestCase.java
===================================================================
--- projects/ejb-book/trunk/ch04-firstejb/src/test/java/org/jboss/ejb3/examples/ch04/firstejb/CalculatorIntegrationTestCase.java	2010-02-27 22:21:25 UTC (rev 101608)
+++ projects/ejb-book/trunk/ch04-firstejb/src/test/java/org/jboss/ejb3/examples/ch04/firstejb/CalculatorIntegrationTestCase.java	2010-02-27 22:27:22 UTC (rev 101609)
@@ -76,7 +76,7 @@
     * JNDI Name of the Remote Business Reference
     */
    //TODO Use Global JNDI Syntax 
-   private static final String JNDI_NAME_CALC_LOCAL_BUSINESS = ManyViewCalculatorBean.class.getSimpleName() + "Local";
+   private static final String JNDI_NAME_CALC_LOCAL_BUSINESS = SimpleCalculatorBean.class.getSimpleName() + "Local";
 
    /**
     * Define the deployment

Modified: projects/ejb-book/trunk/ch04-firstejb/src/test/java/org/jboss/ejb3/examples/ch04/firstejb/MultiViewCalculatorIntegrationTestCase.java
===================================================================
--- projects/ejb-book/trunk/ch04-firstejb/src/test/java/org/jboss/ejb3/examples/ch04/firstejb/MultiViewCalculatorIntegrationTestCase.java	2010-02-27 22:21:25 UTC (rev 101608)
+++ projects/ejb-book/trunk/ch04-firstejb/src/test/java/org/jboss/ejb3/examples/ch04/firstejb/MultiViewCalculatorIntegrationTestCase.java	2010-02-27 22:27:22 UTC (rev 101609)
@@ -22,13 +22,19 @@
 
 package org.jboss.ejb3.examples.ch04.firstejb;
 
+import java.net.MalformedURLException;
+
 import javax.naming.Context;
 import javax.naming.InitialContext;
-import javax.rmi.PortableRemoteObject;
 
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
 import org.jboss.logging.Logger;
+import org.jboss.shrinkwrap.api.Archives;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 
 /**
  * MultiViewCalculatorIntegrationTestCase
@@ -38,6 +44,7 @@
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
  * @version $Revision: $
  */
+ at RunWith(Arquillian.class)
 public class MultiViewCalculatorIntegrationTestCase
 {
    // ---------------------------------------------------------------------------||
@@ -55,14 +62,14 @@
    private static Context namingContext;
 
    /**
-    * The EJB 3.x remote business view of the CalculatorEJB
+    * The EJB 3.x local business view of the CalculatorEJB
     */
-   private static CalculatorRemoteBusiness calcRemoteBusiness;
+   private static CalculatorLocalBusiness calcLocalBusiness;
 
    /**
-    * The EJB 2.x remote component view of the CalculatorEJB 
+    * The EJB 2.x local component view of the CalculatorEJB 
     */
-   private static CalculatorRemote calcRemote;
+   private static CalculatorLocal calcLocal;
 
    /**
     * Delegate for ensuring that the obtained Calculators are working as expected
@@ -70,18 +77,29 @@
    private static CalculatorAssertionDelegate assertionDelegate;
 
    /**
-    * JNDI Name of the Remote Business Reference
+    * JNDI Name of the Local Business Reference
     */
-   //TODO Use Global JNDI Syntax (not yet supported in JBoss EJB3)
-   private static final String JNDI_NAME_CALC_REMOTE_BUSINESS = ManyViewCalculatorBean.class.getSimpleName()
-         + "/remote";
+   //TODO Use Global JNDI Syntax
+   private static final String JNDI_NAME_CALC_LOCAL_BUSINESS = ManyViewCalculatorBean.class.getSimpleName() + "Local";
 
    /**
-    * JNDI Name of the Remote Home Reference
+    * JNDI Name of the Local Home Reference
     */
    //TODO Use Global JNDI Syntax (not yet supported in JBoss EJB3)
-   private static final String JNDI_NAME_CALC_REMOTE_HOME = ManyViewCalculatorBean.class.getSimpleName() + "/home";
+   private static final String JNDI_NAME_CALC_REMOTE_HOME = ManyViewCalculatorBean.class.getSimpleName() + "LocalHome";
 
+   /**
+    * Define the deployment
+    */
+   @Deployment
+   public static JavaArchive createDeployment() throws MalformedURLException
+   {
+      final JavaArchive archive = Archives.create("firstejb.jar", JavaArchive.class).addPackage(
+            CalculatorBeanBase.class.getPackage());
+      log.info(archive.toString(true));
+      return archive;
+   }
+
    // ---------------------------------------------------------------------------||
    // Lifecycle Methods ---------------------------------------------------------||
    // ---------------------------------------------------------------------------||
@@ -96,16 +114,15 @@
       namingContext = new InitialContext();
 
       // Obtain EJB 3.x Business Reference
-      calcRemoteBusiness = (CalculatorRemoteBusiness) namingContext.lookup(JNDI_NAME_CALC_REMOTE_BUSINESS);
+      calcLocalBusiness = (CalculatorLocalBusiness) namingContext.lookup(JNDI_NAME_CALC_LOCAL_BUSINESS);
 
       // Create Assertion Delegate
       assertionDelegate = new CalculatorAssertionDelegate();
 
       // Obtain EJB 2.x Component Reference via Home
-      final Object calcRemoteHomeReference = namingContext.lookup(JNDI_NAME_CALC_REMOTE_HOME);
-      final CalculatorRemoteHome calcRemoteHome = (CalculatorRemoteHome) PortableRemoteObject.narrow(
-            calcRemoteHomeReference, CalculatorRemoteHome.class);
-      calcRemote = calcRemoteHome.create();
+      final Object calcLocalHomeReference = namingContext.lookup(JNDI_NAME_CALC_REMOTE_HOME);
+      final CalculatorLocalHome calcRemoteHome = (CalculatorLocalHome) calcLocalHomeReference;
+      calcLocal = calcRemoteHome.create();
    }
 
    // ---------------------------------------------------------------------------||
@@ -121,7 +138,7 @@
    {
       // Test 
       log.info("Testing remote business reference...");
-      assertionDelegate.assertAdditionSucceeds(calcRemoteBusiness);
+      assertionDelegate.assertAdditionSucceeds(calcLocalBusiness);
    }
 
    /**
@@ -133,7 +150,7 @@
    {
       // Test
       log.info("Testing remote component reference...");
-      assertionDelegate.assertAdditionSucceeds(calcRemote);
+      assertionDelegate.assertAdditionSucceeds(calcLocal);
    }
 
 }




More information about the jboss-cvs-commits mailing list