Skip to content

Commit

Permalink
Try the current classloader for places where the context classloader …
Browse files Browse the repository at this point in the history
…isn't set
  • Loading branch information
groves committed Jan 24, 2009
1 parent 078a380 commit e487075
Showing 1 changed file with 17 additions and 12 deletions.
29 changes: 17 additions & 12 deletions src/org/python/core/ClasspathPyImporter.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,23 +83,28 @@ public void close() {
}

@Override
protected String makeEntry(String fullFilename) {
if (entries.containsKey(fullFilename)) {
return fullFilename;
protected String makeEntry(String filename) {
if (entries.containsKey(filename)) {
return filename;
}
InputStream is = null;
ClassLoader classLoader = Py.getSystemState().getClassLoader();
if (classLoader != null) {
Py.writeDebug("import", "trying " + fullFilename + " in sys class loader");
is = classLoader.getResourceAsStream(fullFilename);
InputStream is = tryClassLoader(filename, Py.getSystemState().getClassLoader(), "sys");
if (is == null) {
is = tryClassLoader(filename, Thread.currentThread().getContextClassLoader(), "context");
}
if (is == null) {
Py.writeDebug("import", "trying " + fullFilename + " in context class loader");
is = Thread.currentThread().getContextClassLoader().getResourceAsStream(fullFilename);
is = tryClassLoader(filename, ClasspathPyImporter.class.getClassLoader(), "current");
}
if (is != null) {
entries.put(fullFilename, is);
return fullFilename;
entries.put(filename, is);
return filename;
}
return null;
}

private InputStream tryClassLoader(String fullFilename, ClassLoader loader, String name) {
if (loader != null) {
Py.writeDebug("import", "trying " + fullFilename + " in " + name + " class loader");
return loader.getResourceAsStream(fullFilename);
}
return null;
}
Expand Down

0 comments on commit e487075

Please sign in to comment.