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/08/06 01:39:14 UTC

svn commit: r982831 - in /openejb/trunk/openejb3/container/openejb-core/src: main/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImpl.java test/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImplTest.java

Author: jgallimore
Date: Thu Aug  5 23:39:14 2010
New Revision: 982831

URL: http://svn.apache.org/viewvc?rev=982831&view=rev
Log:
OPENEJB-1323 fixing localbean test for inner classes

Modified:
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImpl.java
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImplTest.java

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImpl.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImpl.java?rev=982831&r1=982830&r2=982831&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImpl.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyGeneratorImpl.java Thu Aug  5 23:39:14 2010
@@ -526,10 +526,16 @@ public class LocalBeanProxyGeneratorImpl
 			}
 		} else {
 			if (! parameterType.isPrimitive()) {
-				if (wrap) {
-					return "L" + parameterType.getCanonicalName().replaceAll("\\.", "/") + ";";
+                String clsName = parameterType.getCanonicalName();
+
+                if (parameterType.isMemberClass()) {
+                    int lastDot = clsName.lastIndexOf(".");
+                    clsName = clsName.substring(0, lastDot) + "$" + clsName.substring(lastDot + 1);
+                }
+                if (wrap) {
+					return "L" + clsName.replaceAll("\\.", "/") + ";";
 				} else {
-					return parameterType.getCanonicalName().replaceAll("\\.", "/");
+					return clsName.replaceAll("\\.", "/");
 				}
 			} else {
 				return getPrimitiveLetter(parameterType);

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=982831&r1=982830&r2=982831&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 Aug  5 23:39:14 2010
@@ -856,7 +856,7 @@ public class LocalBeanProxyGeneratorImpl
 
 
     @Test
-    public void _testEnumParam() throws Exception {
+    public void testEnumParam() throws Exception {
         TestInvocationHandler invocationHandler = new TestInvocationHandler(new EnumParams());
         ClassLoader cl = Thread.currentThread().getContextClassLoader();
 
@@ -873,7 +873,13 @@ public class LocalBeanProxyGeneratorImpl
 
         assertEquals(new Call("someStringMethod", String.class), calls[0]);
         assertEquals(new Call("someEnumMethod", Color.class), calls[1]);
-        assertEquals(new Call("someInnerClassMethod", Name.class), calls[3]);
+        assertEquals(new Call("someInnerClassMethod", Name.class), calls[2]);
+    }
+
+    public void testGetEnumType() throws Exception {
+        System.out.println(Color.class.getCanonicalName());
+        LocalBeanProxyGeneratorImpl localBeanProxyGenerator = new LocalBeanProxyGeneratorImpl();
+        assertEquals("Lorg/apache/openejb/util/proxy/LocalBeanProxyGeneratorImplTest$Color;", localBeanProxyGenerator.getAsmTypeAsString(Color.class, true));
     }