Skip to content

Commit

Permalink
#818: Avoid noisty stacktrace for log4j static init code during a pac…
Browse files Browse the repository at this point in the history
…kage scan.
  • Loading branch information
davsclaus committed Dec 5, 2013
1 parent ab4ddb8 commit f0ef370
Showing 1 changed file with 9 additions and 6 deletions.
Expand Up @@ -46,13 +46,15 @@
import java.util.jar.JarEntry;
import java.util.jar.JarFile;


/**
* A helper class to scan classes on the classpath
*/
public class ClassScanner {
private static final transient Logger LOG = LoggerFactory.getLogger(ClassScanner.class);

// lets skip some classes which can cause ugly WARN logging when doing package scanning
private static final String[] SKIP_CLASSES = new String[]{"org.apache.log4j.net.ZeroConfSupport"};

private final ClassLoader[] classLoaders;

private WeakHashMap<String, CacheValue> cache = new WeakHashMap<String, CacheValue>();
Expand Down Expand Up @@ -85,7 +87,6 @@ public void setClassLoaderProvider(String id, ClassLoaderProvider classLoaderPro
}
}


/**
* Searches for the available class names given the text search
*
Expand Down Expand Up @@ -200,18 +201,22 @@ public SortedMap<String, Class<?>> getClassesMap(Package... packages) {
return answer;
}


public Set<Class<?>> getClassesForPackage(ClassResource classResource, String filter, Integer limit) {
Set<Class<?>> classes = new HashSet<Class<?>>();
addClassesForPackage(classResource, filter, limit, classes);
return classes;
}


/**
* Finds a class from its name
*/
public Class<?> findClass(String className) throws ClassNotFoundException {
for (String skip : SKIP_CLASSES) {
if (skip.equals(className)) {
return null;
}
}

for (ClassLoader classLoader : getClassLoaders()) {
try {
return classLoader.loadClass(className);
Expand Down Expand Up @@ -408,7 +413,6 @@ protected String getJavaResourceKey(URL resource) {
}
}


private String getJarPath(URL resource) {
String resourcePath = resource.getPath();
return resourcePath.replaceFirst("[.]jar[!].*", ".jar").replaceFirst("file:", "");
Expand Down Expand Up @@ -449,7 +453,6 @@ protected List<URL> getResources(String relPath, ClassLoader... classLoaders) {
return answer;
}


/**
* Returns true if the given class name matches the filter search
*/
Expand Down

0 comments on commit f0ef370

Please sign in to comment.