MNG-2847 close up the reader properly when reading model.

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@511342 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jason van Zyl 2007-02-24 20:39:48 +00:00
parent e93a9199d3
commit d4c28b894d
2 changed files with 41 additions and 23 deletions

View File

@ -27,7 +27,7 @@
<artifactId>maven-embedder</artifactId>
<name>Maven Embedder</name>
<properties>
<bundleVersion>2.1.0.v20070209-2105</bundleVersion>
<bundleVersion>2.1.0.v20070221-2149</bundleVersion>
</properties>
<build>
<resources>

View File

@ -78,6 +78,7 @@
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.io.Reader;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
@ -209,10 +210,23 @@ public void setLogger( MavenEmbedderLogger logger )
this.logger = logger;
}
public Model readModel( File model )
public Model readModel( File file )
throws XmlPullParserException, IOException
{
return modelReader.read( new FileReader( model ) );
Reader reader = new FileReader( file );
Model model;
try
{
model = modelReader.read( reader );
}
finally
{
reader.close();
}
return model;
}
public void writeModel( Writer writer,
@ -250,7 +264,8 @@ public static Settings readSettings( File settingsFile )
return readSettings( settingsFile, null );
}
public static Settings readSettings( File settingsFile, MavenEmbedderLogger logger )
public static Settings readSettings( File settingsFile,
MavenEmbedderLogger logger )
throws SettingsConfigurationException, MavenEmbedderException, IOException
{
DefaultPlexusContainer container = null;
@ -271,9 +286,8 @@ public static Settings readSettings( File settingsFile, MavenEmbedderLogger logg
if ( logger != null )
{
MavenEmbedderLoggerManager loggerManager = new MavenEmbedderLoggerManager(
new PlexusLoggerAdapter(
logger ) );
MavenEmbedderLoggerManager loggerManager =
new MavenEmbedderLoggerManager( new PlexusLoggerAdapter( logger ) );
container.setLoggerManager( loggerManager );
}
@ -301,13 +315,16 @@ public static Settings readSettings( File settingsFile, MavenEmbedderLogger logg
}
}
public static void writeSettings( File settingsFile, Settings settings )
public static void writeSettings( File settingsFile,
Settings settings )
throws IOException, MavenEmbedderException
{
writeSettings( settingsFile, settings, null );
}
public static void writeSettings( File settingsFile, Settings settings, MavenEmbedderLogger logger )
public static void writeSettings( File settingsFile,
Settings settings,
MavenEmbedderLogger logger )
throws IOException, MavenEmbedderException
{
DefaultPlexusContainer container = null;
@ -328,7 +345,8 @@ public static void writeSettings( File settingsFile, Settings settings, MavenEmb
if ( logger != null )
{
MavenEmbedderLoggerManager loggerManager = new MavenEmbedderLoggerManager( new PlexusLoggerAdapter( logger ) );
MavenEmbedderLoggerManager loggerManager =
new MavenEmbedderLoggerManager( new PlexusLoggerAdapter( logger ) );
container.setLoggerManager( loggerManager );
}