diff --git a/querydsl-codegen/src/main/java/com/querydsl/codegen/ClassPathUtils.java b/querydsl-codegen/src/main/java/com/querydsl/codegen/ClassPathUtils.java index f24b7b33b..c408a854c 100644 --- a/querydsl-codegen/src/main/java/com/querydsl/codegen/ClassPathUtils.java +++ b/querydsl-codegen/src/main/java/com/querydsl/codegen/ClassPathUtils.java @@ -73,7 +73,7 @@ public final class ClassPathUtils { */ public static Class safeClassForName(ClassLoader classLoader, String className) { try { - if (className.startsWith("com.sun") || className.startsWith("com.apple")) { + if (className.startsWith("com.sun.") || className.startsWith("com.apple.")) { return null; } else { return Class.forName(className, true, classLoader); diff --git a/querydsl-codegen/src/test/java/com/applejuice/ShouldBeLoaded.java b/querydsl-codegen/src/test/java/com/applejuice/ShouldBeLoaded.java new file mode 100644 index 000000000..840214775 --- /dev/null +++ b/querydsl-codegen/src/test/java/com/applejuice/ShouldBeLoaded.java @@ -0,0 +1,4 @@ +package com.applejuice; + +public class ShouldBeLoaded { +} diff --git a/querydsl-codegen/src/test/java/com/querydsl/codegen/ClassPathUtilsTest.java b/querydsl-codegen/src/test/java/com/querydsl/codegen/ClassPathUtilsTest.java index 735719009..abbe67652 100644 --- a/querydsl-codegen/src/test/java/com/querydsl/codegen/ClassPathUtilsTest.java +++ b/querydsl-codegen/src/test/java/com/querydsl/codegen/ClassPathUtilsTest.java @@ -13,8 +13,7 @@ */ package com.querydsl.codegen; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import static org.junit.Assert.*; import java.io.IOException; import java.util.Set; @@ -23,7 +22,6 @@ import org.junit.Test; import com.SomeClass; - public class ClassPathUtilsTest { @Test @@ -40,4 +38,16 @@ public class ClassPathUtilsTest { assertFalse(classes.isEmpty()); assertEquals("XXX", SomeOtherClass2.property); } + + @Test + public void SafeClassForName() { + assertNull(safeForName("com.sun.nio.file.ExtendedOpenOption")); + assertNotNull(safeForName("com.suntanning.ShouldBeLoaded")); + assertNotNull(safeForName("com.applejuice.ShouldBeLoaded")); + } + + private Class safeForName(String className) { + return ClassPathUtils.safeClassForName(ClassPathUtilsTest.class.getClassLoader(), className); + } + } diff --git a/querydsl-codegen/src/test/java/com/suntanning/ShouldBeLoaded.java b/querydsl-codegen/src/test/java/com/suntanning/ShouldBeLoaded.java new file mode 100644 index 000000000..91114f6b8 --- /dev/null +++ b/querydsl-codegen/src/test/java/com/suntanning/ShouldBeLoaded.java @@ -0,0 +1,4 @@ +package com.suntanning; + +public class ShouldBeLoaded { +}