[MPMD-251] Invalid report XML is generated with includeXmlInSite=true

Use the renderer's flush method
diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java
index fe39380..2a8a897 100644
--- a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java
+++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java
@@ -233,9 +233,16 @@
         return getBundle( locale ).getString( "report.pmd.description" );
     }
 
-    public void setRulesets( String[] rules )
+    /**
+     * Configures the PMD rulesets to be used directly.
+     * Note: Usually the rulesets are configured via the property.
+     *
+     * @param rulesets the PMD rulesets to be used.
+     * @see #rulesets
+     */
+    public void setRulesets( String[] rulesets )
     {
-        rulesets = rules;
+        this.rulesets = Arrays.copyOf( rulesets, rulesets.length );
     }
 
     /**
@@ -596,7 +603,7 @@
             r.start();
             r.renderFileReport( report );
             r.end();
-            writer.flush();
+            r.flush();
 
             if ( includeXmlInSite )
             {
@@ -650,7 +657,6 @@
         {
             try
             {
-                @SuppressWarnings( "unchecked" )
                 List<String> classpath =
                     includeTests ? project.getTestClasspathElements() : project.getCompileClasspathElements();
                 getLog().debug( "Using aux classpath: " + classpath );
diff --git a/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java b/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
index e108f96..72afd01 100644
--- a/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
+++ b/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
@@ -370,7 +370,7 @@
         assertTrue( pmdXmlTarget.contains( "</pmd>" ) );
 
         // check that pmd.xml file has the closing element
-        String pmdXml = readFile( new File( getBasedir(), "target/test/unit/default-configuration/target/site/pmd.xml" ) );
+        String pmdXml = readFile( generatedXmlFile );
         assertTrue( pmdXml.contains( "</pmd>" ) );
     }