[ 
https://issues.apache.org/jira/browse/JCI-58?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Emmanuel Bourg closed JCI-58.
-----------------------------


> EclipseJavaCompiler fails to close inputstream
> ----------------------------------------------
>
>                 Key: JCI-58
>                 URL: https://issues.apache.org/jira/browse/JCI-58
>             Project: Commons JCI
>          Issue Type: Bug
>          Components: compiler eclipse
>    Affects Versions: 1.1
>         Environment: Java 1.5, WinXP
>            Reporter: Michael Gannon
>            Assignee: Torsten Curdt
>             Fix For: 1.1
>
>
> The method isPackage(final String pClaszzName) calls 
> classLoader.getResourceAsStream() but fails to close the stream if it is 
> opened successfully. On Windows this means all other file access to this file 
> is not permitted. The inputstream should be closed. Here is a replacement 
> method:
> {code}
>     private boolean isPackage( final String pClazzName ) {
>         final InputStream is = 
> pClassLoader.getResourceAsStream(ConversionUtils.convertClassToResourcePath(pClazzName));
>         if (is != null) {
>             log.debug("found the class for " + pClazzName + "- no package");
>             try {
>                 is.close();
>             } catch (final IOException ie) {
>                 log.error("could not close input stream", ie);
>             } 
>             return false;
>         }
>         // FIXME: this should not be tied to the extension
>         final String source = pClazzName.replace('.', '/') + ".java";
>         if (pReader.isAvailable(source)) {
>             log.debug("found the source " + source + " for " + pClazzName + " 
> - no package ");
>             return false;
>         }
>         return true;
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to