Author: hboutemy
Date: Tue Oct 19 08:04:35 2010
New Revision: 1024154
URL: http://svn.apache.org/viewvc?rev=1024154&view=rev
Log:
avoid stream leaks when reading properties files
Modified:
maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
Modified:
maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
URL:
http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java?rev=1024154&r1=1024153&r2=1024154&view=diff
==============================================================================
---
maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
(original)
+++
maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
Tue Oct 19 08:04:35 2010
@@ -39,6 +39,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.io.InputStream;
import java.io.Reader;
import java.util.Properties;
@@ -538,8 +539,16 @@ public class DefaultArchetypeGeneratorTe
throws IOException, FileNotFoundException
{
Properties properties = new Properties();
- properties.load( new FileInputStream( propertyFile ) );
- return properties;
+ InputStream in = new FileInputStream( propertyFile );
+ try
+ {
+ properties.load( in );
+ return properties;
+ }
+ finally
+ {
+ IOUtil.close( in );
+ }
}
private Properties loadProperties( final String template )
Modified:
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
URL:
http://svn.apache.org/viewvc/maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java?rev=1024154&r1=1024153&r2=1024154&view=diff
==============================================================================
---
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
(original)
+++
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
Tue Oct 19 08:04:35 2010
@@ -31,6 +31,7 @@ import org.apache.maven.plugin.AbstractM
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.PropertyUtils;
import org.codehaus.plexus.util.StringUtils;
import java.io.File;
@@ -251,25 +252,15 @@ public class CreateArchetypeFromProjectM
if ( filteredExtensions.isEmpty() && propertyFile != null &&
propertyFile.exists() )
{
- try
- {
- Properties properties = new Properties();
- properties.load( new FileInputStream( propertyFile ) );
+ Properties properties = PropertyUtils.loadProperties( propertyFile
);
- String extensions = properties.getProperty(
Constants.ARCHETYPE_FILTERED_EXTENSIONS );
- if ( StringUtils.isNotEmpty( extensions ) )
- {
- filteredExtensions.addAll( Arrays.asList(
StringUtils.split( extensions, "," ) ) );
- }
-
- getLog().debug(
- "Found in propertyFile " +
propertyFile.getName() + " extensions = "
- + filteredExtensions );
- }
- catch ( IOException e )
+ String extensions = properties.getProperty(
Constants.ARCHETYPE_FILTERED_EXTENSIONS );
+ if ( StringUtils.isNotEmpty( extensions ) )
{
- getLog().warn( "Can not read " + propertyFile.getName() );
+ filteredExtensions.addAll( Arrays.asList( StringUtils.split(
extensions, "," ) ) );
}
+
+ getLog().debug( "Found in propertyFile " + propertyFile.getName()
+ " extensions = " + filteredExtensions );
}
if ( filteredExtensions.isEmpty() )
@@ -295,25 +286,15 @@ public class CreateArchetypeFromProjectM
if ( resultingLanguages.isEmpty() && propertyFile != null &&
propertyFile.exists() )
{
- try
- {
- Properties properties = new Properties();
- properties.load( new FileInputStream( propertyFile ) );
+ Properties properties = PropertyUtils.loadProperties( propertyFile
);
- String languages = properties.getProperty(
Constants.ARCHETYPE_LANGUAGES );
- if ( StringUtils.isNotEmpty( languages ) )
- {
- resultingLanguages.addAll( Arrays.asList(
StringUtils.split( languages, "," ) ) );
- }
-
- getLog().debug(
- "Found in propertyFile " +
propertyFile.getName() + " languages = "
- + resultingLanguages );
- }
- catch ( IOException e )
+ String languages = properties.getProperty(
Constants.ARCHETYPE_LANGUAGES );
+ if ( StringUtils.isNotEmpty( languages ) )
{
- getLog().warn( "Cannot read " + propertyFile.getName() );
+ resultingLanguages.addAll( Arrays.asList( StringUtils.split(
languages, "," ) ) );
}
+
+ getLog().debug( "Found in propertyFile " + propertyFile.getName()
+ " languages = " + resultingLanguages );
}
if ( resultingLanguages.isEmpty() )