You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/08/01 10:32:40 UTC

svn commit: r1367883 - in /openejb/trunk/openejb/container/openejb-core/src: main/java/org/apache/openejb/util/proxy/ test/java/org/apache/openejb/core/stateless/

Author: rmannibucau
Date: Wed Aug  1 08:32:40 2012
New Revision: 1367883

URL: http://svn.apache.org/viewvc?rev=1367883&view=rev
Log:
OPENEJB-1882 skipping object methods in local bean proxies

Added:
    openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/ThisInConstructorTest.java
Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImpl.java

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java?rev=1367883&r1=1367882&r2=1367883&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java Wed Aug  1 08:32:40 2012
@@ -27,7 +27,7 @@ import javax.ejb.EJBException;
 public class LocalBeanProxyFactory {
 
     private static final java.lang.reflect.InvocationHandler NON_BUSINESS_HANDLER = new NonBusinessHandler();
-    
+
     public static Object newProxyInstance(ClassLoader cl, Class interfce, java.lang.reflect.InvocationHandler h) throws IllegalArgumentException {
             try {
             Class proxyCls = new LocalBeanProxyGeneratorImpl().createProxy(interfce, cl);

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImpl.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImpl.java?rev=1367883&r1=1367882&r2=1367883&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImpl.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImpl.java Wed Aug  1 08:32:40 2012
@@ -192,8 +192,7 @@ public class LocalBeanProxyGeneratorImpl
 		    }
 		}
 		
-		byte[] clsBytes = cw.toByteArray();
-		return clsBytes;
+		return cw.toByteArray();
 	}
 
 	/*
@@ -212,7 +211,8 @@ public class LocalBeanProxyGeneratorImpl
 	                int modifiers = method.getModifiers();
 	                if (Modifier.isFinal(modifiers) || 
 	                    Modifier.isPrivate(modifiers) || 
-	                    Modifier.isStatic(modifiers)) {
+	                    Modifier.isStatic(modifiers) ||
+                            method.getDeclaringClass().equals(Object.class)) {
 	                    continue;
 	                }
 	                

Added: openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/ThisInConstructorTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/ThisInConstructorTest.java?rev=1367883&view=auto
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/ThisInConstructorTest.java (added)
+++ openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/ThisInConstructorTest.java Wed Aug  1 08:32:40 2012
@@ -0,0 +1,46 @@
+package org.apache.openejb.core.stateless;
+
+import org.apache.openejb.jee.Empty;
+import org.apache.openejb.jee.StatelessBean;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.junit.Module;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.ejb.EJB;
+import javax.ejb.Stateless;
+
+import static org.junit.Assert.assertNotNull;
+
+@RunWith(ApplicationComposer.class)
+public class ThisInConstructorTest {
+    @EJB
+    private AStatelessWithAConstructor stateless;
+
+    @Test
+    public void validThis() {
+        assertNotNull(stateless);
+        assertNotNull(stateless.getThat());
+    }
+
+    @Module
+    public StatelessBean bean() {
+        final StatelessBean bean = new StatelessBean(AStatelessWithAConstructor.class);
+        bean.setLocalBean(new Empty());
+        return bean;
+    }
+
+    @Stateless
+    public static class AStatelessWithAConstructor {
+        private AStatelessWithAConstructor that;
+
+        public AStatelessWithAConstructor() {
+            that = this;
+            System.out.println(this);
+        }
+
+        public AStatelessWithAConstructor getThat() {
+            return that;
+        }
+    }
+}