Close streams even in test cases

git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1715108 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/test/java/org/apache/maven/plugins/source/stubs/Project001Stub.java b/src/test/java/org/apache/maven/plugins/source/stubs/Project001Stub.java
index 10326f2..a4b8d1d 100644
--- a/src/test/java/org/apache/maven/plugins/source/stubs/Project001Stub.java
+++ b/src/test/java/org/apache/maven/plugins/source/stubs/Project001Stub.java
@@ -1,12 +1,18 @@
 package org.apache.maven.plugins.source.stubs;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.ReaderFactory;
+import org.codehaus.plexus.util.xml.XmlStreamReader;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -27,9 +33,6 @@
  * under the License.
  */
 
-import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
-import org.codehaus.plexus.util.ReaderFactory;
-
 /**
  * @author <a href="mailto:oching@exist.com">Maria Odea Ching</a>
  */
@@ -44,13 +47,11 @@
 
     public Project001Stub()
     {
-        MavenXpp3Reader pomReader = new MavenXpp3Reader();
         Model model;
 
         try
         {
-            model = pomReader.read(
-                ReaderFactory.newXmlReader( new File( getBasedir(), "target/test-classes/unit/project-001/pom.xml" ) ) );
+            model = readModelFromFile( new File( getBasedir(), "target/test-classes/unit/project-001/pom.xml" ) );
             setModel( model );
 
             setGroupId( model.getGroupId() );
@@ -74,8 +75,10 @@
             testCompileSourceRoots.add( basedir + "/target/test-classes/unit/project-001/src/test/java" );
             setTestCompileSourceRoots( testCompileSourceRoots );
 
-            setResources( model.getBuild().getResources() );
-            setTestResources( model.getBuild().getTestResources() );
+            setResources( model.getBuild()
+                               .getResources() );
+            setTestResources( model.getBuild()
+                                   .getTestResources() );
 
             SourcePluginArtifactStub artifact =
                 new SourcePluginArtifactStub( getGroupId(), getArtifactId(), getVersion(), getPackaging(), null );
@@ -120,4 +123,20 @@
     {
         this.testResources = testResources;
     }
+
+    static Model readModelFromFile(File file)
+        throws IOException, XmlPullParserException
+    {
+        MavenXpp3Reader pomReader = new MavenXpp3Reader();
+        XmlStreamReader reader = null;
+        try
+        {
+            reader = ReaderFactory.newXmlReader( file );
+            return pomReader.read( reader );
+        } finally {
+            IOUtil.close( reader );
+        }
+
+
+    }
 }
diff --git a/src/test/java/org/apache/maven/plugins/source/stubs/Project003Stub.java b/src/test/java/org/apache/maven/plugins/source/stubs/Project003Stub.java
index 1fca465..518c11b 100644
--- a/src/test/java/org/apache/maven/plugins/source/stubs/Project003Stub.java
+++ b/src/test/java/org/apache/maven/plugins/source/stubs/Project003Stub.java
@@ -30,6 +30,8 @@
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.codehaus.plexus.util.ReaderFactory;
 
+import static org.apache.maven.plugins.source.stubs.Project001Stub.readModelFromFile;
+
 /**
  * @author <a href="mailto:oching@exist.com">Maria Odea Ching</a>
  */
@@ -44,13 +46,11 @@
 
     public Project003Stub()
     {
-        MavenXpp3Reader pomReader = new MavenXpp3Reader();
         Model model;
 
         try
         {
-            model = pomReader.read(
-                ReaderFactory.newXmlReader( new File( getBasedir(), "target/test-classes/unit/project-003/pom.xml" ) ) );
+            model = readModelFromFile( new File( getBasedir(), "target/test-classes/unit/project-003/pom.xml" ) );
             setModel( model );
 
             setGroupId( model.getGroupId() );
diff --git a/src/test/java/org/apache/maven/plugins/source/stubs/Project005Stub.java b/src/test/java/org/apache/maven/plugins/source/stubs/Project005Stub.java
index 06b22a4..eddabc3 100644
--- a/src/test/java/org/apache/maven/plugins/source/stubs/Project005Stub.java
+++ b/src/test/java/org/apache/maven/plugins/source/stubs/Project005Stub.java
@@ -29,6 +29,8 @@
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.codehaus.plexus.util.ReaderFactory;
 
+import static org.apache.maven.plugins.source.stubs.Project001Stub.readModelFromFile;
+
 /**
  * @author <a href="mailto:oching@exist.com">Maria Odea Ching</a>
  */
@@ -43,13 +45,10 @@
 
     public Project005Stub()
     {
-        MavenXpp3Reader pomReader = new MavenXpp3Reader();
         Model model;
-
         try
         {
-            model = pomReader.read(
-                ReaderFactory.newXmlReader( new File( getBasedir(), "target/test-classes/unit/project-005/pom.xml" ) ) );
+            model = readModelFromFile( new File( getBasedir(), "target/test-classes/unit/project-005/pom.xml" ) );
             setModel( model );
 
             setGroupId( model.getGroupId() );
diff --git a/src/test/java/org/apache/maven/plugins/source/stubs/Project007Stub.java b/src/test/java/org/apache/maven/plugins/source/stubs/Project007Stub.java
index ef6ba9a..8419957 100644
--- a/src/test/java/org/apache/maven/plugins/source/stubs/Project007Stub.java
+++ b/src/test/java/org/apache/maven/plugins/source/stubs/Project007Stub.java
@@ -30,6 +30,8 @@
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.codehaus.plexus.util.ReaderFactory;
 
+import static org.apache.maven.plugins.source.stubs.Project001Stub.readModelFromFile;
+
 /**
  * @author <a href="mailto:oching@exist.com">Maria Odea Ching</a>
  */
@@ -44,13 +46,10 @@
 
     public Project007Stub()
     {
-        MavenXpp3Reader pomReader = new MavenXpp3Reader();
         Model model;
-
         try
         {
-            model = pomReader.read(
-                ReaderFactory.newXmlReader( new File( getBasedir(), "target/test-classes/unit/project-007/pom.xml" ) ) );
+            model = readModelFromFile( new File( getBasedir(), "target/test-classes/unit/project-007/pom.xml" ) );
             setModel( model );
 
             setGroupId( model.getGroupId() );
diff --git a/src/test/java/org/apache/maven/plugins/source/stubs/Project009Stub.java b/src/test/java/org/apache/maven/plugins/source/stubs/Project009Stub.java
index 66379d8..efa4402 100644
--- a/src/test/java/org/apache/maven/plugins/source/stubs/Project009Stub.java
+++ b/src/test/java/org/apache/maven/plugins/source/stubs/Project009Stub.java
@@ -29,6 +29,8 @@
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.codehaus.plexus.util.ReaderFactory;
 
+import static org.apache.maven.plugins.source.stubs.Project001Stub.readModelFromFile;
+
 /**
  * @author Dennis Lundberg
  */
@@ -43,13 +45,12 @@
 
     public Project009Stub()
     {
-        MavenXpp3Reader pomReader = new MavenXpp3Reader();
         Model model;
 
         try
         {
             final File pomFile = new File( getBasedir(), "target/test-classes/unit/project-009/pom.xml" );
-            model = pomReader.read( ReaderFactory.newXmlReader( pomFile ) );
+            model = readModelFromFile( pomFile );
             setModel( model );
             setFile( pomFile );
 
diff --git a/src/test/java/org/apache/maven/plugins/source/stubs/Project010Stub.java b/src/test/java/org/apache/maven/plugins/source/stubs/Project010Stub.java
index 77a7502..16c50ec 100644
--- a/src/test/java/org/apache/maven/plugins/source/stubs/Project010Stub.java
+++ b/src/test/java/org/apache/maven/plugins/source/stubs/Project010Stub.java
@@ -29,6 +29,8 @@
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.codehaus.plexus.util.ReaderFactory;
 
+import static org.apache.maven.plugins.source.stubs.Project001Stub.readModelFromFile;
+
 public class Project010Stub
     extends MavenProjectStub
 {
@@ -40,13 +42,11 @@
 
     public Project010Stub()
     {
-        MavenXpp3Reader pomReader = new MavenXpp3Reader();
         Model model;
 
         try
         {
-            model = pomReader.read(
-                ReaderFactory.newXmlReader( new File( getBasedir(), "target/test-classes/unit/project-010/pom.xml" ) ) );
+            model = readModelFromFile( new File( getBasedir(), "target/test-classes/unit/project-010/pom.xml" ) );
             setModel( model );
 
             setFile(new File( getBasedir(), "target/test-classes/unit/project-010/pom.xml" ));