Author: markt Date: Thu Nov 7 15:42:15 2013 New Revision: 1539688 URL: http://svn.apache.org/r1539688 Log: Testing the resources refactoring with Atlassian Jira Now a single entry in resourceEntries is used for classes, retain the URL so getResourceAsStream() still works after the class has been defined
Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=1539688&r1=1539687&r2=1539688&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java (original) +++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Thu Nov 7 15:42:15 2013 @@ -2409,12 +2409,15 @@ public class WebappClassLoader extends U sm.getString("webappClassLoader.wrongVersion", name)); } + // Now the class has been defined, clear the elements of the local + // resource cache that are no longer required. entry.loadedClass = clazz; entry.binaryContent = null; - entry.source = null; entry.codeBase = null; entry.manifest = null; entry.certificates = null; + // Retain entry.source in case of a getResourceAsStream() call on + // the class file after the class has been defined. } return clazz; @@ -2599,7 +2602,7 @@ public class WebappClassLoader extends U if (entry != null) { if (entry.binaryContent != null) return new ByteArrayInputStream(entry.binaryContent); - else { + else if (entry.source != null) { try { return entry.source.openStream(); } catch (IOException ioe) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org