Author: dblevins
Date: Sun Apr 10 14:12:31 2011
New Revision: 1090807

URL: http://svn.apache.org/viewvc?rev=1090807&view=rev
Log:
OPENEJB-1519: Update existing examples to EJB 3.1
Also some simplification of some of the example code

Added:
    
openejb/trunk/openejb3/examples/alternate-descriptors/src/main/java/org/superbiz/altdd/Movies.java
      - copied, changed from r1088039, 
openejb/trunk/openejb3/examples/alternate-descriptors/src/main/java/org/superbiz/altdd/MoviesImpl.java
    
openejb/trunk/openejb3/examples/component-interfaces/src/main/java/org/superbiz/FriendlyPerson.java
   (contents, props changed)
      - copied, changed from r1088039, 
openejb/trunk/openejb3/examples/component-interfaces/src/main/java/org/superbiz/FriendlyPersonImpl.java
    
openejb/trunk/openejb3/examples/custom-injection/src/main/java/org/superbiz/enventries/Stratocaster.java
      - copied, changed from r1088039, 
openejb/trunk/openejb3/examples/custom-injection/src/main/java/org/superbiz/enventries/StratocasterImpl.java
    
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/java/org/superbiz/injection/jms/Messages.java
      - copied, changed from r1088039, 
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/java/org/superbiz/injection/jms/MessagingBean.java
    
openejb/trunk/openejb3/examples/injection-of-datasource/src/main/java/org/superbiz/injection/Movies.java
      - copied, changed from r1088039, 
openejb/trunk/openejb3/examples/injection-of-datasource/src/main/java/org/superbiz/injection/MoviesImpl.java
    
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReader.java
   (contents, props changed)
      - copied, changed from r1088039, 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReaderImpl.java
    
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataStore.java
   (contents, props changed)
      - copied, changed from r1088039, 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataStoreImpl.java
    
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/Movies.java
      - copied, changed from r1088039, 
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/MoviesImpl.java
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Configuration.java
   (with props)
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Shape.java
   (with props)
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Widget.java
   (with props)
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/enventry/
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/enventry/ConfigurationTest.java
   (contents, props changed)
      - copied, changed from r1088039, 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/InvoiceBeanTest.java
Removed:
    
openejb/trunk/openejb3/examples/alternate-descriptors/src/main/java/org/superbiz/altdd/MoviesImpl.java
    openejb/trunk/openejb3/examples/alternate-descriptors/src/test/resources/
    
openejb/trunk/openejb3/examples/component-interfaces/src/main/java/org/superbiz/FriendlyPersonImpl.java
    openejb/trunk/openejb3/examples/component-interfaces/src/main/resources/
    
openejb/trunk/openejb3/examples/custom-injection/src/main/java/org/superbiz/enventries/StratocasterImpl.java
    
openejb/trunk/openejb3/examples/custom-injection/src/main/resources/META-INF/ejb-jar.xml
    
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/java/org/superbiz/injection/jms/MessagingBean.java
    
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/java/org/superbiz/injection/jms/MessagingLocal.java
    
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/resources/
    
openejb/trunk/openejb3/examples/injection-of-datasource/src/main/java/org/superbiz/injection/MoviesImpl.java
    openejb/trunk/openejb3/examples/injection-of-datasource/src/main/resources/
    
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReaderImpl.java
    
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReaderLocal.java
    
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReaderRemote.java
    
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataStoreImpl.java
    openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/resources/
    
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/MoviesImpl.java
    
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/main/resources/META-INF/ejb-jar.xml
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/Invoice.java
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/InvoiceBean.java
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/LineItem.java
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/PurchaseOrder.java
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/PurchaseOrderBean.java
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/TooManyItemsException.java
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/InvoiceBeanTest.java
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/PurchaseOrderBeanTest.java
Modified:
    
openejb/trunk/openejb3/examples/alternate-descriptors/src/test/java/org/superbiz/altdd/MoviesTest.java
    
openejb/trunk/openejb3/examples/component-interfaces/src/test/java/org/superbiz/FriendlyPersonTest.java
    
openejb/trunk/openejb3/examples/custom-injection/src/test/java/org/superbiz/enventries/StratocasterTest.java
    
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/test/java/org/superbiz/injection/jms/MessagingBeanTest.java
    
openejb/trunk/openejb3/examples/injection-of-datasource/src/test/java/org/superbiz/injection/MoviesTest.java
    
