summaryrefslogtreecommitdiffstats
path: root/maven-plugins/trunk/maven-eclipse-compiler/src/main/java/org/apache/tuscany/maven/compiler/ClassLoaderNameEnvironment.java
diff options
context:
space:
mode:
Diffstat (limited to 'maven-plugins/trunk/maven-eclipse-compiler/src/main/java/org/apache/tuscany/maven/compiler/ClassLoaderNameEnvironment.java')
-rw-r--r--maven-plugins/trunk/maven-eclipse-compiler/src/main/java/org/apache/tuscany/maven/compiler/ClassLoaderNameEnvironment.java18
1 files changed, 6 insertions, 12 deletions
diff --git a/maven-plugins/trunk/maven-eclipse-compiler/src/main/java/org/apache/tuscany/maven/compiler/ClassLoaderNameEnvironment.java b/maven-plugins/trunk/maven-eclipse-compiler/src/main/java/org/apache/tuscany/maven/compiler/ClassLoaderNameEnvironment.java
index bb38abad0d..2f238a8a4d 100644
--- a/maven-plugins/trunk/maven-eclipse-compiler/src/main/java/org/apache/tuscany/maven/compiler/ClassLoaderNameEnvironment.java
+++ b/maven-plugins/trunk/maven-eclipse-compiler/src/main/java/org/apache/tuscany/maven/compiler/ClassLoaderNameEnvironment.java
@@ -23,6 +23,7 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.net.URL;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -39,7 +40,6 @@ import org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer;
* @version $Rev$ $Date$
*/
class ClassLoaderNameEnvironment implements INameEnvironment {
- private final static char fileSeparator = System.getProperty("file.separator").charAt(0);
private ClassLoader classLoader;
private List<String> sourceLocations;
@@ -108,7 +108,7 @@ class ClassLoaderNameEnvironment implements INameEnvironment {
if (sourceFile != null) {
return sourceFile;
}
- String sourceName = className.replace('.', fileSeparator) + ".java";
+ String sourceName = className.replace('.', File.separatorChar) + ".java";
sourceFile = sourceFileInSourceLocations(sourceName);
sourceFiles.put(className, sourceFile);
return sourceFile;
@@ -141,15 +141,8 @@ class ClassLoaderNameEnvironment implements INameEnvironment {
return false;
}
String resourceName = '/' + name.replace('.', '/') + ".class";
- InputStream is = classLoader.getResourceAsStream(resourceName);
- if (is == null) {
- return true;
- } else {
- try {
- is.close();
- } catch (IOException e) {}
- return false;
- }
+ URL url = classLoader.getResource(resourceName);
+ return url == null;
}
/**
@@ -172,7 +165,7 @@ class ClassLoaderNameEnvironment implements INameEnvironment {
return null;
}
ByteArrayOutputStream bos = new ByteArrayOutputStream();
- byte[] b = new byte[2048];
+ byte[] b = new byte[4096];
for (;;) {
int n = is.read(b);
if (n <= 0) {
@@ -180,6 +173,7 @@ class ClassLoaderNameEnvironment implements INameEnvironment {
}
bos.write(b, 0, n);
}
+ is.close();
byte[] classBytes = bos.toByteArray();
ClassFileReader classFileReader = new ClassFileReader(classBytes, className.toCharArray(), true);