You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2010/08/09 00:40:26 UTC

svn commit: r983491 - /maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java

Author: hboutemy
Date: Sun Aug  8 22:40:26 2010
New Revision: 983491

URL: http://svn.apache.org/viewvc?rev=983491&view=rev
Log:
[ARCHETYPE-322] fixed "Too many open files" error: forgot to close streams when copying

Modified:
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java?rev=983491&r1=983490&r2=983491&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java Sun Aug  8 22:40:26 2010
@@ -49,6 +49,7 @@ import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.util.ArrayList;
@@ -264,11 +265,23 @@ public class DefaultFilesetArchetypeGene
             ZipEntry input =
                 archetypeZipFile.getEntry( Constants.ARCHETYPE_RESOURCES + "/" + template );
 
-            InputStream inputStream = archetypeZipFile.getInputStream( input );
+            InputStream inputStream = null;
+            OutputStream out = null;
+            try
+            {
+                inputStream = archetypeZipFile.getInputStream( input );
+
+                outFile.getParentFile().mkdirs();
 
-            outFile.getParentFile().mkdirs();
+                out = new FileOutputStream( outFile );
 
-            IOUtil.copy( inputStream, new FileOutputStream( outFile ) );
+                IOUtil.copy( inputStream, out );
+            }
+            finally
+            {
+                IOUtil.close( inputStream );
+                IOUtil.close( out );
+            }
         }
     }