You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jd...@apache.org on 2008/11/17 02:39:20 UTC
svn commit: r718157 -
/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
Author: jdumay
Date: Sun Nov 16 17:39:20 2008
New Revision: 718157
URL: http://svn.apache.org/viewvc?rev=718157&view=rev
Log:
MRM-1004 - RepositoryServlet tests fail intermittently on Windows. Submitted by Martin Cooper.
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=718157&r1=718156&r2=718157&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java Sun Nov 16 17:39:20 2008
@@ -587,7 +587,11 @@
try
{
- Model model = new MavenXpp3Reader().read( new FileReader( pom ) );
+ // MavenXpp3Reader leaves the file open, so we need to close it ourselves.
+ FileReader reader = new FileReader( pom );
+ Model model = new MavenXpp3Reader().read( reader );
+ reader.close();
+
DistributionManagement dist = model.getDistributionManagement();
if ( dist != null )
{
Re: svn commit: r718157 - /archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
Posted by Martin Cooper <ma...@apache.org>.
On Sun, Nov 16, 2008 at 7:26 PM, Joakim Erdfelt <jo...@erdfelt.com> wrote:
> You should put that reader.close() in the finally{} block of the try/catch.
> If the MavenXpp3Reader fails, or the FileReader fails on IO read, then the
> file is still not closed.
Yep, you're right. I did not look closely enough at the MavenXpp3Reader API.
Thanks for catching it.
--
Martin Cooper
/* typical pattern */
> FileReader reader = null;
> try {
> reader = new FileReader(file);
> // Do something with the reader.
> } finally {
> if(reader != null) {
> reader.close();
> }
> }
>
> - Joakim
>
>
> jdumay@apache.org wrote:
>
>> Author: jdumay
>> Date: Sun Nov 16 17:39:20 2008
>> New Revision: 718157
>>
>> URL: http://svn.apache.org/viewvc?rev=718157&view=rev
>> Log:
>> MRM-1004 - RepositoryServlet tests fail intermittently on Windows.
>> Submitted by Martin Cooper.
>>
>>
>> Modified:
>>
>> archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
>>
>> Modified:
>> archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
>> URL:
>> http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=718157&r1=718156&r2=718157&view=diff
>>
>> ==============================================================================
>> ---
>> archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
>> (original)
>> +++
>> archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
>> Sun Nov 16 17:39:20 2008
>> @@ -587,7 +587,11 @@
>> try
>> {
>> - Model model = new MavenXpp3Reader().read( new FileReader( pom
>> ) );
>> + // MavenXpp3Reader leaves the file open, so we need to close
>> it ourselves.
>> + FileReader reader = new FileReader( pom );
>> + Model model = new MavenXpp3Reader().read( reader );
>> + reader.close();
>> +
>> DistributionManagement dist =
>> model.getDistributionManagement();
>> if ( dist != null )
>> {
>>
>>
>>
>>
>
>
> --
> - Joakim Erdfelt
> joakim@erdfelt.com
> Open Source Software (OSS) Developer
>
>
Re: svn commit: r718157 -
/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
Posted by James William Dumay <ja...@atlassian.com>.
Fixed. Thanks for picking up on this.
On Sun, 2008-11-16 at 20:26 -0700, Joakim Erdfelt wrote:
> You should put that reader.close() in the finally{} block of the try/catch.
> If the MavenXpp3Reader fails, or the FileReader fails on IO read, then
> the file is still not closed.
>
> /* typical pattern */
> FileReader reader = null;
> try {
> reader = new FileReader(file);
> // Do something with the reader.
> } finally {
> if(reader != null) {
> reader.close();
> }
> }
>
> - Joakim
>
> jdumay@apache.org wrote:
> > Author: jdumay
> > Date: Sun Nov 16 17:39:20 2008
> > New Revision: 718157
> >
> > URL: http://svn.apache.org/viewvc?rev=718157&view=rev
> > Log:
> > MRM-1004 - RepositoryServlet tests fail intermittently on Windows. Submitted by Martin Cooper.
> >
> >
> > Modified:
> > archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
> >
> > Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
> > URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=718157&r1=718156&r2=718157&view=diff
> > ==============================================================================
> > --- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java (original)
> > +++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java Sun Nov 16 17:39:20 2008
> > @@ -587,7 +587,11 @@
> >
> > try
> > {
> > - Model model = new MavenXpp3Reader().read( new FileReader( pom ) );
> > + // MavenXpp3Reader leaves the file open, so we need to close it ourselves.
> > + FileReader reader = new FileReader( pom );
> > + Model model = new MavenXpp3Reader().read( reader );
> > + reader.close();
> > +
> > DistributionManagement dist = model.getDistributionManagement();
> > if ( dist != null )
> > {
> >
> >
> >
>
>
Re: svn commit: r718157 - /archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
Posted by Joakim Erdfelt <jo...@erdfelt.com>.
You should put that reader.close() in the finally{} block of the try/catch.
If the MavenXpp3Reader fails, or the FileReader fails on IO read, then
the file is still not closed.
/* typical pattern */
FileReader reader = null;
try {
reader = new FileReader(file);
// Do something with the reader.
} finally {
if(reader != null) {
reader.close();
}
}
- Joakim
jdumay@apache.org wrote:
> Author: jdumay
> Date: Sun Nov 16 17:39:20 2008
> New Revision: 718157
>
> URL: http://svn.apache.org/viewvc?rev=718157&view=rev
> Log:
> MRM-1004 - RepositoryServlet tests fail intermittently on Windows. Submitted by Martin Cooper.
>
>
> Modified:
> archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
>
> Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
> URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=718157&r1=718156&r2=718157&view=diff
> ==============================================================================
> --- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java (original)
> +++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java Sun Nov 16 17:39:20 2008
> @@ -587,7 +587,11 @@
>
> try
> {
> - Model model = new MavenXpp3Reader().read( new FileReader( pom ) );
> + // MavenXpp3Reader leaves the file open, so we need to close it ourselves.
> + FileReader reader = new FileReader( pom );
> + Model model = new MavenXpp3Reader().read( reader );
> + reader.close();
> +
> DistributionManagement dist = model.getDistributionManagement();
> if ( dist != null )
> {
>
>
>
--
- Joakim Erdfelt
joakim@erdfelt.com
Open Source Software (OSS) Developer