diff --git a/pom.xml b/pom.xml index 7abf5cc07..dc3d62fe5 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.mysema.codegen codegen - 0.5.3 + 0.5.4 Codegen Code generation and compilation for Java diff --git a/src/main/java/com/mysema/codegen/ScalaWriter.java b/src/main/java/com/mysema/codegen/ScalaWriter.java index 9d0e5b2ab..cf789d292 100644 --- a/src/main/java/com/mysema/codegen/ScalaWriter.java +++ b/src/main/java/com/mysema/codegen/ScalaWriter.java @@ -370,6 +370,11 @@ public class ScalaWriter extends AbstractCodeWriter { fullName = StringUtils.capitalize(fullName); } String packageName = type.getPackageName(); + if (packageName != null && packageName.length() > 0) { + fullName = packageName + "." + fullName.substring(packageName.length()+1).replace('.', '$'); + } else { + fullName = fullName.replace('.', '$'); + } String rv = fullName; if (type.isPrimitive() && packageName.isEmpty()) { rv = Character.toUpperCase(rv.charAt(0)) + rv.substring(1); diff --git a/src/test/java/com/mysema/codegen/InnerClassesTest.java b/src/test/java/com/mysema/codegen/InnerClassesTest.java index 6a4c11d1e..b01139fa3 100644 --- a/src/test/java/com/mysema/codegen/InnerClassesTest.java +++ b/src/test/java/com/mysema/codegen/InnerClassesTest.java @@ -1,5 +1,7 @@ package com.mysema.codegen; +import static org.junit.Assert.*; + import java.io.IOException; import java.io.StringWriter; @@ -28,5 +30,23 @@ public class InnerClassesTest { System.err.println(str.toString()); } + + @Test + public void Java() { + StringWriter str = new StringWriter(); + JavaWriter writer = new JavaWriter(str); + + assertEquals("com.mysema.codegen.InnerClassesTest.Entity", + writer.getRawName(new ClassType(Entity.class))); + } + + @Test + public void Scala() { + StringWriter str = new StringWriter(); + ScalaWriter writer = new ScalaWriter(str); + + assertEquals("com.mysema.codegen.InnerClassesTest$Entity", + writer.getRawName(new ClassType(Entity.class))); + } }