Author: hboutemy
Date: Sun Apr 18 08:36:57 2010
New Revision: 935316

URL: http://svn.apache.org/viewvc?rev=935316&view=rev
Log:
[MPMD-93] avoid platform encoding for CPD output file in site directory, by 
simply copying the file already generated in target directory without this 
encoding problem

Modified:
    
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdReport.java

Modified: 
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdReport.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdReport.java?rev=935316&r1=935315&r2=935316&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdReport.java
 (original)
+++ 
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdReport.java
 Sun Apr 18 08:36:57 2010
@@ -22,7 +22,6 @@ package org.apache.maven.plugin.pmd;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
-import java.io.FileWriter;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.UnsupportedEncodingException;
@@ -39,6 +38,7 @@ import net.sourceforge.pmd.cpd.Renderer;
 import net.sourceforge.pmd.cpd.XMLRenderer;
 
 import org.apache.maven.reporting.MavenReportException;
+import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.WriterFactory;
 import org.codehaus.plexus.util.StringUtils;
@@ -176,36 +176,27 @@ public class CpdReport
     {
         Renderer r = createRenderer();
         String buffer = r.render( cpd.getMatches() );
+        Writer writer = null;
         try
         {
             targetDirectory.mkdirs();
-            FileOutputStream tStream = new FileOutputStream( new File( 
targetDirectory, "cpd." + format ) );
-            Writer writer = new OutputStreamWriter( tStream, "UTF-8" );
-            try
-            {
-                writer.write( buffer );
-            }
-            finally
-            {
-                IOUtil.close( writer );
-            }
+            File targetFile = new File( targetDirectory, "cpd." + format );
+            FileOutputStream tStream = new FileOutputStream( targetFile );
+            writer = new OutputStreamWriter( tStream, "UTF-8" );
+            writer.write( buffer );
 
             File siteDir = getReportOutputDirectory();
             siteDir.mkdirs();
-            writer = new FileWriter( new File( siteDir, "cpd." + format ) );
-            try
-            {
-                writer.write( buffer, 0, buffer.length() );
-            }
-            finally
-            {
-                IOUtil.close( writer );
-            }
+            FileUtils.copyFile( targetFile, new File( siteDir, "cpd." + format 
) );
         }
         catch ( IOException ioe )
         {
             throw new MavenReportException( ioe.getMessage(), ioe );
         }
+        finally
+        {
+            IOUtil.close( writer );
+        }
     }
 
     /** {...@inheritdoc} */


Reply via email to