diff --git a/src/main/java/com/mysema/codegen/ECJEvaluatorFactory.java b/src/main/java/com/mysema/codegen/ECJEvaluatorFactory.java index 852362979..4f9b79681 100644 --- a/src/main/java/com/mysema/codegen/ECJEvaluatorFactory.java +++ b/src/main/java/com/mysema/codegen/ECJEvaluatorFactory.java @@ -151,8 +151,9 @@ public class ECJEvaluatorFactory extends AbstractEvaluatorFactory { } private boolean isClass(String result) { - if (Strings.isNullOrEmpty(result)) + if (Strings.isNullOrEmpty(result)) { return false; + } // if it's the class we're compiling, then of course it's a class if (result.equals(targetName)) { @@ -171,11 +172,7 @@ public class ECJEvaluatorFactory extends AbstractEvaluatorFactory { is = parentClassLoader.getResourceAsStream("java/lang/" + resourceName); } } - if (is == null) { - return false; // if it's a class, we sure couldn't load it - } else { - return true; // we actually loaded the class, so it must be one - } + return is != null; } finally { if (is != null) { try { @@ -285,10 +282,11 @@ public class ECJEvaluatorFactory extends AbstractEvaluatorFactory { // not one of our checked exceptions boxed as unchecked; just rethrow Throwable cause = ex.getCause(); if (cause != null) { - if (cause instanceof IOException) + if (cause instanceof IOException) { throw (IOException)cause; - else if (cause instanceof ClassFormatException) + } else if (cause instanceof ClassFormatException) { throw new IOException(cause); + } } throw ex; } diff --git a/src/main/java/com/mysema/codegen/MemJavaFileObject.java b/src/main/java/com/mysema/codegen/MemJavaFileObject.java index b8a636a2c..da58b6018 100644 --- a/src/main/java/com/mysema/codegen/MemJavaFileObject.java +++ b/src/main/java/com/mysema/codegen/MemJavaFileObject.java @@ -23,6 +23,8 @@ import java.net.URI; import javax.tools.SimpleJavaFileObject; +import com.google.common.base.Charsets; + /** * MemJavaFileObject defines an in memory compiled Java file * @@ -45,7 +47,7 @@ public class MemJavaFileObject extends SimpleJavaFileObject { if (baos == null) { throw new FileNotFoundException(name); } - return new String(baos.toByteArray()); + return new String(baos.toByteArray(), Charsets.UTF_8); } @Override diff --git a/src/main/java/com/mysema/codegen/StringUtils.java b/src/main/java/com/mysema/codegen/StringUtils.java index 807410963..97560893c 100644 --- a/src/main/java/com/mysema/codegen/StringUtils.java +++ b/src/main/java/com/mysema/codegen/StringUtils.java @@ -25,7 +25,7 @@ public final class StringUtils { return CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, str); } - public static String escapeJava(String str) { + public static String escapeJava(String str) { str = str.replace("\\", "\\\\"); str = str.replace("\"", "\\\""); str = str.replace("\r", "\\\r"); diff --git a/src/main/java/com/mysema/codegen/support/ClassUtils.java b/src/main/java/com/mysema/codegen/support/ClassUtils.java index 236ab9c4b..d12e9893d 100644 --- a/src/main/java/com/mysema/codegen/support/ClassUtils.java +++ b/src/main/java/com/mysema/codegen/support/ClassUtils.java @@ -32,7 +32,6 @@ public final class ClassUtils { } public static String getFullName(Class cl) { -// return cl.getCanonicalName(); if (cl.isArray()) { return getFullName(cl.getComponentType()) + "[]"; } @@ -69,10 +68,8 @@ public final class ClassUtils { return canonicalName; } else { final String packageName = canonicalName.substring(0, i); - if (packages.contains(packageName) - || classes.contains(canonicalName) - || classes.contains(canonicalName.substring(0, canonicalName.lastIndexOf('.')))) { - return canonicalName.substring(packageName.length() + 1); + if (packages.contains(packageName) || classes.contains(canonicalName)) { + return cl.getSimpleName(); } else { return canonicalName; } diff --git a/src/test/java/com/mysema/codegen/support/ClassUtilsTest.java b/src/test/java/com/mysema/codegen/support/ClassUtilsTest.java index 3b6c6b616..0fa843684 100644 --- a/src/test/java/com/mysema/codegen/support/ClassUtilsTest.java +++ b/src/test/java/com/mysema/codegen/support/ClassUtilsTest.java @@ -35,6 +35,14 @@ public class ClassUtilsTest { assertEquals("java.util.Locale", ClassUtils.getName(Locale.class)); assertEquals("java.util.Locale[]", ClassUtils.getName(Locale[].class)); } + + @Test + public void GetName_Packge() { + assertEquals("Locale", ClassUtils.getName(Locale.class, + Collections.singleton("java.util"), Collections.emptySet())); + assertEquals("java.util.Locale", ClassUtils.getName(Locale.class, + Collections.singleton("java.util.gen"), Collections.emptySet())); + } @Test public void Normalize() {