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/05/02 23:23:53 UTC

svn commit: r940319 - /maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java

Author: hboutemy
Date: Sun May  2 21:23:52 2010
New Revision: 940319

URL: http://svn.apache.org/viewvc?rev=940319&view=rev
Log:
code refactoring

Modified:
    maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java?rev=940319&r1=940318&r2=940319&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java Sun May  2 21:23:52 2010
@@ -37,6 +37,7 @@ import org.apache.maven.project.MavenPro
 import org.apache.maven.reporting.AbstractMavenReport;
 import org.apache.maven.reporting.MavenReportException;
 import org.codehaus.plexus.i18n.I18N;
+import org.codehaus.plexus.util.IOUtil;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -143,29 +144,34 @@ public abstract class AbstractProjectInf
         }
 
         // TODO: push to a helper? Could still be improved by taking more of the site information from the site plugin
+        Writer writer = null;
         try
         {
+            String filename = getOutputName() + ".html";
+
             DecorationModel model = new DecorationModel();
             model.setBody( new Body() );
+
             Map attributes = new HashMap();
             attributes.put( "outputEncoding", "UTF-8" );
             attributes.put( "project", project );
+
             Locale locale = Locale.getDefault();
             Artifact defaultSkin =
                 siteTool.getDefaultSkinArtifact( localRepository, project.getRemoteArtifactRepositories() );
+
             SiteRenderingContext siteContext = siteRenderer.createContextForSkin( defaultSkin.getFile(), attributes,
                                                                                   model, getName( locale ), locale );
 
-            RenderingContext context = new RenderingContext( outputDirectory, getOutputName() + ".html" );
+            RenderingContext context = new RenderingContext( outputDirectory, filename );
 
             SiteRendererSink sink = new SiteRendererSink( context );
-            generate( (org.apache.maven.doxia.sink.Sink) sink, null, locale );
+
+            generate( sink, null, locale );
 
             outputDirectory.mkdirs();
 
-            Writer writer =
-                new OutputStreamWriter( new FileOutputStream( new File( outputDirectory, getOutputName() + ".html" ) ),
-                                        "UTF-8" );
+            writer = new OutputStreamWriter( new FileOutputStream( new File( outputDirectory, filename ) ), "UTF-8" );
 
             siteRenderer.generateDocument( writer, sink, siteContext );
 
@@ -192,6 +198,10 @@ public abstract class AbstractProjectInf
             throw new MojoExecutionException(
                 "An error has occurred in " + getName( Locale.ENGLISH ) + " report generation.", e );
         }
+        finally
+        {
+            IOUtil.close( writer );
+        }
     }
 
     /** {@inheritDoc} */