[jboss-svn-commits] JBL Code SVN: r24749 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/asm.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jan 16 01:35:57 EST 2009
Author: mark.proctor at jboss.com
Date: 2009-01-16 01:35:57 -0500 (Fri, 16 Jan 2009)
New Revision: 24749
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/asm/ClassFieldInspector.java
Log:
JBRULES-1672 Input streams are not closed when no longer needed
-Applied patch from JIRA to close input streams
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/asm/ClassFieldInspector.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/asm/ClassFieldInspector.java 2009-01-16 05:56:28 UTC (rev 24748)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/asm/ClassFieldInspector.java 2009-01-16 06:35:57 UTC (rev 24749)
@@ -68,14 +68,17 @@
final InputStream stream = clazz.getResourceAsStream( name );
if ( stream != null ) {
+ try {
processClassWithByteCode( clazz,
stream,
includeFinalMethods );
+ } finally {
+ stream.close();
+ }
} else {
processClassWithoutByteCode( clazz,
includeFinalMethods );
}
- stream.close();
}
/** Walk up the inheritance hierarchy recursively, reading in fields */
@@ -93,14 +96,17 @@
final String name = getResourcePath( clazz.getSuperclass() );
final InputStream parentStream = clazz.getResourceAsStream( name );
if ( parentStream != null ) {
+ try {
processClassWithByteCode( clazz.getSuperclass(),
parentStream,
includeFinalMethods );
+ } finally {
+ parentStream.close();
+ }
} else {
processClassWithoutByteCode( clazz.getSuperclass(),
includeFinalMethods );
}
- parentStream.close();
}
if ( clazz.isInterface() ) {
final Class< ? >[] interfaces = clazz.getInterfaces();
@@ -108,14 +114,17 @@
final String name = getResourcePath( interfaces[i] );
final InputStream parentStream = clazz.getResourceAsStream( name );
if ( parentStream != null ) {
- processClassWithByteCode( interfaces[i],
- parentStream,
- includeFinalMethods );
+ try {
+ processClassWithByteCode( interfaces[i],
+ parentStream,
+ includeFinalMethods );
+ } finally {
+ parentStream.close();
+ }
} else {
processClassWithoutByteCode( interfaces[i],
includeFinalMethods );
}
- parentStream.close();
}
}
}
More information about the jboss-svn-commits
mailing list