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/06/28 22:59:08 UTC

svn commit: r958731 - /maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/ReportDocumentRenderer.java

Author: hboutemy
Date: Mon Jun 28 20:59:08 2010
New Revision: 958731

URL: http://svn.apache.org/viewvc?rev=958731&view=rev
Log:
avoid platform encoding for multi-page reports but use rendering context encoding (merged from 3.x branch r958728)

Modified:
    maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/ReportDocumentRenderer.java

Modified: maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/ReportDocumentRenderer.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/ReportDocumentRenderer.java?rev=958731&r1=958730&r2=958731&view=diff
==============================================================================
--- maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/ReportDocumentRenderer.java (original)
+++ maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/ReportDocumentRenderer.java Mon Jun 28 20:59:08 2010
@@ -32,13 +32,14 @@ import org.apache.maven.plugin.logging.L
 import org.apache.maven.reporting.MavenReport;
 import org.apache.maven.reporting.MavenMultiPageReport;
 import org.apache.maven.reporting.MavenReportException;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.WriterFactory;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.Writer;
 import java.io.File;
-import java.io.FileWriter;
 import java.util.ArrayList;
 import java.util.Locale;
 import java.util.List;
@@ -191,16 +192,18 @@ public class ReportDocumentRenderer
 
                     log.debug( "  Rendering " + mySink.getOutputName() );
 
-                    // TODO should not rely on platform encoding
-                    Writer out = new FileWriter( new File( mySink.getOutputDir(), mySink.getOutputName() ) );
+                    File outputFile = new File( mySink.getOutputDir(), mySink.getOutputName() );
 
+                    Writer out = null;
                     try
                     {
+                        out = WriterFactory.newWriter( outputFile, siteRenderingContext.getOutputEncoding() );
                         renderer.generateDocument( out, mySink, siteRenderingContext );
                     }
                     finally
                     {
                         mySink.close();
+                        IOUtil.close( out );
                     }
                 }
             }