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