Author: mbenson
Date: Sun Aug 11 18:23:15 2013
New Revision: 1512984
URL: http://svn.apache.org/r1512984
Log:
close inputStreams
Modified:
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerCleaner.java
Modified:
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java?rev=1512984&r1=1512983&r2=1512984&view=diff
==============================================================================
---
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java
(original)
+++
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java
Sun Aug 11 18:23:15 2013
@@ -18,6 +18,7 @@
*/
package org.apache.commons.weaver.privilizer;
+import java.io.InputStream;
import java.lang.reflect.Modifier;
import java.util.ArrayDeque;
import java.util.ArrayList;
@@ -30,6 +31,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.Validate;
import org.apache.commons.lang3.mutable.MutableObject;
@@ -107,11 +109,14 @@ class BlueprintingVisitor extends Privil
private ClassNode read(String className) {
final ClassNode result = new ClassNode(Opcodes.ASM4);
+ InputStream bytecode = null;
try {
- new
ClassReader(privilizer().fileArchive.getBytecode(className)).accept(result,
ClassReader.SKIP_DEBUG
- | ClassReader.EXPAND_FRAMES);
+ bytecode = privilizer().fileArchive.getBytecode(className);
+ new ClassReader(bytecode).accept(result, ClassReader.SKIP_DEBUG |
ClassReader.EXPAND_FRAMES);
} catch (Exception e) {
throw new RuntimeException(e);
+ } finally {
+ IOUtils.closeQuietly(bytecode);
}
return result;
}
@@ -197,8 +202,10 @@ class BlueprintingVisitor extends Privil
final Deque<Type> stk = new ArrayDeque<Type>();
while (next.getValue() != null) {
stk.push(next.getValue());
- new
ClassReader(privilizer().fileArchive.getBytecode(next.getValue().getInternalName())).accept(
- privilizer().new PrivilizerClassVisitor() {
+ InputStream bytecode = null;
+ try {
+ bytecode =
privilizer().fileArchive.getBytecode(next.getValue().getInternalName());
+ new ClassReader(bytecode).accept(privilizer().new
PrivilizerClassVisitor() {
@Override
public void visit(int version, int access, String
name, String signature, String superName,
String[] interfaces) {
@@ -219,6 +226,9 @@ class BlueprintingVisitor extends Privil
return null;
}
}, ClassReader.SKIP_CODE);
+ } finally {
+ IOUtils.closeQuietly(bytecode);
+ }
if (fieldAccessMap.containsKey(key)) {
break;
}
Modified:
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java?rev=1512984&r1=1512983&r2=1512984&view=diff
==============================================================================
---
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
(original)
+++
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
Sun Aug 11 18:23:15 2013
@@ -20,6 +20,7 @@ package org.apache.commons.weaver.privil
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.URLClassLoader;
@@ -28,6 +29,7 @@ import java.util.List;
import java.util.Set;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
@@ -158,8 +160,10 @@ public class Privilizer {
void blueprint(final Class<?> type, final Privilizing privilizing) {
Object[] args = { type.getName(), privilizing };
env.debug("blueprinting class %s %s", args);
+ InputStream bytecode = null;
try {
- final ClassReader classReader = new
ClassReader(fileArchive.getBytecode(type.getName()));
+ bytecode = fileArchive.getBytecode(type.getName());
+ final ClassReader classReader = new ClassReader(bytecode);
ClassVisitor cv;
cv = new WriteClass(new ClassWriter(classReader,
ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS));
@@ -169,14 +173,18 @@ public class Privilizer {
classReader.accept(cv, ClassReader.EXPAND_FRAMES);
} catch (Exception e) {
throw new RuntimeException(e);
+ } finally {
+ IOUtils.closeQuietly(bytecode);
}
}
void privilize(final Class<?> type) {
Object[] args = { type.getName() };
env.debug("privilizing class %s", args);
+ InputStream bytecode = null;
try {
- final ClassReader classReader = new
ClassReader(fileArchive.getBytecode(type.getName()));
+ bytecode = fileArchive.getBytecode(type.getName());
+ final ClassReader classReader = new ClassReader(bytecode);
ClassVisitor cv;
cv = new WriteClass(new ClassWriter(classReader,
ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS));
cv = new PrivilizingVisitor(this, cv);
@@ -184,6 +192,8 @@ public class Privilizer {
classReader.accept(cv, ClassReader.EXPAND_FRAMES);
} catch (Exception e) {
throw new RuntimeException(e);
+ } finally {
+ IOUtils.closeQuietly(bytecode);
}
}
Modified:
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerCleaner.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerCleaner.java?rev=1512984&r1=1512983&r2=1512984&view=diff
==============================================================================
---
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerCleaner.java
(original)
+++
commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerCleaner.java
Sun Aug 11 18:23:15 2013
@@ -19,10 +19,12 @@
package org.apache.commons.weaver.privilizer;
import java.io.File;
+import java.io.InputStream;
import java.lang.annotation.ElementType;
import java.util.ArrayList;
import java.util.List;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.weaver.model.ScanRequest;
import org.apache.commons.weaver.model.Scanner;
import org.apache.commons.weaver.model.WeavableClass;
@@ -55,8 +57,10 @@ public class PrivilizerCleaner implement
final String className = weavableClass.getTarget().getName();
environment.debug("Class %s privilized with %s; deleting.",
className, privilizedPolicy);
+ InputStream bytecode = null;
try {
- final ClassReader classReader = new
ClassReader(privilizer.fileArchive.getBytecode(className));
+ bytecode = privilizer.fileArchive.getBytecode(className);
+ final ClassReader classReader = new ClassReader(bytecode);
classReader.accept(new ClassVisitor(Opcodes.ASM4) {
@Override
public void visit(int version, int access, String name,
String signature, String superName,
@@ -73,6 +77,8 @@ public class PrivilizerCleaner implement
}, ClassReader.SKIP_CODE + ClassReader.SKIP_DEBUG +
ClassReader.SKIP_FRAMES);
} catch (Exception e) {
throw new RuntimeException(e);
+ } finally {
+ IOUtils.closeQuietly(bytecode);
}
}
boolean result = false;