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));
}