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/03/15 23:37:54 UTC

svn commit: r923481 - /maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java

Author: hboutemy
Date: Mon Mar 15 22:37:53 2010
New Revision: 923481

URL: http://svn.apache.org/viewvc?rev=923481&view=rev
Log:
preserve encoding when reading or writing XML descriptors

Modified:
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java?rev=923481&r1=923480&r2=923481&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java Mon Mar 15 22:37:53 2010
@@ -33,7 +33,9 @@ import org.apache.velocity.context.Conte
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.WriterFactory;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.codehaus.plexus.velocity.VelocityComponent;
 import org.dom4j.Document;
@@ -45,8 +47,6 @@ import org.dom4j.io.XMLWriter;
 
 import java.io.File;
 import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -116,8 +116,8 @@ public class DefaultOldArchetype
 
 //        try
 //        {
-            archetype = archetypeArtifactManager.getArchetypeFile( 
-                archetypeGroupId, archetypeArtifactId, archetypeVersion, 
+            archetype = archetypeArtifactManager.getArchetypeFile(
+                archetypeGroupId, archetypeArtifactId, archetypeVersion,
                 archetypeRepository, localRepository, remoteRepositories );
 //        }
 //        catch ( UnknownArchetype e )
@@ -296,11 +296,11 @@ public class DefaultOldArchetype
         {
             if ( parentPomFile.exists() )
             {
-                FileReader fileReader = null;
+                Reader fileReader = null;
 
                 try
                 {
-                    fileReader = new FileReader( parentPomFile );
+                    fileReader = ReaderFactory.newXmlReader( parentPomFile );
                     MavenXpp3Reader reader = new MavenXpp3Reader();
                     parentModel = reader.read( fileReader );
                     if ( !"pom".equals( parentModel.getPackaging() ) )
@@ -358,12 +358,12 @@ public class DefaultOldArchetype
                 IOUtil.close( fileWriter );
             }
 */
-            FileReader fileReader = null;
+            Reader fileReader = null;
             boolean added;
             StringWriter w = new StringWriter();
             try
             {
-                fileReader = new FileReader( parentPomFile );
+                fileReader = ReaderFactory.newXmlReader( parentPomFile );
                 added = addModuleToParentPom( artifactId, fileReader, w );
             }
             catch ( IOException e )
@@ -381,14 +381,20 @@ public class DefaultOldArchetype
 
             if ( added )
             {
+                Writer out = null;
                 try
                 {
-                    FileUtils.fileWrite( parentPomFile.getAbsolutePath(), w.toString() );
+                    out = WriterFactory.newXmlWriter( parentPomFile );
+                    IOUtil.copy( w.toString(), out );
                 }
                 catch ( IOException e )
                 {
                     throw new ArchetypeTemplateProcessingException( "Unable to rewrite parent POM", e );
                 }
+                finally
+                {
+                    IOUtil.close( out );
+                }
             }
         }
 
@@ -488,10 +494,10 @@ public class DefaultOldArchetype
         // ---------------------------------------------------------------------
 
         Model generatedModel;
-        FileReader pomReader = null;
+        Reader pomReader = null;
         try
         {
-            pomReader = new FileReader( pomFile );
+            pomReader = ReaderFactory.newXmlReader( pomFile );
 
             MavenXpp3Reader reader = new MavenXpp3Reader();
 
@@ -526,10 +532,10 @@ public class DefaultOldArchetype
             }
             generatedModel.setParent( parent );
 
-            FileWriter pomWriter = null;
+            Writer pomWriter = null;
             try
             {
-                pomWriter = new FileWriter( pomFile );
+                pomWriter = WriterFactory.newXmlWriter( pomFile );
 
                 MavenXpp3Writer writer = new MavenXpp3Writer();
                 writer.write( pomWriter, generatedModel );