diff --git a/pom.xml b/pom.xml
index 65a0ac4da..a43471c7e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.mysema.codegen
codegen
- 0.4.0-SNAPSHOT
+ 0.4.1
Codegen
Code generation and compilation for Java
diff --git a/src/main/java/com/mysema/codegen/model/SimpleType.java b/src/main/java/com/mysema/codegen/model/SimpleType.java
index d00dba9bf..2f1cf12ef 100644
--- a/src/main/java/com/mysema/codegen/model/SimpleType.java
+++ b/src/main/java/com/mysema/codegen/model/SimpleType.java
@@ -20,7 +20,7 @@ public class SimpleType implements Type {
private final TypeCategory category;
- private final String fullName, packageName, simpleName, localName;
+ private final String fullName, outerClassName, packageName, simpleName, localName;
private final List parameters;
@@ -58,6 +58,11 @@ public class SimpleType implements Type {
}else{
this.localName = fullName;
}
+ if (fullName.substring(packageName.length()+1).contains(".")) {
+ this.outerClassName = fullName.substring(0, fullName.lastIndexOf('.'));
+ } else {
+ this.outerClassName = fullName;
+ }
this.primitiveClass = primitiveClass;
this.finalClass = finalClass;
this.parameters = parameters;
@@ -169,7 +174,7 @@ public class SimpleType implements Type {
@Override
public String getRawName(Set packages, Set classes) {
- if (packages.contains(packageName) || classes.contains(fullName)){
+ if (packages.contains(packageName) || classes.contains(fullName) || classes.contains(outerClassName)){
return localName;
}else{
return fullName;
diff --git a/src/main/java/com/mysema/codegen/support/ClassUtils.java b/src/main/java/com/mysema/codegen/support/ClassUtils.java
index 3b88a0e67..958eee69d 100644
--- a/src/main/java/com/mysema/codegen/support/ClassUtils.java
+++ b/src/main/java/com/mysema/codegen/support/ClassUtils.java
@@ -45,7 +45,8 @@ public final class ClassUtils {
return getName(cl.getComponentType(), packages, classes) + "[]";
} else if (cl.getPackage() == null
|| packages.contains(cl.getPackage().getName())
- || classes.contains(cl.getName())) {
+ || classes.contains(cl.getName())
+ || classes.contains(cl.getName().substring(0, cl.getName().lastIndexOf('.')))) {
if (cl.getPackage() != null){
String localName = cl.getName().substring(cl.getPackage().getName().length()+1);
return localName.replace('$', '.');