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

Emmanuel Bourg updated JCI-58:
------------------------------

    Fix Version/s: 1.1

> 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:
>             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;
>             }



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

Reply via email to