You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2010/05/06 18:45:04 UTC

svn commit: r941800 [2/3] - in /openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/ container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/config/ ...

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=941800&r1=941799&r2=941800&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 Thu May  6 16:45:02 2010
@@ -18,19 +18,17 @@
 package org.apache.openejb.core.stateless;
 
 import junit.framework.TestCase;
-import org.apache.openejb.assembler.classic.Assembler;
-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.assembler.classic.*;
 import org.apache.openejb.assembler.classic.cmd.Info2Properties;
 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.EmptyType;
 import org.apache.openejb.jee.StatelessBean;
 
 import javax.ejb.SessionContext;
 import javax.naming.InitialContext;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Stack;
@@ -62,6 +60,26 @@ public class StatelessContainerTest exte
             assertEquals(join("\n", expected), join("\n", lifecycle));
         }
         {
+            WidgetBean.lifecycle.clear();
+
+            Object object = ctx.lookup("WidgetBeanLocalBean");
+
+            assertTrue("instanceof widgetbean", object instanceof WidgetBean);
+
+            WidgetBean widget = (WidgetBean) object;
+
+            // Do a business method...
+            Stack<Lifecycle> lifecycle = widget.getLifecycle();
+            assertNotNull("lifecycle", lifecycle);
+            assertSame("lifecycle", lifecycle, WidgetBean.lifecycle);
+
+            // Check the lifecycle of the bean
+            List localBeanExpected = new ArrayList();
+            localBeanExpected.add(0, Lifecycle.CONSTRUCTOR);
+            localBeanExpected.addAll(expected);
+            assertEquals(join("\n", localBeanExpected), join("\n", lifecycle));
+        }
+        {
 
             WidgetBean.lifecycle.clear();
 
@@ -109,6 +127,7 @@ public class StatelessContainerTest exte
         bean.addBusinessRemote(RemoteWidget.class.getName());
         bean.addPostConstruct("init");
         bean.addPreDestroy("destroy");
+        bean.setLocalBean(new EmptyType());
 
         EjbJar ejbJar = new EjbJar();
         ejbJar.addEnterpriseBean(bean);

Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImplTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImplTest.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImplTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImplTest.java Thu May  6 16:45:02 2010
@@ -17,18 +17,18 @@
 
 package org.apache.openejb.util.proxy;
 
-import java.io.FileOutputStream;
+import junit.framework.TestCase;
+import org.apache.openejb.AppClassLoader;
+import org.junit.Test;
+
 import java.io.IOException;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import junit.framework.TestCase;
-
-import org.junit.Test;
-
 public class LocalBeanProxyGeneratorImplTest extends TestCase {
 	
 	public class Call {
@@ -155,42 +155,12 @@ public class LocalBeanProxyGeneratorImpl
 		}
 	}
 
-	private class TestClassLoader extends ClassLoader {
-		
-		public TestClassLoader() {
-			super();
-		}
-
-		public TestClassLoader(ClassLoader parent) {
-			super(parent);
-		}
-
-		public Class addClass(String name, byte[] cls) {
-			Class c = defineClass(name, cls, 0, cls.length);
-			return c;
-		}
-	}
-	
-	private SampleLocalBean loadProxy() throws Exception {
-		SampleLocalBean bean = new SampleLocalBean();
-		TestInvocationHandler invocationHandler = new TestInvocationHandler(bean);
-		
-		return loadProxy(invocationHandler);
-	}
-
 	private SampleLocalBean loadProxy(TestInvocationHandler invocationHandler) throws Exception {
-		String name = "TestProxy";
-		byte[] cls = new LocalBeanProxyGeneratorImpl().generateProxy(SampleLocalBean.class, name);
-		
 		ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
-		TestClassLoader newCl = new TestClassLoader(oldCl);
-		Thread.currentThread().setContextClassLoader(newCl);
-		newCl.addClass(name, cls);
-		
-		Class<?> proxyClass = newCl.loadClass(name);
-		
-		SampleLocalBean proxy = (SampleLocalBean) proxyClass.getConstructor(new Class[] { InvocationHandler.class }).newInstance(invocationHandler);
-		return proxy;
+        AppClassLoader cl = new AppClassLoader(new URL[] { }, oldCl);
+
+        Class cls = new LocalBeanProxyGeneratorImpl().createProxy(SampleLocalBean.class, cl);
+        return (SampleLocalBean) cls.getConstructor(new Class[] { InvocationHandler.class }).newInstance(invocationHandler);
 	}
 
 	public void testShouldReturnCorrectMethodSignatures() throws Exception {

Modified: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java (original)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java Thu May  6 16:45:02 2010
@@ -108,6 +108,7 @@ import java.util.Arrays;
         "local",
         "businessLocal",
         "businessRemote",
+        "localBean",
         "serviceEndpoint",
         "ejbClass",
         "sessionType",
@@ -156,6 +157,8 @@ public class SessionBean implements Remo
     protected LinkedHashSet<String> businessLocal;
     @XmlElement(name = "business-remote")
     protected LinkedHashSet<String> businessRemote;
+    @XmlElement(name = "local-bean")
+    protected EmptyType localBean;
     @XmlElement(name = "service-endpoint")
     protected String serviceEndpoint;
     @XmlElement(name = "ejb-class")
@@ -393,6 +396,14 @@ public class SessionBean implements Remo
         addBusinessRemote(businessRemote.getName());
     }
 
+    public EmptyType getLocalBean() {
+        return localBean;
+    }
+
+    public void setLocalBean(EmptyType localBean) {
+        this.localBean = localBean;
+    }
+
     public String getServiceEndpoint() {
         return serviceEndpoint;
     }

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/AnnotatedFieldInjectionSingletonBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/AnnotatedFieldInjectionSingletonBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/AnnotatedFieldInjectionSingletonBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/AnnotatedFieldInjectionSingletonBean.java Thu May  6 16:45:02 2010
@@ -23,6 +23,7 @@ import org.apache.openejb.test.entity.bm
 import org.apache.openejb.test.stateful.BasicStatefulBusinessLocal;
 import org.apache.openejb.test.stateful.BasicStatefulBusinessRemote;
 import org.apache.openejb.test.stateful.BasicStatefulHome;
+import org.apache.openejb.test.stateful.BasicStatefulPojoBean;
 
 import javax.annotation.Resource;
 import javax.ejb.CreateException;
@@ -88,10 +89,14 @@ public class AnnotatedFieldInjectionSing
     @EJB
     private BasicSingletonBusinessLocal singletonBusinessLocal;
     @EJB
+    private BasicSingletonPojoBean singletonBusinessLocalBean;
+    @EJB
     private BasicSingletonBusinessRemote singletonBusinessRemote;
     @EJB
     private BasicStatefulBusinessLocal statefulBusinessLocal;
     @EJB
+    private BasicStatefulPojoBean statefulBusinessLocalBean;
+    @EJB
     private BasicStatefulBusinessRemote statefulBusinessRemote;
 
 
@@ -130,6 +135,14 @@ public class AnnotatedFieldInjectionSing
         }
     }
 
