From d2cc6fc4a1824e6f574b3ea41f9dac7557c36a62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Thu, 31 Mar 2011 07:18:58 +0000 Subject: [PATCH] fixed packageless class handling updated version to 0.3.4 --- pom.xml | 2 +- .../mysema/codegen/support/ClassUtils.java | 22 +++++++++---------- src/test/java/NestedTest.java | 20 +++++++++++++++++ 3 files changed, 32 insertions(+), 12 deletions(-) create mode 100644 src/test/java/NestedTest.java diff --git a/pom.xml b/pom.xml index a02d81a75..9b74c2520 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.mysema.codegen codegen - 0.3.3-SNAPSHOT + 0.3.4 Codegen Code generation and compilation for Java diff --git a/src/main/java/com/mysema/codegen/support/ClassUtils.java b/src/main/java/com/mysema/codegen/support/ClassUtils.java index a66160ddb..56a2248ee 100644 --- a/src/main/java/com/mysema/codegen/support/ClassUtils.java +++ b/src/main/java/com/mysema/codegen/support/ClassUtils.java @@ -1,7 +1,7 @@ /* * Copyright (c) 2010 Mysema Ltd. * All rights reserved. - * + * */ package com.mysema.codegen.support; @@ -16,11 +16,11 @@ import java.util.Set; * */ public final class ClassUtils { - + public static String getName(Class cl){ return getName(cl, Collections.singleton("java.lang"), Collections.emptySet()); } - + public static String getFullName(Class cl) { if (cl.isArray()){ @@ -29,7 +29,7 @@ public final class ClassUtils { return cl.getName(); } } - + public static String getPackageName(Class cl){ if (cl.isArray()){ return getPackageName(cl.getComponentType()); @@ -39,24 +39,24 @@ public final class ClassUtils { return ""; } } - + public static String getName(Class cl, Set packages, Set classes) { if (cl.isArray()) { return getName(cl.getComponentType(), packages, classes) + "[]"; - } else if (cl.getPackage() == null - || packages.contains(cl.getPackage().getName()) + } else if (cl.getPackage() == null + || packages.contains(cl.getPackage().getName()) || classes.contains(cl.getName())) { if (cl.getPackage() != null){ String localName = cl.getName().substring(cl.getPackage().getName().length()+1); return localName.replace('$', '.'); }else{ - return cl.getSimpleName().replace('$', '.'); + return cl.getName().replace('$', '.'); } } else { return cl.getName().replace('$', '.'); } } - + public static Class normalize(Class clazz){ if (List.class.isAssignableFrom(clazz)){ return List.class; @@ -64,10 +64,10 @@ public final class ClassUtils { return Set.class; }else if (Collection.class.isAssignableFrom(clazz)){ return Collection.class; - }else if (Map.class.isAssignableFrom(clazz)){ + }else if (Map.class.isAssignableFrom(clazz)){ return Map.class; }else{ - return clazz; + return clazz; } } diff --git a/src/test/java/NestedTest.java b/src/test/java/NestedTest.java new file mode 100644 index 000000000..955d76e24 --- /dev/null +++ b/src/test/java/NestedTest.java @@ -0,0 +1,20 @@ +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +import com.mysema.codegen.support.ClassUtils; + + +public class NestedTest { + + public static class Inner { + + } + + @Test + public void ClassUtils_getName(){ + String name = ClassUtils.getName(NestedTest.Inner.class); + assertEquals("NestedTest.Inner", name); + } + +}