svn commit: r826324 - /jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java
[email protected] Sun, 18 Oct 2009 01:03:30 -0000
| Newsgroups | gmane.comp.jakarta.bcel.devel |
|---|---|
| Message-ID | <[email protected]> |
Author: dbrosius
Date: Sun Oct 18 01:03:30 2009
New Revision: 826324
URL: http://svn.apache.org/viewvc?rev=826324&view=rev
Log:
make sure streams get closed
Modified:
jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java
Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java?rev=826324&r1=826323&r2=826324&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java Sun Oct 18 01:03:30 2009
@@ -145,17 +145,29 @@
* Repository, and its representation could not be found
*/
public JavaClass loadClass( Class clazz ) throws ClassNotFoundException {
- String className = clazz.getName();
- JavaClass repositoryClass = findClass(className);
- if (repositoryClass != null) {
- return repositoryClass;
- }
- String name = className;
- int i = name.lastIndexOf('.');
- if (i > 0) {
- name = name.substring(i + 1);
- }
- return loadClass(clazz.getResourceAsStream(name + ".class"), className);
+ InputStream clsStream = null;
+ try{
+ String className = clazz.getName();
+ JavaClass repositoryClass = findClass(className);
+ if (repositoryClass != null) {
+ return repositoryClass;
+ }
+ String name = className;
+ int i = name.lastIndexOf('.');
+ if (i > 0) {
+ name = name.substring(i + 1);
+ }
+ clsStream = clazz.getResourceAsStream(name + ".class");
+ return loadClass(clsStream, className);
+ } finally {
+ try{
+ if (clsStream != null){
+ clsStream.close();
+ }
+ } catch(IOException ioe){
+ //don't care
+ }
+ }
}