You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2011/07/06 15:25:54 UTC

svn commit: r1143400 - in /maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype: DefaultArchetypeManager.java common/util/Format.java

Author: olamy
Date: Wed Jul  6 13:25:54 2011
New Revision: 1143400

URL: http://svn.apache.org/viewvc?rev=1143400&view=rev
Log:
ensure stream are closed in a finally block

Modified:
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/util/Format.java

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java?rev=1143400&r1=1143399&r2=1143400&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java Wed Jul  6 13:25:54 2011
@@ -46,14 +46,20 @@ public class DefaultArchetypeManager
     extends AbstractLogEnabled
     implements ArchetypeManager
 {
-    /** @plexus.requirement role-hint="fileset" */
+    /**
+     * @plexus.requirement role-hint="fileset"
+     */
     private ArchetypeCreator creator;
 
-    /** @plexus.requirement */
+    /**
+     * @plexus.requirement
+     */
     private ArchetypeGenerator generator;
 
-    /** @plexus.requirement role="org.apache.maven.archetype.source.ArchetypeDataSource" */
-    private Map<String,ArchetypeDataSource> archetypeSources;
+    /**
+     * @plexus.requirement role="org.apache.maven.archetype.source.ArchetypeDataSource"
+     */
+    private Map<String, ArchetypeDataSource> archetypeSources;
 
     public ArchetypeCreationResult createArchetypeFromProject( ArchetypeCreationRequest request )
     {
@@ -91,13 +97,23 @@ public class DefaultArchetypeManager
             archive.getParentFile().mkdirs();
         }
 
-        ZipOutputStream zos = new ZipOutputStream( new FileOutputStream( archive ) );
+        ZipOutputStream zos = null;
+        try
+        {
+            zos = new ZipOutputStream( new FileOutputStream( archive ) );
 
-        zos.setLevel( 9 );
+            zos.setLevel( 9 );
 
-        zipper( zos, sourceDirectory.getAbsolutePath().length(), sourceDirectory );
+            zipper( zos, sourceDirectory.getAbsolutePath().length(), sourceDirectory );
+        }
+        finally
+        {
+            if ( zos != null )
+            {
+                zos.close();
+            }
+        }
 
-        zos.close();
     }
 
     private void zipper( ZipOutputStream zos, int offset, File currentSourceDirectory )
@@ -124,11 +140,20 @@ public class DefaultArchetypeManager
 
                 zos.putNextEntry( e );
 
-                FileInputStream is = new FileInputStream( files[i] );
-
-                IOUtil.copy( is, zos );
+                FileInputStream is = null;
+                try
+                {
+                    is = new FileInputStream( files[i] );
 
-                is.close();
+                    IOUtil.copy( is, zos );
+                }
+                finally
+                {
+                    if ( is != null )
+                    {
+                        is.close();
+                    }
+                }
 
                 zos.flush();
 

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/util/Format.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/util/Format.java?rev=1143400&r1=1143399&r2=1143400&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/util/Format.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/util/Format.java Wed Jul  6 13:25:54 2011
@@ -523,7 +523,7 @@ public class Format
                 {
                     try
                     {
-                        Boolean val = (Boolean) canEncode.invoke( encoder, new Object[] { new Character( ch ) } );
+                        Boolean val = (Boolean) canEncode.invoke( encoder, new Object[] { Character.valueOf( ch ) } );
                         return !val.booleanValue();
                     }
                     catch ( Exception ignored )