openejb/trunk/openejb3/examples/injection-of-ejbs/src/test/java/org/superbiz/injection/EjbDependencyTest.java
    
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/test/java/org/superbiz/injection/jpa/MoviesTest.java
    
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/resources/META-INF/ejb-jar.xml

Copied: 
openejb/trunk/openejb3/examples/alternate-descriptors/src/main/java/org/superbiz/altdd/Movies.java
 (from r1088039, 
openejb/trunk/openejb3/examples/alternate-descriptors/src/main/java/org/superbiz/altdd/MoviesImpl.java)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/alternate-descriptors/src/main/java/org/superbiz/altdd/Movies.java?p2=openejb/trunk/openejb3/examples/alternate-descriptors/src/main/java/org/superbiz/altdd/Movies.java&p1=openejb/trunk/openejb3/examples/alternate-descriptors/src/main/java/org/superbiz/altdd/MoviesImpl.java&r1=1088039&r2=1090807&rev=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/alternate-descriptors/src/main/java/org/superbiz/altdd/MoviesImpl.java
 (original)
+++ 
openejb/trunk/openejb3/examples/alternate-descriptors/src/main/java/org/superbiz/altdd/Movies.java
 Sun Apr 10 14:12:31 2011
@@ -26,9 +26,9 @@ import javax.persistence.Query;
 import java.util.List;
 
 //START SNIPPET: code
-@Stateful(name = "Movies")
+@Stateful
 @TransactionAttribute(MANDATORY)