+    public void lookupSingletonBusinessLocalBean() throws TestFailureException {
+        try {
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", singletonBusinessLocalBean);
+        } catch (AssertionFailedError afe) {
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupSingletonBusinessRemote() throws TestFailureException {
         try {
             Assert.assertNotNull("The EJB BusinessRemote is null", singletonBusinessRemote);
@@ -146,6 +159,14 @@ public class AnnotatedFieldInjectionSing
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException {
+        try {
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statefulBusinessLocalBean);
+        } catch (AssertionFailedError afe) {
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException {
         try {
             Assert.assertNotNull("The EJB BusinessRemote is null", statefulBusinessRemote);

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/ContextLookupSingletonBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/ContextLookupSingletonBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/ContextLookupSingletonBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/ContextLookupSingletonBean.java Thu May  6 16:45:02 2010
@@ -21,10 +21,7 @@ import junit.framework.AssertionFailedEr
 import org.apache.openejb.test.TestFailureException;
 import org.apache.openejb.test.entity.bmp.BasicBmpHome;
 import org.apache.openejb.test.entity.bmp.BasicBmpObject;
-import org.apache.openejb.test.stateful.BasicStatefulHome;
-import org.apache.openejb.test.stateful.BasicStatefulObject;
-import org.apache.openejb.test.stateful.BasicStatefulBusinessLocal;
-import org.apache.openejb.test.stateful.BasicStatefulBusinessRemote;
+import org.apache.openejb.test.stateful.*;
 
 import javax.ejb.EJBContext;
 import javax.ejb.EJBException;
@@ -124,6 +121,19 @@ public class ContextLookupSingletonBean 
         }
     }
 
+    public void lookupSingletonBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicSingletonPojoBean object = (BasicSingletonPojoBean) ejbContext.lookup("singleton/beanReferences/singleton-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupSingletonBusinessRemote() throws TestFailureException{
         try{
             try{
@@ -150,6 +160,19 @@ public class ContextLookupSingletonBean 
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicStatefulPojoBean object = (BasicStatefulPojoBean) ejbContext.lookup("singleton/beanReferences/stateful-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             try{

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/ContextLookupSingletonPojoBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/ContextLookupSingletonPojoBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/ContextLookupSingletonPojoBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/ContextLookupSingletonPojoBean.java Thu May  6 16:45:02 2010
@@ -17,10 +17,7 @@
 package org.apache.openejb.test.singleton;
 
 import org.apache.openejb.test.TestFailureException;
-import org.apache.openejb.test.stateful.BasicStatefulHome;
-import org.apache.openejb.test.stateful.BasicStatefulObject;
-import org.apache.openejb.test.stateful.BasicStatefulBusinessLocal;
-import org.apache.openejb.test.stateful.BasicStatefulBusinessRemote;
+import org.apache.openejb.test.stateful.*;
 import org.apache.openejb.test.entity.bmp.BasicBmpHome;
 import org.apache.openejb.test.entity.bmp.BasicBmpObject;
 
@@ -101,6 +98,19 @@ public class ContextLookupSingletonPojoB
         }
     }
 
+    public void lookupSingletonBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicSingletonPojoBean object = (BasicSingletonPojoBean) getSessionContext().lookup("singleton/beanReferences/singleton-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupSingletonBusinessRemote() throws TestFailureException{
         try{
             try{
@@ -127,6 +137,19 @@ public class ContextLookupSingletonPojoB
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicStatefulPojoBean object = (BasicStatefulPojoBean) getSessionContext().lookup("singleton/beanReferences/stateful-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             try{

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/EncSingletonBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/EncSingletonBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/EncSingletonBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/EncSingletonBean.java Thu May  6 16:45:02 2010
@@ -40,10 +40,7 @@ import junit.framework.AssertionFailedEr
 import org.apache.openejb.test.TestFailureException;
 import org.apache.openejb.test.entity.bmp.BasicBmpHome;
 import org.apache.openejb.test.entity.bmp.BasicBmpObject;
-import org.apache.openejb.test.stateful.BasicStatefulHome;
-import org.apache.openejb.test.stateful.BasicStatefulObject;
-import org.apache.openejb.test.stateful.BasicStatefulBusinessRemote;
-import org.apache.openejb.test.stateful.BasicStatefulBusinessLocal;
+import org.apache.openejb.test.stateful.*;
 
 /**
  *
@@ -142,6 +139,24 @@ public class EncSingletonBean implements
         }
     }
 
+    public void lookupSingletonBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            InitialContext ctx = new InitialContext();
+            Assert.assertNotNull("The InitialContext is null", ctx );
+
+                Object o = ctx.lookup("java:comp/env/singleton/beanReferences/singleton-business-localbean");
+                BasicSingletonPojoBean object = (BasicSingletonPojoBean) o;
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                e.printStackTrace();
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupSingletonBusinessRemote() throws TestFailureException{
         try{
             try{
@@ -174,6 +189,22 @@ public class EncSingletonBean implements
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            InitialContext ctx = new InitialContext();
+            Assert.assertNotNull("The InitialContext is null", ctx );
+
+            BasicStatefulPojoBean object = (BasicStatefulPojoBean) javax.rmi.PortableRemoteObject.narrow( ctx.lookup("java:comp/env/singleton/beanReferences/stateful-business-localbean"), BasicStatefulPojoBean.class );
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             try{

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/EncSingletonObject.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/EncSingletonObject.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/EncSingletonObject.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/EncSingletonObject.java Thu May  6 16:45:02 2010
@@ -32,9 +32,11 @@ public interface EncSingletonObject exte
     public void lookupSingletonBean() throws TestFailureException, RemoteException;
 
     public void lookupSingletonBusinessLocal() throws TestFailureException, RemoteException;
+    public void lookupSingletonBusinessLocalBean() throws TestFailureException, RemoteException;
     public void lookupSingletonBusinessRemote() throws TestFailureException, RemoteException;
     public void lookupStatefulBusinessLocal() throws TestFailureException, RemoteException;
     public void lookupStatefulBusinessRemote() throws TestFailureException, RemoteException;
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException, RemoteException;
  
     public void lookupResource() throws TestFailureException, RemoteException;
     public void lookupJMSConnectionFactory() throws TestFailureException, RemoteException;

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/FieldInjectionSingletonBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/FieldInjectionSingletonBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/FieldInjectionSingletonBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/FieldInjectionSingletonBean.java Thu May  6 16:45:02 2010
@@ -23,6 +23,7 @@ import org.apache.openejb.test.entity.bm
 import org.apache.openejb.test.stateful.BasicStatefulBusinessLocal;
 import org.apache.openejb.test.stateful.BasicStatefulBusinessRemote;
 import org.apache.openejb.test.stateful.BasicStatefulHome;
+import org.apache.openejb.test.stateful.BasicStatefulPojoBean;
 
 import javax.ejb.CreateException;
 import javax.ejb.EJBException;
@@ -68,8 +69,10 @@ public class FieldInjectionSingletonBean
     private EntityManager eem;
     private EntityManager pem;
     private BasicSingletonBusinessLocal singletonBusinessLocal;
+    private BasicSingletonPojoBean singletonBusinessLocalBean;
     private BasicSingletonBusinessRemote singletonBusinessRemote;
     private BasicStatefulBusinessLocal statefulBusinessLocal;
+    private BasicStatefulPojoBean statefulBusinessLocalBean;
     private BasicStatefulBusinessRemote statefulBusinessRemote;
 
 
@@ -108,6 +111,14 @@ public class FieldInjectionSingletonBean
         }
     }
 
+    public void lookupSingletonBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", singletonBusinessLocalBean );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupSingletonBusinessRemote() throws TestFailureException{
         try{
             Assert.assertNotNull("The EJB BusinessRemote is null", singletonBusinessRemote );
@@ -124,6 +135,14 @@ public class FieldInjectionSingletonBean
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statefulBusinessLocalBean );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             Assert.assertNotNull("The EJB BusinessRemote is null", statefulBusinessRemote );

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/SetterInjectionSingletonBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/SetterInjectionSingletonBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/SetterInjectionSingletonBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/singleton/SetterInjectionSingletonBean.java Thu May  6 16:45:02 2010
@@ -20,6 +20,7 @@ import org.apache.openejb.test.entity.bm
 import org.apache.openejb.test.stateful.BasicStatefulHome;
 import org.apache.openejb.test.stateful.BasicStatefulBusinessLocal;
 import org.apache.openejb.test.stateful.BasicStatefulBusinessRemote;
+import org.apache.openejb.test.stateful.BasicStatefulPojoBean;
 import org.apache.openejb.test.TestFailureException;
 
 import javax.ejb.SessionBean;
@@ -70,8 +71,10 @@ public class SetterInjectionSingletonBea
     private EntityManager eemField;
     private EntityManager pemField;
     private BasicSingletonBusinessLocal singletonBusinessLocalField;
+    private BasicSingletonPojoBean singletonBusinessLocalFieldBean;
     private BasicSingletonBusinessRemote singletonBusinessRemoteField;
     private BasicStatefulBusinessLocal statefulBusinessLocalField;
+    private BasicStatefulPojoBean statefulBusinessLocalFieldBean;
     private BasicStatefulBusinessRemote statefulBusinessRemoteField;
 
     public BasicStatefulBusinessLocal getStatefulBusinessLocal() {
@@ -82,6 +85,14 @@ public class SetterInjectionSingletonBea
         this.statefulBusinessLocalField = statefulBusinessLocal;
     }
 
+    public BasicStatefulPojoBean getStatefulBusinessLocalBean() {
+        return statefulBusinessLocalFieldBean;
+    }
+
+    public void setStatefulBusinessLocalBean(BasicStatefulPojoBean statefulBusinessLocalBean) {
+        this.statefulBusinessLocalFieldBean = statefulBusinessLocalBean;
+    }
+
     public BasicStatefulBusinessRemote getStatefulBusinessRemote() {
         return statefulBusinessRemoteField;
     }
@@ -98,6 +109,14 @@ public class SetterInjectionSingletonBea
         this.singletonBusinessLocalField = singletonBusinessLocal;
     }
 
+    public BasicSingletonPojoBean getSingletonBusinessLocalBean() {
+        return singletonBusinessLocalFieldBean;
+    }
+
+    public void setSingletonBusinessLocalBean(BasicSingletonPojoBean singletonBusinessLocalBean) {
+        this.singletonBusinessLocalFieldBean = singletonBusinessLocalBean;
+    }
+
     public BasicSingletonBusinessRemote getSingletonBusinessRemote() {
         return singletonBusinessRemoteField;
     }
@@ -309,6 +328,14 @@ public class SetterInjectionSingletonBea
         }
     }
 
+    public void lookupSingletonBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", singletonBusinessLocalFieldBean );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupSingletonBusinessRemote() throws TestFailureException{
         try{
             Assert.assertNotNull("The EJB BusinessRemote is null", singletonBusinessRemoteField );
@@ -325,6 +352,14 @@ public class SetterInjectionSingletonBea
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statefulBusinessLocalFieldBean );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             Assert.assertNotNull("The EJB BusinessRemote is null", statefulBusinessRemoteField );

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/AnnotatedFieldInjectionStatefulBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/AnnotatedFieldInjectionStatefulBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/AnnotatedFieldInjectionStatefulBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/AnnotatedFieldInjectionStatefulBean.java Thu May  6 16:45:02 2010
@@ -20,6 +20,7 @@ import org.apache.openejb.test.entity.bm
 import org.apache.openejb.test.stateless.BasicStatelessHome;
 import org.apache.openejb.test.stateless.BasicStatelessBusinessLocal;
 import org.apache.openejb.test.stateless.BasicStatelessBusinessRemote;
+import org.apache.openejb.test.stateless.BasicStatelessPojoBean;
 import org.apache.openejb.test.TestFailureException;
 
 import javax.ejb.RemoteHome;
@@ -91,10 +92,14 @@ public class AnnotatedFieldInjectionStat
     @EJB
     private BasicStatelessBusinessLocal statelessBusinessLocal;
     @EJB
+    private BasicStatelessPojoBean statelessBusinessLocalBean;
+    @EJB
     private BasicStatelessBusinessRemote statelessBusinessRemote;
     @EJB
     private BasicStatefulBusinessLocal statefulBusinessLocal;
     @EJB
+    private BasicStatefulPojoBean statefulBusinessLocalBean;
+    @EJB
     private BasicStatefulBusinessRemote statefulBusinessRemote;
 
 
@@ -138,6 +143,14 @@ public class AnnotatedFieldInjectionStat
         }
     }
 
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException {
+        try {
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statelessBusinessLocalBean);
+        } catch (AssertionFailedError afe) {
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatelessBusinessRemote() throws TestFailureException {
         try {
             Assert.assertNotNull("The EJB BusinessRemote is null", statelessBusinessRemote);
@@ -154,6 +167,14 @@ public class AnnotatedFieldInjectionStat
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException {
+        try {
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statefulBusinessLocalBean);
+        } catch (AssertionFailedError afe) {
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException {
         try {
             Assert.assertNotNull("The EJB BusinessRemote is null", statefulBusinessRemote);

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/ContextLookupStatefulBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/ContextLookupStatefulBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/ContextLookupStatefulBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/ContextLookupStatefulBean.java Thu May  6 16:45:02 2010
@@ -142,6 +142,19 @@ public class ContextLookupStatefulBean i
         }
     }
 
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicStatefulPojoBean object = (BasicStatefulPojoBean) ejbContext.lookup("stateful/beanReferences/stateless-business-local");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatelessBusinessRemote() throws TestFailureException{
         try{
             try{
@@ -168,6 +181,19 @@ public class ContextLookupStatefulBean i
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicStatefulPojoBean object = (BasicStatefulPojoBean) ejbContext.lookup("stateful/beanReferences/stateful-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             try{

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/ContextLookupStatefulPojoBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/ContextLookupStatefulPojoBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/ContextLookupStatefulPojoBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/ContextLookupStatefulPojoBean.java Thu May  6 16:45:02 2010
@@ -124,6 +124,19 @@ public class ContextLookupStatefulPojoBe
         }
     }
 
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicStatefulPojoBean object = (BasicStatefulPojoBean) ejbContext.lookup("stateful/beanReferences/stateless-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocal is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatelessBusinessRemote() throws TestFailureException{
         try{
             try{
@@ -150,6 +163,19 @@ public class ContextLookupStatefulPojoBe
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicStatefulPojoBean object = (BasicStatefulPojoBean) ejbContext.lookup("stateful/beanReferences/stateful-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             try{

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/EncStatefulBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/EncStatefulBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/EncStatefulBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/EncStatefulBean.java Thu May  6 16:45:02 2010
@@ -43,10 +43,7 @@ import junit.framework.AssertionFailedEr
 import org.apache.openejb.test.TestFailureException;
 import org.apache.openejb.test.entity.bmp.BasicBmpHome;
 import org.apache.openejb.test.entity.bmp.BasicBmpObject;
-import org.apache.openejb.test.stateless.BasicStatelessHome;
-import org.apache.openejb.test.stateless.BasicStatelessObject;
-import org.apache.openejb.test.stateless.BasicStatelessBusinessLocal;
-import org.apache.openejb.test.stateless.BasicStatelessBusinessRemote;
+import org.apache.openejb.test.stateless.*;
 
 /**
  *
@@ -156,6 +153,24 @@ public class EncStatefulBean implements 
         }
     }
 
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            InitialContext ctx = new InitialContext();
+            Assert.assertNotNull("The InitialContext is null", ctx );
+
+            Object o = ctx.lookup("java:comp/env/stateful/beanReferences/stateless-business-localbean");
+            BasicStatelessPojoBean object = (BasicStatelessPojoBean) o;
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                e.printStackTrace();
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatelessBusinessRemote() throws TestFailureException{
         try{
             try{
@@ -188,6 +203,22 @@ public class EncStatefulBean implements 
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            InitialContext ctx = new InitialContext();
+            Assert.assertNotNull("The InitialContext is null", ctx );
+
+            BasicStatefulPojoBean object = (BasicStatefulPojoBean) javax.rmi.PortableRemoteObject.narrow( ctx.lookup("java:comp/env/stateful/beanReferences/stateful-business-localbean"), BasicStatefulPojoBean.class );
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             try{

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/EncStatefulObject.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/EncStatefulObject.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/EncStatefulObject.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/EncStatefulObject.java Thu May  6 16:45:02 2010
@@ -32,8 +32,10 @@ public interface EncStatefulObject exten
     public void lookupStatelessBean() throws TestFailureException, RemoteException;
 
     public void lookupStatelessBusinessLocal() throws TestFailureException, RemoteException;
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException, RemoteException;
     public void lookupStatelessBusinessRemote() throws TestFailureException, RemoteException;
     public void lookupStatefulBusinessLocal() throws TestFailureException, RemoteException;
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException, RemoteException;
     public void lookupStatefulBusinessRemote() throws TestFailureException, RemoteException;
 
     public void lookupResource() throws TestFailureException, RemoteException;

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/FieldInjectionStatefulBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/FieldInjectionStatefulBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/FieldInjectionStatefulBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/FieldInjectionStatefulBean.java Thu May  6 16:45:02 2010
@@ -23,6 +23,7 @@ import org.apache.openejb.test.entity.bm
 import org.apache.openejb.test.stateless.BasicStatelessHome;
 import org.apache.openejb.test.stateless.BasicStatelessBusinessLocal;
 import org.apache.openejb.test.stateless.BasicStatelessBusinessRemote;
+import org.apache.openejb.test.stateless.BasicStatelessPojoBean;
 
 import javax.ejb.CreateException;
 import javax.ejb.SessionContext;
@@ -71,8 +72,10 @@ public class FieldInjectionStatefulBean 
     private EntityManager eem;
     private EntityManager pem;
     private BasicStatelessBusinessLocal statelessBusinessLocal;
+    private BasicStatelessPojoBean statelessBusinessLocalBean;
     private BasicStatelessBusinessRemote statelessBusinessRemote;
     private BasicStatefulBusinessLocal statefulBusinessLocal;
+    private BasicStatefulPojoBean statefulBusinessLocalBean;
     private BasicStatefulBusinessRemote statefulBusinessRemote;
 
     //=============================
@@ -129,6 +132,14 @@ public class FieldInjectionStatefulBean 
         }
     }
 
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statelessBusinessLocalBean );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatelessBusinessRemote() throws TestFailureException{
         try{
             Assert.assertNotNull("The EJB BusinessRemote is null", statelessBusinessRemote );
@@ -145,6 +156,14 @@ public class FieldInjectionStatefulBean 
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statefulBusinessLocalBean );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             Assert.assertNotNull("The EJB BusinessRemote is null", statefulBusinessRemote );

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/SetterInjectionStatefulBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/SetterInjectionStatefulBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/SetterInjectionStatefulBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/SetterInjectionStatefulBean.java Thu May  6 16:45:02 2010
@@ -20,6 +20,7 @@ import org.apache.openejb.test.entity.bm
 import org.apache.openejb.test.stateless.BasicStatelessHome;
 import org.apache.openejb.test.stateless.BasicStatelessBusinessLocal;
 import org.apache.openejb.test.stateless.BasicStatelessBusinessRemote;
+import org.apache.openejb.test.stateless.BasicStatelessPojoBean;
 import org.apache.openejb.test.TestFailureException;
 
 import javax.ejb.SessionBean;
@@ -75,6 +76,8 @@ public class SetterInjectionStatefulBean
     private BasicStatelessBusinessRemote statelessBusinessRemoteField;
     private BasicStatefulBusinessLocal statefulBusinessLocalField;
     private BasicStatefulBusinessRemote statefulBusinessRemoteField;
+    private BasicStatefulPojoBean statefulBusinessLocalBeanField;
+    private BasicStatelessPojoBean statelessBusinessLocalBeanField;
 
     public BasicStatefulBusinessLocal getStatefulBusinessLocal() {
         return statefulBusinessLocalField;
@@ -84,6 +87,14 @@ public class SetterInjectionStatefulBean
         this.statefulBusinessLocalField = statefulBusinessLocal;
     }
 
+    public BasicStatefulPojoBean getStatefulBusinessLocalBean() {
+        return statefulBusinessLocalBeanField;
+    }
+
+    public void setStatefulBusinessLocalBean(BasicStatefulPojoBean statefulBusinessLocalBean) {
+        this.statefulBusinessLocalBeanField = statefulBusinessLocalBean;
+    }
+
     public BasicStatefulBusinessRemote getStatefulBusinessRemote() {
         return statefulBusinessRemoteField;
     }
@@ -100,6 +111,14 @@ public class SetterInjectionStatefulBean
         this.statelessBusinessLocalField = statelessBusinessLocal;
     }
 
+    public BasicStatelessPojoBean getStatelessBusinessLocalBean() {
+        return statelessBusinessLocalBeanField;
+    }
+
+    public void setStatelessBusinessLocalBean(BasicStatelessPojoBean statelessBusinessLocalBean) {
+        this.statelessBusinessLocalBeanField = statelessBusinessLocalBean;
+    }
+
     public BasicStatelessBusinessRemote getStatelessBusinessRemote() {
         return statelessBusinessRemoteField;
     }
@@ -339,6 +358,14 @@ public class SetterInjectionStatefulBean
         }
     }
 
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statelessBusinessLocalBeanField );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatelessBusinessRemote() throws TestFailureException{
         try{
             Assert.assertNotNull("The EJB BusinessRemote is null", statelessBusinessRemoteField );
@@ -355,6 +382,14 @@ public class SetterInjectionStatefulBean
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statefulBusinessLocalBeanField );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             Assert.assertNotNull("The EJB BusinessRemote is null", statefulBusinessRemoteField );

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/AnnotatedFieldInjectionStatelessBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/AnnotatedFieldInjectionStatelessBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/AnnotatedFieldInjectionStatelessBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/AnnotatedFieldInjectionStatelessBean.java Thu May  6 16:45:02 2010
@@ -23,6 +23,7 @@ import org.apache.openejb.test.entity.bm
 import org.apache.openejb.test.stateful.BasicStatefulBusinessLocal;
 import org.apache.openejb.test.stateful.BasicStatefulBusinessRemote;
 import org.apache.openejb.test.stateful.BasicStatefulHome;
+import org.apache.openejb.test.stateful.BasicStatefulPojoBean;
 
 import javax.annotation.Resource;
 import javax.ejb.CreateException;
@@ -92,7 +93,11 @@ public class AnnotatedFieldInjectionStat
     @EJB
     private BasicStatefulBusinessLocal statefulBusinessLocal;
     @EJB
+    private BasicStatefulPojoBean statefulBusinessLocalBean;
+    @EJB
     private BasicStatefulBusinessRemote statefulBusinessRemote;
+    @EJB
+    private BasicStatelessPojoBean statelessBusinessLocalBean;
 
 
     public void ejbCreate() throws CreateException {
@@ -146,6 +151,14 @@ public class AnnotatedFieldInjectionStat
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException {
+        try {
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statefulBusinessLocalBean);
+        } catch (AssertionFailedError afe) {
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException {
         try {
             Assert.assertNotNull("The EJB BusinessRemote is null", statefulBusinessRemote);
@@ -319,4 +332,14 @@ public class AnnotatedFieldInjectionStat
         }
 
     }
+
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException{
+        try {
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statelessBusinessLocalBean);
+        } catch (AssertionFailedError afe) {
+            throw new TestFailureException(afe);
+        }
+
+    }
+    
 }

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/ContextLookupStatelessBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/ContextLookupStatelessBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/ContextLookupStatelessBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/ContextLookupStatelessBean.java Thu May  6 16:45:02 2010
@@ -150,6 +150,19 @@ public class ContextLookupStatelessBean 
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicStatelessPojoBean object = (BasicStatelessPojoBean) ejbContext.lookup("stateless/beanReferences/stateful-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             try{
@@ -482,4 +495,19 @@ public class ContextLookupStatelessBean 
     public String remove(String arg) {
         return arg;
     }
+
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicStatelessPojoBean object = (BasicStatelessPojoBean) ejbContext.lookup("stateless/beanReferences/stateless-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+
+    }
+    
 }

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/ContextLookupStatelessPojoBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/ContextLookupStatelessPojoBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/ContextLookupStatelessPojoBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/ContextLookupStatelessPojoBean.java Thu May  6 16:45:02 2010
@@ -127,6 +127,19 @@ public class ContextLookupStatelessPojoB
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicStatelessPojoBean object = (BasicStatelessPojoBean) getSessionContext().lookup("stateless/beanReferences/stateful-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             try{
@@ -378,4 +391,19 @@ public class ContextLookupStatelessPojoB
         }
         return ejbContext;
     }
+
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            BasicStatelessPojoBean object = (BasicStatelessPojoBean) getSessionContext().lookup("stateless/beanReferences/stateless-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+
+    }
+    
 }

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/EncStatelessBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/EncStatelessBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/EncStatelessBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/EncStatelessBean.java Thu May  6 16:45:02 2010
@@ -33,6 +33,7 @@ import javax.jms.MessageProducer;
 import javax.jms.TopicConnectionFactory;
 import javax.jms.QueueConnectionFactory;
 import javax.jms.JMSException;
+import javax.rmi.PortableRemoteObject;
 
 import junit.framework.Assert;
 import junit.framework.AssertionFailedError;
@@ -40,10 +41,7 @@ import junit.framework.AssertionFailedEr
 import org.apache.openejb.test.TestFailureException;
 import org.apache.openejb.test.entity.bmp.BasicBmpHome;
 import org.apache.openejb.test.entity.bmp.BasicBmpObject;
-import org.apache.openejb.test.stateful.BasicStatefulHome;
-import org.apache.openejb.test.stateful.BasicStatefulObject;
-import org.apache.openejb.test.stateful.BasicStatefulBusinessRemote;
-import org.apache.openejb.test.stateful.BasicStatefulBusinessLocal;
+import org.apache.openejb.test.stateful.*;
 
 /**
  *
@@ -142,6 +140,24 @@ public class EncStatelessBean implements
         }
     }
 
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            InitialContext ctx = new InitialContext();
+            Assert.assertNotNull("The InitialContext is null", ctx );
+
+                Object o = ctx.lookup("java:comp/env/stateless/beanReferences/stateless-business-localbean");
+                BasicStatelessPojoBean object = (BasicStatelessPojoBean) o;
+            Assert.assertNotNull("The EJB BusinessLocal is null", object );
+            } catch (Exception e){
+                e.printStackTrace();
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatelessBusinessRemote() throws TestFailureException{
         try{
             try{
@@ -174,6 +190,22 @@ public class EncStatelessBean implements
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            try{
+            InitialContext ctx = new InitialContext();
+            Assert.assertNotNull("The InitialContext is null", ctx );
+
+            BasicStatefulPojoBean object = (BasicStatefulPojoBean) ctx.lookup("java:comp/env/stateless/beanReferences/stateful-business-localbean");
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", object );
+            } catch (Exception e){
+                Assert.fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+            }
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             try{

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/EncStatelessObject.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/EncStatelessObject.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/EncStatelessObject.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/EncStatelessObject.java Thu May  6 16:45:02 2010
@@ -32,8 +32,10 @@ public interface EncStatelessObject exte
     public void lookupStatelessBean() throws TestFailureException, RemoteException;
 
     public void lookupStatelessBusinessLocal() throws TestFailureException, RemoteException;
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException, RemoteException;
     public void lookupStatelessBusinessRemote() throws TestFailureException, RemoteException;
     public void lookupStatefulBusinessLocal() throws TestFailureException, RemoteException;
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException, RemoteException;
     public void lookupStatefulBusinessRemote() throws TestFailureException, RemoteException;
  
     public void lookupResource() throws TestFailureException, RemoteException;

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/FieldInjectionStatelessBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/FieldInjectionStatelessBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/FieldInjectionStatelessBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/FieldInjectionStatelessBean.java Thu May  6 16:45:02 2010
@@ -23,6 +23,7 @@ import org.apache.openejb.test.entity.bm
 import org.apache.openejb.test.stateful.BasicStatefulBusinessLocal;
 import org.apache.openejb.test.stateful.BasicStatefulBusinessRemote;
 import org.apache.openejb.test.stateful.BasicStatefulHome;
+import org.apache.openejb.test.stateful.BasicStatefulPojoBean;
 
 import javax.ejb.CreateException;
 import javax.ejb.EJBException;
@@ -70,6 +71,8 @@ public class FieldInjectionStatelessBean
     private BasicStatelessBusinessLocal statelessBusinessLocal;
     private BasicStatelessBusinessRemote statelessBusinessRemote;
     private BasicStatefulBusinessLocal statefulBusinessLocal;
+    private BasicStatefulPojoBean statefulBusinessLocalBean;
+    private BasicStatelessPojoBean statelessBusinessLocalBean;
     private BasicStatefulBusinessRemote statefulBusinessRemote;
 
 
@@ -124,6 +127,22 @@ public class FieldInjectionStatelessBean
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statefulBusinessLocalBean );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statelessBusinessLocalBean );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             Assert.assertNotNull("The EJB BusinessRemote is null", statefulBusinessRemote );

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/SetterInjectionStatelessBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/SetterInjectionStatelessBean.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/SetterInjectionStatelessBean.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/SetterInjectionStatelessBean.java Thu May  6 16:45:02 2010
@@ -20,6 +20,7 @@ import org.apache.openejb.test.entity.bm
 import org.apache.openejb.test.stateful.BasicStatefulHome;
 import org.apache.openejb.test.stateful.BasicStatefulBusinessLocal;
 import org.apache.openejb.test.stateful.BasicStatefulBusinessRemote;
+import org.apache.openejb.test.stateful.BasicStatefulPojoBean;
 import org.apache.openejb.test.TestFailureException;
 
 import javax.ejb.SessionBean;
@@ -70,8 +71,10 @@ public class SetterInjectionStatelessBea
     private EntityManager eemField;
     private EntityManager pemField;
     private BasicStatelessBusinessLocal statelessBusinessLocalField;
+    private BasicStatelessPojoBean statelessBusinessLocalBeanField;
     private BasicStatelessBusinessRemote statelessBusinessRemoteField;
     private BasicStatefulBusinessLocal statefulBusinessLocalField;
+    private BasicStatefulPojoBean statefulBusinessLocalBeanField;
     private BasicStatefulBusinessRemote statefulBusinessRemoteField;
 
     public BasicStatefulBusinessLocal getStatefulBusinessLocal() {
@@ -82,6 +85,18 @@ public class SetterInjectionStatelessBea
         this.statefulBusinessLocalField = statefulBusinessLocal;
     }
 
+    public BasicStatefulPojoBean getStatefulBusinessLocalBean() {
+        return statefulBusinessLocalBeanField;
+    }
+
+    public void setStatefulBusinessLocalBean(BasicStatefulPojoBean statefulBusinessLocalBean) {
+        this.statefulBusinessLocalBeanField = statefulBusinessLocalBean;
+
+    }
+    public BasicStatelessPojoBean getStatelessBusinessLocalBean() {
+        return statelessBusinessLocalBeanField;
+    }
+
     public BasicStatefulBusinessRemote getStatefulBusinessRemote() {
         return statefulBusinessRemoteField;
     }
@@ -98,6 +113,10 @@ public class SetterInjectionStatelessBea
         this.statelessBusinessLocalField = statelessBusinessLocal;
     }
 
+    public void setStatelessBusinessLocalBean(BasicStatelessPojoBean statelessBusinessLocalBean) {
+        this.statelessBusinessLocalBeanField = statelessBusinessLocalBean;
+    }
+
     public BasicStatelessBusinessRemote getStatelessBusinessRemote() {
         return statelessBusinessRemoteField;
     }
@@ -325,6 +344,14 @@ public class SetterInjectionStatelessBea
         }
     }
 
+    public void lookupStatefulBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statefulBusinessLocalBeanField );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+    }
+
     public void lookupStatefulBusinessRemote() throws TestFailureException{
         try{
             Assert.assertNotNull("The EJB BusinessRemote is null", statefulBusinessRemoteField );
@@ -500,6 +527,16 @@ public class SetterInjectionStatelessBea
 
     }
 
+    public void lookupStatelessBusinessLocalBean() throws TestFailureException{
+        try{
+            Assert.assertNotNull("The EJB BusinessLocalBean is null", statelessBusinessLocalBeanField );
+        } catch (AssertionFailedError afe){
+            throw new TestFailureException(afe);
+        }
+
+    }
+    
+
     public void ejbActivate() throws EJBException, RemoteException {
     }
 

Modified: openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/ejb-jar.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/ejb-jar.xml?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/ejb-jar.xml (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/ejb-jar.xml Thu May  6 16:45:02 2010
@@ -22,8 +22,8 @@
 
 <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-         version="3.0" metadata-complete="false">
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
+         version="3.1" metadata-complete="false">
 
   <description>
     This ejb-jar file contains assembled enterprise beans that are
@@ -1644,6 +1644,7 @@
       <ejb-class>org.apache.openejb.test.stateful.BasicStatefulPojoBean</ejb-class>
       <business-local>org.apache.openejb.test.stateful.BasicStatefulBusinessLocal</business-local>
       <business-remote>org.apache.openejb.test.stateful.BasicStatefulBusinessRemote</business-remote>
+      <local-bean/>
       <session-type>Stateful</session-type>
       <init-method>
         <bean-method>
@@ -1824,11 +1825,23 @@
         <ejb-link>BasicStatelessPojoBean</ejb-link>
       </ejb-local-ref>
       <ejb-local-ref>
+        <ejb-ref-name>stateful/beanReferences/stateless-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateless.BasicStatelessPojoBean</local>
+        <ejb-link>BasicStatelessPojoBean</ejb-link>
+      </ejb-local-ref>
+      <ejb-local-ref>
         <ejb-ref-name>stateful/beanReferences/stateful-business-local</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
         <local>org.apache.openejb.test.stateful.BasicStatefulBusinessLocal</local>
         <ejb-link>BasicStatefulPojoBean</ejb-link>
       </ejb-local-ref>
+      <ejb-local-ref>
+        <ejb-ref-name>stateful/beanReferences/stateful-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateful.BasicStatefulPojoBean</local>
+        <ejb-link>BasicStatefulPojoBean</ejb-link>
+      </ejb-local-ref>
       <resource-ref>
         <res-ref-name>datasource</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
@@ -2039,6 +2052,16 @@
         </injection-target>
       </ejb-local-ref>
       <ejb-local-ref>
+        <ejb-ref-name>stateful/beanReferences/stateless-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateless.BasicStatelessPojoBean</local>
+        <ejb-link>BasicStatelessPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.stateful.FieldInjectionStatefulBean</injection-target-class>
+          <injection-target-name>statelessBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
+      <ejb-local-ref>
         <ejb-ref-name>stateful/beanReferences/stateful-business-local</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
         <local>org.apache.openejb.test.stateful.BasicStatefulBusinessLocal</local>
@@ -2048,6 +2071,16 @@
           <injection-target-name>statefulBusinessLocal</injection-target-name>
         </injection-target>
       </ejb-local-ref>
+      <ejb-local-ref>
+        <ejb-ref-name>stateful/beanReferences/stateful-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateful.BasicStatefulPojoBean</local>
+        <ejb-link>BasicStatefulPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.stateful.FieldInjectionStatefulBean</injection-target-class>
+          <injection-target-name>statefulBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
       <resource-ref>
         <res-ref-name>datasource</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
@@ -2275,6 +2308,16 @@
         </injection-target>
       </ejb-local-ref>
       <ejb-local-ref>
+        <ejb-ref-name>stateful/beanReferences/stateless-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateless.BasicStatelessPojoBean</local>
+        <ejb-link>BasicStatelessPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.stateful.SetterInjectionStatefulBean</injection-target-class>
+          <injection-target-name>statelessBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
+      <ejb-local-ref>
         <ejb-ref-name>stateful/beanReferences/stateful-business-local</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
         <local>org.apache.openejb.test.stateful.BasicStatefulBusinessLocal</local>
@@ -2284,6 +2327,16 @@
           <injection-target-name>statefulBusinessLocal</injection-target-name>
         </injection-target>
       </ejb-local-ref>
+      <ejb-local-ref>
+        <ejb-ref-name>stateful/beanReferences/stateful-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateful.BasicStatefulPojoBean</local>
+        <ejb-link>BasicStatefulPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.stateful.SetterInjectionStatefulBean</injection-target-class>
+          <injection-target-name>statefulBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
       <resource-ref>
         <res-ref-name>datasource</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
@@ -2761,6 +2814,7 @@
       <remote>org.apache.openejb.test.stateless.BasicStatelessObject</remote>
       <local-home>org.apache.openejb.test.stateless.BasicStatelessLocalHome</local-home>
       <local>org.apache.openejb.test.stateless.BasicStatelessLocalObject</local>
+      <local-bean/>
       <business-local>org.apache.openejb.test.stateless.BasicStatelessBusinessLocal</business-local>
       <business-remote>org.apache.openejb.test.stateless.BasicStatelessBusinessRemote</business-remote>
       <ejb-class>org.apache.openejb.test.stateless.BasicStatelessPojoBean</ejb-class>
@@ -3011,6 +3065,12 @@
         <local>org.apache.openejb.test.stateless.BasicStatelessBusinessLocal</local>
         <ejb-link>BasicStatelessPojoBean</ejb-link>
       </ejb-local-ref>
+      <ejb-local-ref>
+        <ejb-ref-name>stateless/beanReferences/stateless-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateless.BasicStatelessPojoBean</local>
+        <ejb-link>BasicStatelessPojoBean</ejb-link>
+      </ejb-local-ref>
       <ejb-ref>
         <ejb-ref-name>stateless/beanReferences/stateless-business-remote</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
@@ -3023,6 +3083,12 @@
         <local>org.apache.openejb.test.stateful.BasicStatefulBusinessLocal</local>
         <ejb-link>BasicStatefulPojoBean</ejb-link>
       </ejb-local-ref>
+      <ejb-local-ref>
+        <ejb-ref-name>stateless/beanReferences/stateful-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateful.BasicStatefulPojoBean</local>
+        <ejb-link>BasicStatefulPojoBean</ejb-link>
+      </ejb-local-ref>
       <ejb-ref>
         <ejb-ref-name>stateless/beanReferences/stateful-business-remote</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
@@ -3231,6 +3297,16 @@
         </injection-target>
       </ejb-local-ref>
       <ejb-local-ref>
+        <ejb-ref-name>stateless/beanReferences/stateless-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateless.BasicStatelessPojoBean</local>
+        <ejb-link>BasicStatelessPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.stateless.FieldInjectionStatelessBean</injection-target-class>
+          <injection-target-name>statelessBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
+      <ejb-local-ref>
         <ejb-ref-name>stateless/beanReferences/stateful-business-local</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
         <local>org.apache.openejb.test.stateful.BasicStatefulBusinessLocal</local>
@@ -3240,6 +3316,16 @@
           <injection-target-name>statefulBusinessLocal</injection-target-name>
         </injection-target>
       </ejb-local-ref>
+      <ejb-local-ref>
+        <ejb-ref-name>stateless/beanReferences/stateful-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateful.BasicStatefulPojoBean</local>
+        <ejb-link>BasicStatefulPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.stateless.FieldInjectionStatelessBean</injection-target-class>
+          <injection-target-name>statefulBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
       <resource-ref>
         <res-ref-name>datasource</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
@@ -3467,6 +3553,16 @@
         </injection-target>
       </ejb-local-ref>
       <ejb-local-ref>
+        <ejb-ref-name>stateless/beanReferences/stateless-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateless.BasicStatelessPojoBean</local>
+        <ejb-link>BasicStatelessPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.stateless.SetterInjectionStatelessBean</injection-target-class>
+          <injection-target-name>statelessBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
+      <ejb-local-ref>
         <ejb-ref-name>stateless/beanReferences/stateful-business-local</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
         <local>org.apache.openejb.test.stateful.BasicStatefulBusinessLocal</local>
@@ -3476,6 +3572,16 @@
           <injection-target-name>statefulBusinessLocal</injection-target-name>
         </injection-target>
       </ejb-local-ref>
+      <ejb-local-ref>
+        <ejb-ref-name>stateless/beanReferences/stateful-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateful.BasicStatefulPojoBean</local>
+        <ejb-link>BasicStatefulPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.stateless.SetterInjectionStatelessBean</injection-target-class>
+          <injection-target-name>statefulBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
       <resource-ref>
         <res-ref-name>datasource</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
@@ -5392,6 +5498,7 @@
       <local>org.apache.openejb.test.singleton.BasicSingletonLocalObject</local>
       <business-local>org.apache.openejb.test.singleton.BasicSingletonBusinessLocal</business-local>
       <business-remote>org.apache.openejb.test.singleton.BasicSingletonBusinessRemote</business-remote>
+      <local-bean/>  
       <ejb-class>org.apache.openejb.test.singleton.BasicSingletonPojoBean</ejb-class>
       <session-type>Singleton</session-type>
       <transaction-type>Container</transaction-type>
@@ -5609,6 +5716,12 @@
         <local>org.apache.openejb.test.singleton.BasicSingletonBusinessLocal</local>
         <ejb-link>BasicSingletonPojoBean</ejb-link>
       </ejb-local-ref>
+      <ejb-local-ref>
+        <ejb-ref-name>singleton/beanReferences/singleton-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.singleton.BasicSingletonPojoBean</local>
+        <ejb-link>BasicSingletonPojoBean</ejb-link>
+      </ejb-local-ref>
       <ejb-ref>
         <ejb-ref-name>singleton/beanReferences/singleton-business-remote</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
@@ -5829,6 +5942,16 @@
         </injection-target>
       </ejb-local-ref>
       <ejb-local-ref>
+        <ejb-ref-name>singleton/beanReferences/singleton-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.singleton.BasicSingletonPojoBean</local>
+        <ejb-link>BasicSingletonPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.singleton.FieldInjectionSingletonBean</injection-target-class>
+          <injection-target-name>singletonBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
+      <ejb-local-ref>
         <ejb-ref-name>singleton/beanReferences/stateful-business-local</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
         <local>org.apache.openejb.test.stateful.BasicStatefulBusinessLocal</local>
@@ -5838,6 +5961,16 @@
           <injection-target-name>statefulBusinessLocal</injection-target-name>
         </injection-target>
       </ejb-local-ref>
+      <ejb-local-ref>
+        <ejb-ref-name>singleton/beanReferences/stateful-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateful.BasicStatefulPojoBean</local>
+        <ejb-link>BasicStatefulPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.singleton.FieldInjectionSingletonBean</injection-target-class>
+          <injection-target-name>statefulBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
       <resource-ref>
         <res-ref-name>datasource</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
@@ -6074,6 +6207,26 @@
           <injection-target-name>statefulBusinessLocal</injection-target-name>
         </injection-target>
       </ejb-local-ref>
+        <ejb-local-ref>
+        <ejb-ref-name>singleton/beanReferences/singleton-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.singleton.BasicSingletonPojoBean</local>
+        <ejb-link>BasicSingletonPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.singleton.SetterInjectionSingletonBean</injection-target-class>
+          <injection-target-name>singletonBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
+      <ejb-local-ref>
+        <ejb-ref-name>singleton/beanReferences/stateful-business-localbean</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local>org.apache.openejb.test.stateful.BasicStatefulPojoBean</local>
+        <ejb-link>BasicStatefulPojoBean</ejb-link>
+        <injection-target>
+          <injection-target-class>org.apache.openejb.test.singleton.SetterInjectionSingletonBean</injection-target-class>
+          <injection-target-name>statefulBusinessLocalBean</injection-target-name>
+        </injection-target>
+      </ejb-local-ref>
       <resource-ref>
         <res-ref-name>datasource</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>

Modified: openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonAnnotatedFieldInjectionTests.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonAnnotatedFieldInjectionTests.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonAnnotatedFieldInjectionTests.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonAnnotatedFieldInjectionTests.java Thu May  6 16:45:02 2010
@@ -269,4 +269,25 @@ public class SingletonAnnotatedFieldInje
             fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
         }
     }
+
+    public void test24_lookupStatefulBusinessLocalBean() {
+        try{
+            ejbObject.lookupStatefulBusinessLocalBean();
+        } catch (TestFailureException e){
+            throw e.error;
+        } catch (Exception e){
+            fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+        }
+    }
+
+    public void test25_lookupSingletonBusinessLocal() {
+        try{
+            ejbObject.lookupSingletonBusinessLocalBean();
+        } catch (TestFailureException e){
+            throw e.error;
+        } catch (Exception e){
+            fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+        }
+    }
+
 }

Modified: openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonFieldInjectionTests.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonFieldInjectionTests.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonFieldInjectionTests.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonFieldInjectionTests.java Thu May  6 16:45:02 2010
@@ -271,4 +271,25 @@ public class SingletonFieldInjectionTest
             fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
         }
     }
+
+    public void test24_lookupStatefulBusinessLocalBean() {
+        try{
+            ejbObject.lookupStatefulBusinessLocalBean();
+        } catch (TestFailureException e){
+            throw e.error;
+        } catch (Exception e){
+            fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+        }
+    }
+
+    public void test25_lookupSingletonBusinessLocalBean() {
+        try{
+            ejbObject.lookupSingletonBusinessLocalBean();
+        } catch (TestFailureException e){
+            throw e.error;
+        } catch (Exception e){
+            fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+        }
+    }
+
 }

Modified: openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonJndiEncTests.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonJndiEncTests.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonJndiEncTests.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonJndiEncTests.java Thu May  6 16:45:02 2010
@@ -279,4 +279,25 @@ public class SingletonJndiEncTests exten
             fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
         }
     }
+
+    public void test24_lookupStatefulBusinessLocalBean() {
+        try{
+            ejbObject.lookupStatefulBusinessLocal();
+        } catch (TestFailureException e){
+            throw e.error;
+        } catch (Exception e){
+            fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+        }
+    }
+
+    public void test25_lookupSingletonBusinessLocalBean() {
+        try{
+            ejbObject.lookupSingletonBusinessLocalBean();
+        } catch (TestFailureException e){
+            throw e.error;
+        } catch (Exception e){
+            fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+        }
+    }
+
 }

Modified: openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonSetterInjectionTests.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonSetterInjectionTests.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonSetterInjectionTests.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/singleton/SingletonSetterInjectionTests.java Thu May  6 16:45:02 2010
@@ -269,4 +269,25 @@ public class SingletonSetterInjectionTes
             fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
         }
     }
+
+    public void test24_lookupStatefulBusinessLocalBean() {
+        try{
+            ejbObject.lookupStatefulBusinessLocalBean();
+        } catch (TestFailureException e){
+            throw e.error;
+        } catch (Exception e){
+            fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+        }
+    }
+
+    public void test25_lookupSingletonBusinessLocalBean() {
+        try{
+            ejbObject.lookupSingletonBusinessLocalBean();
+        } catch (TestFailureException e){
+            throw e.error;
+        } catch (Exception e){
+            fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+        }
+    }
+
 }

Modified: openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulFieldInjectionTests.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulFieldInjectionTests.java?rev=941800&r1=941799&r2=941800&view=diff
==============================================================================
--- openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulFieldInjectionTests.java (original)
+++ openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulFieldInjectionTests.java Thu May  6 16:45:02 2010
@@ -268,4 +268,25 @@ public class StatefulFieldInjectionTests
             fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
         }
     }
+
+    public void test24_lookupStatefulBusinessLocalBean() {
+        try{
+            ejbObject.lookupStatefulBusinessLocalBean();
+        } catch (TestFailureException e){
+            throw e.error;
+        } catch (Exception e){
+            fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+        }
+    }
+
+    public void test25_lookupStatelessBusinessLocalBesn() {
+        try{
+            ejbObject.lookupStatelessBusinessLocalBean();
+        } catch (TestFailureException e){
+            throw e.error;
+        } catch (Exception e){
+            fail("Received Exception "+e.getClass()+ " : "+e.getMessage());
+        }
+    }
+
 }