From daba7a11b4ba17eddedcac0fcee7449075d87df2 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Wed, 1 Jun 2016 20:53:07 +1200 Subject: [PATCH] No effective change - remove unused code (old ClassPathReader etc) --- .../server/core/BootupClasses.java | 3 +- .../server/util/ClassPathReader.java | 19 --- .../server/util/ClassPathSearchFilter.java | 154 ------------------ .../server/util/ClassPathSearchMatcher.java | 16 -- .../server/util/DefaultClassPathReader.java | 67 -------- .../util/ClassPathSearchFilterTest.java | 26 --- .../server/util/SimpleJarBangClass.java | 9 - .../server/util/SimpleJarClass.java | 9 - 8 files changed, 1 insertion(+), 302 deletions(-) delete mode 100644 src/main/java/com/avaje/ebeaninternal/server/util/ClassPathReader.java delete mode 100644 src/main/java/com/avaje/ebeaninternal/server/util/ClassPathSearchFilter.java delete mode 100644 src/main/java/com/avaje/ebeaninternal/server/util/ClassPathSearchMatcher.java delete mode 100644 src/main/java/com/avaje/ebeaninternal/server/util/DefaultClassPathReader.java delete mode 100644 src/test/java/com/avaje/ebeaninternal/server/util/ClassPathSearchFilterTest.java delete mode 100644 src/test/java/com/avaje/ebeaninternal/server/util/SimpleJarBangClass.java delete mode 100644 src/test/java/com/avaje/ebeaninternal/server/util/SimpleJarClass.java diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/BootupClasses.java b/src/main/java/com/avaje/ebeaninternal/server/core/BootupClasses.java index b8134c138..2932af9e9 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/BootupClasses.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/BootupClasses.java @@ -17,7 +17,6 @@ import com.avaje.ebean.event.changelog.ChangeLogRegister; import com.avaje.ebean.event.readaudit.ReadAuditLogger; import com.avaje.ebean.event.readaudit.ReadAuditPrepare; import com.avaje.ebeaninternal.server.type.ScalarType; -import com.avaje.ebeaninternal.server.util.ClassPathSearchMatcher; import org.avaje.classpath.scanner.ClassFilter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,7 +34,7 @@ import java.util.List; * Interesting classes for a EbeanServer such as Embeddable, Entity, * ScalarTypes, Finders, Listeners and Controllers. */ -public class BootupClasses implements ClassPathSearchMatcher, ClassFilter { +public class BootupClasses implements ClassFilter { private static final Logger logger = LoggerFactory.getLogger(BootupClasses.class); diff --git a/src/main/java/com/avaje/ebeaninternal/server/util/ClassPathReader.java b/src/main/java/com/avaje/ebeaninternal/server/util/ClassPathReader.java deleted file mode 100644 index 3096dac08..000000000 --- a/src/main/java/com/avaje/ebeaninternal/server/util/ClassPathReader.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.avaje.ebeaninternal.server.util; - -/** - * Get the paths used to search for entity beans etc. - *

- * Typically this will return a URL[] of the classpath. - *

- */ -public interface ClassPathReader { - - /** - * Return the paths in the classpath to search for entity beans etc. - *

- * This will typically return a URL[] or String[] of the entries in the - * class path. - *

- */ - Object[] readPath(ClassLoader classLoader); -} diff --git a/src/main/java/com/avaje/ebeaninternal/server/util/ClassPathSearchFilter.java b/src/main/java/com/avaje/ebeaninternal/server/util/ClassPathSearchFilter.java deleted file mode 100644 index d84d0b757..000000000 --- a/src/main/java/com/avaje/ebeaninternal/server/util/ClassPathSearchFilter.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.avaje.ebeaninternal.server.util; - -import java.util.HashSet; -import java.util.Set; - -/** - * Used to reduce the classes searched by excluding jars and packages. - */ -public class ClassPathSearchFilter { - - private static final String COM_AVAJE_EBEANINTERNAL_SERVER_BEAN = "com.avaje.ebeaninternal.server.bean"; - - private static final String COM_AVAJE_EBEAN_META = "com.avaje.ebean.meta"; - - private boolean defaultPackageMatch = true; - - private boolean defaultJarMatch = false; - - private final HashSet includePackageSet = new HashSet(); - - private final HashSet excludePackageSet = new HashSet(); - - private final HashSet includeJarSet = new HashSet(); - - private final HashSet excludeJarSet = new HashSet(); - - public ClassPathSearchFilter() { - addDefaultExcludePackages(); - } - - /** - * Return the explicit packages that should be searched. - */ - public Set getIncludePackages() { - return includePackageSet; - } - - /** - * Add some packages which by default will be excluded from a search. - *

- * This includes java, javax, etc. - *

- *

- * This is not used when the includePackages is set, but can speed a search - * when includePackages has not been set. - *

- */ - public void addDefaultExcludePackages() { - excludePackage("sun"); - excludePackage("com.sun"); - excludePackage("java"); - excludePackage("javax"); - excludePackage("junit"); - excludePackage("org.w3c"); - excludePackage("org.xml"); - excludePackage("org.apache"); - excludePackage("com.mysql"); - excludePackage("oracle.jdbc"); - excludePackage("com.microsoft.sqlserver"); - excludePackage("com.avaje.ebean"); - excludePackage("com.avaje.lib"); - } - - /** - * Set the default for jar matching when a jar is neither explicitly - * included or excluded. - */ - public void setDefaultJarMatch(boolean defaultJarMatch) { - this.defaultJarMatch = defaultJarMatch; - } - - /** - * Set the default for package matching when a package is neither explicitly - * included or excluded. - */ - public void setDefaultPackageMatch(boolean defaultPackageMatch) { - this.defaultPackageMatch = defaultPackageMatch; - } - - /** - * Add a package to explicitly include in the search. - */ - public void includePackage(String pckgName) { - includePackageSet.add(pckgName); - } - - /** - * Add a package to explicitly exclude in the search. - */ - public void excludePackage(String pckgName) { - excludePackageSet.add(pckgName); - } - - /** - * Add a jar to explicitly include in the search. - */ - public void includeJar(String jarName) { - includeJarSet.add(jarName); - } - - /** - * Return true if the package should be included in the search. - */ - public boolean isSearchPackage(String packageName) { - // special case... "meta" entity beans. - if (COM_AVAJE_EBEAN_META.equals(packageName)) { - return true; - } - // special case... BeanFinders etc for "meta" beans. - if (COM_AVAJE_EBEANINTERNAL_SERVER_BEAN.equals(packageName)) { - return true; - } - if (includePackageSet != null && !includePackageSet.isEmpty()){ - return containedIn(includePackageSet, packageName); - } - if (containedIn(excludePackageSet, packageName)) { - return false; - } - return defaultPackageMatch; - } - - /** - * Return true if the jar should be included in the search. - */ - public boolean isSearchJar(String jarName, String jarOffset) { - - if (containedIn(includeJarSet, jarName)) { - return true; - } - - if (containedIn(excludeJarSet, jarName)) { - return false; - } - - // by default scan the root level in runnable jar (spring boot etc) - return "/".equals(jarOffset) || defaultJarMatch; - } - - /** - * Helper method to determine is a match is contained in the set. - */ - protected boolean containedIn(HashSet set, String match) { - if (set.contains(match)) { - return true; - } - for (String val : set) { - if (match.contains(val)) { - return true; - } - } - return false; - } - -} diff --git a/src/main/java/com/avaje/ebeaninternal/server/util/ClassPathSearchMatcher.java b/src/main/java/com/avaje/ebeaninternal/server/util/ClassPathSearchMatcher.java deleted file mode 100644 index 1eac6fc51..000000000 --- a/src/main/java/com/avaje/ebeaninternal/server/util/ClassPathSearchMatcher.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.avaje.ebeaninternal.server.util; - -/** - * Defines interface for finding classes via a class path search. - */ -public interface ClassPathSearchMatcher { - - /** - * Return true if the class matches the specific search. - *

- * Note that the location in terms of jars and packages is noted and can be - * used to make future searches faster. - *

- */ - boolean isMatch(Class cls); -} diff --git a/src/main/java/com/avaje/ebeaninternal/server/util/DefaultClassPathReader.java b/src/main/java/com/avaje/ebeaninternal/server/util/DefaultClassPathReader.java deleted file mode 100644 index f77f64632..000000000 --- a/src/main/java/com/avaje/ebeaninternal/server/util/DefaultClassPathReader.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.avaje.ebeaninternal.server.util; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.lang.reflect.Method; -import java.net.URLClassLoader; - -/** - * Default implementation for getting the classPath from the classLoader. - *

- * This class path is used to search for entity beans etc. - *

- */ -public class DefaultClassPathReader implements ClassPathReader { - - private static final Logger logger = LoggerFactory.getLogger(DefaultClassPathReader.class); - - public Object[] readPath(ClassLoader classLoader) { - - if (classLoader instanceof URLClassLoader){ - // this is really what we are hoping for - URLClassLoader ucl = (URLClassLoader)classLoader; - return ucl.getURLs(); - } - - try { - // search for a "getClassPath" method... resin2 - Method method = classLoader.getClass().getMethod("getClassPath"); - if (method != null){ - logger.info("Using getClassPath() method on classLoader["+classLoader.getClass()+"]"); - String s = method.invoke(classLoader).toString(); - return s.split(File.pathSeparator); - } - } catch (NoSuchMethodException e) { - // Not really an error... - } catch (Exception e) { - throw new RuntimeException("Unexpected Error trying to read classpath from classloader", e); - } - - try { - // search for a "getClasspath" method... Ant - Method method = classLoader.getClass().getMethod("getClasspath"); - if (method != null){ - logger.info("Using getClasspath() method on classLoader["+classLoader.getClass()+"]"); - String s = method.invoke(classLoader).toString(); - - return s.split(File.pathSeparator); - } - } catch (NoSuchMethodException e) { - // Not really an error... - } catch (Exception e) { - throw new RuntimeException("Unexpected Error trying to read classpath from classloader", e); - } - - String imsg = "Unsure how to read classpath from classLoader ["+classLoader.getClass()+"]"; - logger.info(imsg); - - String msg = "Using java.class.path system property to search for entity beans"; - logger.warn(msg); - - return System.getProperty("java.class.path", "").split(File.pathSeparator); - } - - -} diff --git a/src/test/java/com/avaje/ebeaninternal/server/util/ClassPathSearchFilterTest.java b/src/test/java/com/avaje/ebeaninternal/server/util/ClassPathSearchFilterTest.java deleted file mode 100644 index 4d8ce253d..000000000 --- a/src/test/java/com/avaje/ebeaninternal/server/util/ClassPathSearchFilterTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.avaje.ebeaninternal.server.util; - -import org.junit.Test; - -import java.util.HashSet; - -import static org.junit.Assert.*; - -public class ClassPathSearchFilterTest { - - @Test - public void testContainedIn() throws Exception { - - HashSet set = new HashSet(); - set.add("the-rock"); - set.add("fooBar.jar"); - - ClassPathSearchFilter filter = new ClassPathSearchFilter(); - assertTrue(filter.containedIn(set, "the-rock.jar")); - assertTrue(filter.containedIn(set, "the-rock-1.0.1.jar")); - assertTrue(filter.containedIn(set, "prefix-the-rock-1.0.1.jar")); - assertTrue(filter.containedIn(set, "fooBar.jar")); - assertFalse(filter.containedIn(set, "fooBar-1.3.jar")); - - } -} \ No newline at end of file diff --git a/src/test/java/com/avaje/ebeaninternal/server/util/SimpleJarBangClass.java b/src/test/java/com/avaje/ebeaninternal/server/util/SimpleJarBangClass.java deleted file mode 100644 index 70d2c9a9a..000000000 --- a/src/test/java/com/avaje/ebeaninternal/server/util/SimpleJarBangClass.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.avaje.ebeaninternal.server.util; - -/** - * Exists only for including in the jar for the Class Path Search Tests. - * - * author: Richard Vowles - http://plus.google.com/RichardVowles - */ -public class SimpleJarBangClass { -} diff --git a/src/test/java/com/avaje/ebeaninternal/server/util/SimpleJarClass.java b/src/test/java/com/avaje/ebeaninternal/server/util/SimpleJarClass.java deleted file mode 100644 index 1e506cef5..000000000 --- a/src/test/java/com/avaje/ebeaninternal/server/util/SimpleJarClass.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.avaje.ebeaninternal.server.util; - -/** - * Exists only for the purpose of putting in a jar for the ClassPathSearchTests. - * - * author: Richard Vowles - http://plus.google.com/RichardVowles - */ -public class SimpleJarClass { -}