-public class MoviesImpl implements Movies {
+public class Movies {
 
     @PersistenceContext(unitName = "movie-unit", type = 
PersistenceContextType.TRANSACTION)
     private EntityManager entityManager;

Modified: 
openejb/trunk/openejb3/examples/alternate-descriptors/src/test/java/org/superbiz/altdd/MoviesTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/alternate-descriptors/src/test/java/org/superbiz/altdd/MoviesTest.java?rev=1090807&r1=1090806&r2=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/alternate-descriptors/src/test/java/org/superbiz/altdd/MoviesTest.java
 (original)
+++ 
openejb/trunk/openejb3/examples/alternate-descriptors/src/test/java/org/superbiz/altdd/MoviesTest.java
 Sun Apr 10 14:12:31 2011
@@ -18,17 +18,12 @@ package org.superbiz.altdd;
 
 import junit.framework.TestCase;
 
-import javax.naming.Context;
-import javax.naming.InitialContext;
+import javax.ejb.embeddable.EJBContainer;
 import javax.ejb.EJB;
 import javax.ejb.SessionContext;
 import javax.transaction.UserTransaction;
-import javax.transaction.HeuristicMixedException;
-import javax.transaction.HeuristicRollbackException;
 import javax.transaction.RollbackException;
-import javax.transaction.SystemException;
 import javax.annotation.Resource;
-import javax.annotation.PostConstruct;
 import javax.persistence.PersistenceContext;
 import javax.persistence.EntityManager;
 import javax.interceptor.InvocationContext;
@@ -36,12 +31,7 @@ import javax.interceptor.AroundInvoke;
 import java.util.Properties;
 import java.util.List;
 
-import org.superbiz.altdd.Movie;
-import org.superbiz.altdd.Movies;
-import org.apache.openejb.api.LocalClient;
-
 //START SNIPPET: code
-@LocalClient
 public class MoviesTest extends TestCase {
 
     @EJB
@@ -55,17 +45,13 @@ public class MoviesTest extends TestCase
 
     public void setUp() throws Exception {
         Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
         p.put("movieDatabase", "new://Resource?type=DataSource");
         p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
         p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
 
         p.put("openejb.altdd.prefix", "test");
 
-        InitialContext initialContext = new InitialContext(p);
-
-        // Here's the fun part
-        initialContext.bind("inject", this);
+        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
     }
 
     public void test() throws Exception {

Copied: 
openejb/trunk/openejb3/examples/component-interfaces/src/main/java/org/superbiz/FriendlyPerson.java
 (from r1088039, 
openejb/trunk/openejb3/examples/component-interfaces/src/main/java/org/superbiz/FriendlyPersonImpl.java)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/component-interfaces/src/main/java/org/superbiz/FriendlyPerson.java?p2=openejb/trunk/openejb3/examples/component-interfaces/src/main/java/org/superbiz/FriendlyPerson.java&p1=openejb/trunk/openejb3/examples/component-interfaces/src/main/java/org/superbiz/FriendlyPersonImpl.java&r1=1088039&r2=1090807&rev=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/component-interfaces/src/main/java/org/superbiz/FriendlyPersonImpl.java
 (original)
+++ 
openejb/trunk/openejb3/examples/component-interfaces/src/main/java/org/superbiz/FriendlyPerson.java
 Sun Apr 10 14:12:31 2011
@@ -17,6 +17,7 @@
 package org.superbiz;
 
 import javax.ejb.Init;
+import javax.ejb.LocalBean;
 import javax.ejb.Remove;
 import javax.ejb.Stateful;
 import javax.ejb.Remote;
@@ -35,6 +36,7 @@ import java.util.Properties;
  * @author <a href="mailto:[email protected]";>David Blevins</a>
  */
 //START SNIPPET: code
+
 // EJB 3.0 Style business interfaces
 // Each of these interfaces are already annotated in the classes
 // themselves with @Remote and @Local, so annotating them here
@@ -49,15 +51,15 @@ import java.util.Properties;
 @RemoteHome(FriendlyPersonEjbHome.class)
 @LocalHome(FriendlyPersonEjbLocalHome.class)
 
-@Stateful(name="FriendlyPerson")
-public class FriendlyPersonImpl implements FriendlyPersonLocal, 
FriendlyPersonRemote {
+@Stateful
+public class FriendlyPerson implements FriendlyPersonLocal, 
FriendlyPersonRemote {
 
     private final HashMap<String, MessageFormat> greetings;
     private final Properties languagePreferences;
 
     private String defaultLanguage;
 
-    public FriendlyPersonImpl() {
+    public FriendlyPerson() {
         greetings = new HashMap();
         languagePreferences = new Properties();
         defaultLanguage = Locale.getDefault().getLanguage();

Propchange: 
openejb/trunk/openejb3/examples/component-interfaces/src/main/java/org/superbiz/FriendlyPerson.java
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author Id Revision HeadURL

Modified: 
openejb/trunk/openejb3/examples/component-interfaces/src/test/java/org/superbiz/FriendlyPersonTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/component-interfaces/src/test/java/org/superbiz/FriendlyPersonTest.java?rev=1090807&r1=1090806&r2=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/component-interfaces/src/test/java/org/superbiz/FriendlyPersonTest.java
 (original)
+++ 
openejb/trunk/openejb3/examples/component-interfaces/src/test/java/org/superbiz/FriendlyPersonTest.java
 Sun Apr 10 14:12:31 2011
@@ -18,10 +18,9 @@ package org.superbiz;
 
 import junit.framework.TestCase;
 
-import javax.naming.InitialContext;
+import javax.ejb.embeddable.EJBContainer;
 import javax.naming.Context;
 import java.util.Locale;
-import java.util.Properties;
 
 /**
  * @author <a href="mailto:[email protected]";>David Blevins</a>
@@ -29,12 +28,11 @@ import java.util.Properties;
  * @version $Rev$ $Date$
  */
 public class FriendlyPersonTest extends TestCase {
-    private InitialContext initialContext;
+
+    private Context context;
 
     protected void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
-        initialContext = new InitialContext(properties);
+        context = EJBContainer.createEJBContainer().getContext();
     }
 
     /**
@@ -44,7 +42,7 @@ public class FriendlyPersonTest extends 
      */
     //START SNIPPET: remotehome
     public void testEjbHomeAndEjbObject() throws Exception {
-        Object object = initialContext.lookup("FriendlyPersonRemoteHome");
+        Object object = 
context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonEjbHome");
         FriendlyPersonEjbHome home = (FriendlyPersonEjbHome) object;
         FriendlyPersonEjbObject friendlyPerson = home.create();
 
@@ -81,7 +79,7 @@ public class FriendlyPersonTest extends 
      * @throws Exception
      */
     public void testEjbLocalHomeAndEjbLocalObject() throws Exception {
-        Object object = initialContext.lookup("FriendlyPersonLocalHome");
+        Object object = 
context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonEjbLocalHome");
         FriendlyPersonEjbLocalHome home = (FriendlyPersonEjbLocalHome) object;
         FriendlyPersonEjbLocalObject friendlyPerson = home.create();
 
@@ -117,7 +115,7 @@ public class FriendlyPersonTest extends 
      */
     //START SNIPPET: remote
     public void testBusinessRemote() throws Exception {
-        Object object = initialContext.lookup("FriendlyPersonRemote");
+        Object object = 
context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonRemote");
 
         FriendlyPersonRemote friendlyPerson = (FriendlyPersonRemote) object;
 
@@ -153,7 +151,7 @@ public class FriendlyPersonTest extends 
      * @throws Exception
      */
     public void testBusinessLocal() throws Exception {
-        Object object = initialContext.lookup("FriendlyPersonLocal");
+        Object object = 
context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonLocal");
 
         FriendlyPersonLocal friendlyPerson = (FriendlyPersonLocal) object;
 

Copied: 
openejb/trunk/openejb3/examples/custom-injection/src/main/java/org/superbiz/enventries/Stratocaster.java
 (from r1088039, 
openejb/trunk/openejb3/examples/custom-injection/src/main/java/org/superbiz/enventries/StratocasterImpl.java)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/custom-injection/src/main/java/org/superbiz/enventries/Stratocaster.java?p2=openejb/trunk/openejb3/examples/custom-injection/src/main/java/org/superbiz/enventries/Stratocaster.java&p1=openejb/trunk/openejb3/examples/custom-injection/src/main/java/org/superbiz/enventries/StratocasterImpl.java&r1=1088039&r2=1090807&rev=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/custom-injection/src/main/java/org/superbiz/enventries/StratocasterImpl.java
 (original)
+++ 
openejb/trunk/openejb3/examples/custom-injection/src/main/java/org/superbiz/enventries/Stratocaster.java
 Sun Apr 10 14:12:31 2011
@@ -33,7 +33,7 @@ import java.util.Map;
  */
 //START SNIPPET: code
 @Stateless
-public class StratocasterImpl implements Stratocaster {
+public class Stratocaster {
 
 
     @Resource(name = "pickups")

Modified: 
openejb/trunk/openejb3/examples/custom-injection/src/test/java/org/superbiz/enventries/StratocasterTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/custom-injection/src/test/java/org/superbiz/enventries/StratocasterTest.java?rev=1090807&r1=1090806&r2=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/custom-injection/src/test/java/org/superbiz/enventries/StratocasterTest.java
 (original)
+++ 
openejb/trunk/openejb3/examples/custom-injection/src/test/java/org/superbiz/enventries/StratocasterTest.java
 Sun Apr 10 14:12:31 2011
@@ -20,6 +20,8 @@ import static java.util.Arrays.asList;
 
 import junit.framework.TestCase;
 
+import javax.ejb.EJB;
+import javax.ejb.embeddable.EJBContainer;
 import javax.naming.InitialContext;
 import javax.naming.Context;
 
@@ -46,18 +48,11 @@ import java.text.DateFormat;
 //START SNIPPET: code
 public class StratocasterTest extends TestCase {
 
-    private InitialContext initialContext;
-
-    protected void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
-
-        initialContext = new InitialContext(properties);
-    }
+    @EJB
+    private Stratocaster strat;
 
     public void test() throws Exception {
-        Stratocaster strat = (Stratocaster) 
initialContext.lookup("StratocasterImplLocal");
-
+        EJBContainer.createEJBContainer().getContext().bind("inject", this);
 
         Date date = DateFormat.getDateInstance(DateFormat.MEDIUM, 
Locale.US).parse("Mar 1, 1962");
         assertEquals("Strat.getDateCreated()", date, strat.getDateCreated());

Copied: 
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/java/org/superbiz/injection/jms/Messages.java
 (from r1088039, 
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/java/org/superbiz/injection/jms/MessagingBean.java)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/java/org/superbiz/injection/jms/Messages.java?p2=openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/java/org/superbiz/injection/jms/Messages.java&p1=openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/java/org/superbiz/injection/jms/MessagingBean.java&r1=1088039&r2=1090807&rev=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/java/org/superbiz/injection/jms/MessagingBean.java
 (original)
+++ 
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/main/java/org/superbiz/injection/jms/Messages.java
 Sun Apr 10 14:12:31 2011
@@ -30,7 +30,7 @@ import javax.jms.Session;
 import javax.jms.TextMessage;
 
 @Stateless
-public class MessagingBean implements MessagingLocal {
+public class Messages {
 
     @Resource
     private ConnectionFactory connectionFactory;

Modified: 
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/test/java/org/superbiz/injection/jms/MessagingBeanTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/test/java/org/superbiz/injection/jms/MessagingBeanTest.java?rev=1090807&r1=1090806&r2=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/test/java/org/superbiz/injection/jms/MessagingBeanTest.java
 (original)
+++ 
openejb/trunk/openejb3/examples/injection-of-connectionfactory/src/test/java/org/superbiz/injection/jms/MessagingBeanTest.java
 Sun Apr 10 14:12:31 2011
@@ -19,26 +19,24 @@ package org.superbiz.injection.jms;
 
 import junit.framework.TestCase;
 
+import javax.ejb.embeddable.EJBContainer;
 import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
 
 public class MessagingBeanTest extends TestCase {
 
     public void test() throws Exception {
-        Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
-        InitialContext context = new InitialContext(p);
-
-        MessagingLocal bean = (MessagingLocal) 
context.lookup("MessagingBeanLocal");
-
-        bean.sendMessage("Hello World!");
-        bean.sendMessage("How are you?");
-        bean.sendMessage("Still spinning?");
-
-        assertEquals(bean.receiveMessage(), "Hello World!");
-        assertEquals(bean.receiveMessage(), "How are you?");
-        assertEquals(bean.receiveMessage(), "Still spinning?");
+
+        final Context context = EJBContainer.createEJBContainer().getContext();
+        
+        Messages messages = (Messages) 
context.lookup("java:global/injection-of-connectionfactory/Messages");
+
+        messages.sendMessage("Hello World!");
+        messages.sendMessage("How are you?");
+        messages.sendMessage("Still spinning?");
+
+        assertEquals(messages.receiveMessage(), "Hello World!");
+        assertEquals(messages.receiveMessage(), "How are you?");
+        assertEquals(messages.receiveMessage(), "Still spinning?");
     }
 }
 //END SNIPPET: code

Copied: 
openejb/trunk/openejb3/examples/injection-of-datasource/src/main/java/org/superbiz/injection/Movies.java
 (from r1088039, 
openejb/trunk/openejb3/examples/injection-of-datasource/src/main/java/org/superbiz/injection/MoviesImpl.java)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-datasource/src/main/java/org/superbiz/injection/Movies.java?p2=openejb/trunk/openejb3/examples/injection-of-datasource/src/main/java/org/superbiz/injection/Movies.java&p1=openejb/trunk/openejb3/examples/injection-of-datasource/src/main/java/org/superbiz/injection/MoviesImpl.java&r1=1088039&r2=1090807&rev=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-datasource/src/main/java/org/superbiz/injection/MoviesImpl.java
 (original)
+++ 
openejb/trunk/openejb3/examples/injection-of-datasource/src/main/java/org/superbiz/injection/Movies.java
 Sun Apr 10 14:12:31 2011
@@ -27,8 +27,8 @@ import java.sql.ResultSet;
 import java.util.List;
 import java.util.ArrayList;
 
-@Stateful(name = "Movies")
-public class MoviesImpl implements Movies {
+@Stateful
+public class Movies {
 
     /**
      * The field name "movieDatabase" matches the DataSource we

Modified: 
openejb/trunk/openejb3/examples/injection-of-datasource/src/test/java/org/superbiz/injection/MoviesTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-datasource/src/test/java/org/superbiz/injection/MoviesTest.java?rev=1090807&r1=1090806&r2=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-datasource/src/test/java/org/superbiz/injection/MoviesTest.java
 (original)
+++ 
openejb/trunk/openejb3/examples/injection-of-datasource/src/test/java/org/superbiz/injection/MoviesTest.java
 Sun Apr 10 14:12:31 2011
@@ -18,6 +18,7 @@ package org.superbiz.injection;
 
 import junit.framework.TestCase;
 
+import javax.ejb.embeddable.EJBContainer;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import java.util.Properties;
@@ -27,15 +28,15 @@ import java.util.List;
 public class MoviesTest extends TestCase {
 
     public void test() throws Exception {
+
         Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
         p.put("movieDatabase", "new://Resource?type=DataSource");
         p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
         p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
 
-        Context context = new InitialContext(p);
+        Context context = EJBContainer.createEJBContainer(p).getContext();
 
-        Movies movies = (Movies) context.lookup("MoviesLocal");
+        Movies movies = (Movies) 
context.lookup("java:global/injection-of-datasource/Movies");
 
         movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 
1992));
         movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));

Copied: 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReader.java
 (from r1088039, 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReaderImpl.java)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReader.java?p2=openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReader.java&p1=openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReaderImpl.java&r1=1088039&r2=1090807&rev=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReaderImpl.java
 (original)
+++ 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReader.java
 Sun Apr 10 14:12:31 2011
@@ -20,7 +20,7 @@ import javax.ejb.EJB;
 import javax.ejb.Stateless;
 
 /**
- * This is an EJB 3 style pojo stateless session bean
+ * This is an EJB 3.1 style pojo stateless session bean
  * Every stateless session bean implementation must be annotated
  * using the annotation @Stateless
  * This EJB has 2 business interfaces: DataReaderRemote, a remote business
@@ -36,15 +36,20 @@ import javax.ejb.Stateless;
  */
 //START SNIPPET: code
 @Stateless
-public class DataReaderImpl implements DataReaderLocal, DataReaderRemote {
+public class DataReader {
        
        @EJB private DataStoreRemote dataStoreRemote;
        @EJB private DataStoreLocal dataStoreLocal;
-       
+       @EJB private DataStore dataStore;
+
        public String readDataFromLocalStore() {
                return "LOCAL:"+dataStoreLocal.getData();
        }
        
+       public String readDataFromLocalBeanStore() {
+               return "LOCALBEAN:"+dataStore.getData();
+       }
+
        public String readDataFromRemoteStore() {
                return "REMOTE:"+dataStoreRemote.getData();
        }

Propchange: 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataReader.java
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author Id Revision HeadURL

Copied: 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataStore.java
 (from r1088039, 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataStoreImpl.java)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataStore.java?p2=openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataStore.java&p1=openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataStoreImpl.java&r1=1088039&r2=1090807&rev=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataStoreImpl.java
 (original)
+++ 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataStore.java
 Sun Apr 10 14:12:31 2011
@@ -16,6 +16,7 @@
  */
 package org.superbiz.injection;
 
+import javax.ejb.LocalBean;
 import javax.ejb.Stateless;
 
 /**
@@ -28,7 +29,8 @@ import javax.ejb.Stateless;
  */
 //START SNIPPET: code
 @Stateless
-public class DataStoreImpl implements DataStoreLocal, DataStoreRemote{
+@LocalBean
+public class DataStore implements DataStoreLocal, DataStoreRemote{
 
        public String getData() {
                return "42";

Propchange: 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/main/java/org/superbiz/injection/DataStore.java
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author Id Revision HeadURL

Modified: 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/test/java/org/superbiz/injection/EjbDependencyTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-ejbs/src/test/java/org/superbiz/injection/EjbDependencyTest.java?rev=1090807&r1=1090806&r2=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/test/java/org/superbiz/injection/EjbDependencyTest.java
 (original)
+++ 
openejb/trunk/openejb3/examples/injection-of-ejbs/src/test/java/org/superbiz/injection/EjbDependencyTest.java
 Sun Apr 10 14:12:31 2011
@@ -16,10 +16,8 @@
  */
 package org.superbiz.injection;
 
-import java.util.Properties;
-
+import javax.ejb.embeddable.EJBContainer;
 import javax.naming.Context;
-import javax.naming.InitialContext;
 
 import junit.framework.TestCase;
 
@@ -30,22 +28,16 @@ import junit.framework.TestCase;
 //START SNIPPET: code
 public class EjbDependencyTest extends TestCase {
 
-    private InitialContext initialContext;
-
-    protected void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
-
-        initialContext = new InitialContext(properties);
-    }
-
     public void test() throws Exception {
-        DataReaderLocal dataReader = (DataReaderLocal) 
initialContext.lookup("DataReaderImplLocal");
+        final Context context = EJBContainer.createEJBContainer().getContext();
+
+        DataReader dataReader = (DataReader) 
context.lookup("java:global/injection-of-ejbs/DataReader");
 
         assertNotNull(dataReader);
 
         assertEquals("LOCAL:42", dataReader.readDataFromLocalStore());
        assertEquals("REMOTE:42", dataReader.readDataFromRemoteStore());
+        assertEquals("LOCALBEAN:42", dataReader.readDataFromLocalBeanStore());
     }
 }
 //END SNIPPET: code

Copied: 
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/Movies.java
 (from r1088039, 
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/MoviesImpl.java)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/Movies.java?p2=openejb/trunk/openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/Movies.java&p1=openejb/trunk/openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/MoviesImpl.java&r1=1088039&r2=1090807&rev=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/MoviesImpl.java
 (original)
+++ 
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/Movies.java
 Sun Apr 10 14:12:31 2011
@@ -17,6 +17,7 @@
 package org.superbiz.injection.jpa;
 
 //START SNIPPET: code
+
 import javax.ejb.Stateful;
 import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
@@ -24,8 +25,8 @@ import javax.persistence.PersistenceCont
 import javax.persistence.Query;
 import java.util.List;
 
-@Stateful(name = "Movies")
-public class MoviesImpl implements Movies {
+@Stateful
+public class Movies {
 
     @PersistenceContext(unitName = "movie-unit", type = 
PersistenceContextType.EXTENDED)
     private EntityManager entityManager;

Modified: 
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/test/java/org/superbiz/injection/jpa/MoviesTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-entitymanager/src/test/java/org/superbiz/injection/jpa/MoviesTest.java?rev=1090807&r1=1090806&r2=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/test/java/org/superbiz/injection/jpa/MoviesTest.java
 (original)
+++ 
openejb/trunk/openejb3/examples/injection-of-entitymanager/src/test/java/org/superbiz/injection/jpa/MoviesTest.java
 Sun Apr 10 14:12:31 2011
@@ -18,8 +18,8 @@ package org.superbiz.injection.jpa;
 
 import junit.framework.TestCase;
 
+import javax.ejb.embeddable.EJBContainer;
 import javax.naming.Context;
-import javax.naming.InitialContext;
 import java.util.List;
 import java.util.Properties;
 
@@ -27,20 +27,15 @@ import java.util.Properties;
 public class MoviesTest extends TestCase {
 
     public void test() throws Exception {
-        Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
+
+        final Properties p = new Properties();
         p.put("movieDatabase", "new://Resource?type=DataSource");
         p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
         p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
 
-        p.put("movieDatabaseUnmanaged", "new://Resource?type=DataSource");
-        p.put("movieDatabaseUnmanaged.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabaseUnmanaged.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-        p.put("movieDatabaseUnmanaged.JtaManaged", "false");
-
-        Context context = new InitialContext(p);
+        final Context context = 
EJBContainer.createEJBContainer(p).getContext();
 
-        Movies movies = (Movies) context.lookup("MoviesLocal");
+        Movies movies = (Movies) 
context.lookup("java:global/injection-of-entitymanager/Movies");
 
         movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 
1992));
         movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));

Added: 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Configuration.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Configuration.java?rev=1090807&view=auto
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Configuration.java
 (added)
+++ 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Configuration.java
 Sun Apr 10 14:12:31 2011
@@ -0,0 +1,63 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.superbiz.injection.enventry;
+
+import javax.annotation.Resource;
+import javax.ejb.Singleton;
+import java.util.Date;
+
+/**
+ * This example demostrates the use of the injection of environment entries
+ * using <b>Resource</b> annotation.
+ * <p/>
+ * "EJB Core Contracts and Requirements" specification section 16.4.1.1.
+ *
+ * @version $Rev$ $Date$
+ */
+//START SNIPPET: code
+@Singleton
+public class Configuration {
+
+    @Resource
+    private String color;
+
+    @Resource
+    private Shape shape;
+
+    @Resource
+    private Class strategy;
+
+    @Resource(name = "date")
+    private long date;
+
+    public String getColor() {
+        return color;
+    }
+
+    public Shape getShape() {
+        return shape;
+    }
+
+    public Class getStrategy() {
+        return strategy;
+    }
+
+    public Date getDate() {
+        return new Date(date);
+    }
+}
+//END SNIPPET: code

Propchange: 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Configuration.java
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author Id Revision HeadURL

Added: 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Shape.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Shape.java?rev=1090807&view=auto
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Shape.java
 (added)
+++ 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Shape.java
 Sun Apr 10 14:12:31 2011
@@ -0,0 +1,12 @@
+package org.superbiz.injection.enventry;
+
+/**
+ * @version $Revision$ $Date$
+ */
+public enum Shape {
+
+    CIRCLE,
+    TRIANGLE,
+    SQUARE
+
+}

Propchange: 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Shape.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Widget.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Widget.java?rev=1090807&view=auto
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Widget.java
 (added)
+++ 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Widget.java
 Sun Apr 10 14:12:31 2011
@@ -0,0 +1,26 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.superbiz.injection.enventry;
+
+/**
+ * Exists to show that any class object can be injected and does
+ * not need to be loaded directly in app code.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class Widget {
+}

Propchange: 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/java/org/superbiz/injection/enventry/Widget.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/resources/META-INF/ejb-jar.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/resources/META-INF/ejb-jar.xml?rev=1090807&r1=1090806&r2=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/resources/META-INF/ejb-jar.xml
 (original)
+++ 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/main/resources/META-INF/ejb-jar.xml
 Sun Apr 10 14:12:31 2011
@@ -23,12 +23,27 @@
 <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"; version="3.0" 
metadata-complete="false">
   <enterprise-beans>
     <session>
-      <ejb-name>InvoiceBean</ejb-name>
+      <ejb-name>Configuration</ejb-name>
       <env-entry>
-        <description>The maximum number of line items per 
invoice.</description>
-        
<env-entry-name>org.superbiz.injection.InvoiceBean/maxLineItems</env-entry-name>
-        <env-entry-type>java.lang.Integer</env-entry-type>
-        <env-entry-value>15</env-entry-value>
+        
<env-entry-name>org.superbiz.injection.enventry.Configuration/color</env-entry-name>
+        <env-entry-type>java.lang.String</env-entry-type>
+        <env-entry-value>orange</env-entry-value>
+      </env-entry>
+      <env-entry>
+        
<env-entry-name>org.superbiz.injection.enventry.Configuration/shape</env-entry-name>
+        <env-entry-type>org.superbiz.injection.enventry.Shape</env-entry-type>
+        <env-entry-value>TRIANGLE</env-entry-value>
+      </env-entry>
+      <env-entry>
+        
<env-entry-name>org.superbiz.injection.enventry.Configuration/strategy</env-entry-name>
+        <env-entry-type>java.lang.Class</env-entry-type>
+        
<env-entry-value>org.superbiz.injection.enventry.Widget</env-entry-value>
+      </env-entry>
+      <env-entry>
+        <description>The name was explicitly set in the annotation so the 
classname prefix isn't required</description>
+        <env-entry-name>date</env-entry-name>
+        <env-entry-type>java.lang.Long</env-entry-type>
+        <env-entry-value>123456789</env-entry-value>
       </env-entry>
     </session>
   </enterprise-beans>

Copied: 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/enventry/ConfigurationTest.java
 (from r1088039, 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/InvoiceBeanTest.java)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/enventry/ConfigurationTest.java?p2=openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/enventry/ConfigurationTest.java&p1=openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/InvoiceBeanTest.java&r1=1088039&r2=1090807&rev=1090807&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/InvoiceBeanTest.java
 (original)
+++ 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/enventry/ConfigurationTest.java
 Sun Apr 10 14:12:31 2011
@@ -14,45 +14,34 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.superbiz.injection;
+package org.superbiz.injection.enventry;
 
-import java.util.Properties;
+import javax.ejb.embeddable.EJBContainer;
 import javax.naming.Context;
-import javax.naming.InitialContext;
 
 import junit.framework.TestCase;
+import org.superbiz.injection.enventry.Configuration;
+import org.superbiz.injection.enventry.Shape;
+import org.superbiz.injection.enventry.Widget;
 
-//START SNIPPET: code
-public class InvoiceBeanTest extends TestCase {
+import java.util.Date;
 
-    private InitialContext initialContext;
+//START SNIPPET: code
+public class ConfigurationTest extends TestCase {
 
-    protected void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
 
-        initialContext = new InitialContext(properties);
-    }
+    public void test() throws Exception {
+        final Context context = EJBContainer.createEJBContainer().getContext();
 
-    public void testAddLineItem() throws Exception {
-        Invoice order = (Invoice) initialContext.lookup("InvoiceBeanRemote");
-        assertNotNull(order);
-        LineItem item = new LineItem("ABC-1", "Test Item");
-
-        try {
-            order.addLineItem(item);
-        } catch (TooManyItemsException tmie) {
-            fail("Test failed due to: " + tmie.getMessage());
-        }
-    }
+        final Configuration configuration = (Configuration) 
context.lookup("java:global/injection-of-env-entry/Configuration");
 
-    public void testGetMaxLineItems() throws Exception {
-        Invoice order = (Invoice) initialContext.lookup("InvoiceBeanRemote");
-        assertNotNull(order);
+        assertEquals("orange", configuration.getColor());
 
-        int maxLineItems = order.getMaxLineItems();
+        assertEquals(Shape.TRIANGLE, configuration.getShape());
 
-        assertEquals(15, maxLineItems);
+        assertEquals(Widget.class, configuration.getStrategy());
+        
+        assertEquals(new Date(123456789), configuration.getDate());
     }
 }
 //END SNIPPET: code

Propchange: 
openejb/trunk/openejb3/examples/injection-of-env-entry/src/test/java/org/superbiz/injection/enventry/ConfigurationTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author Id Revision HeadURL


Reply via email to