You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by el...@apache.org on 2021/01/24 14:32:06 UTC

[maven-checkstyle-plugin] branch dep created (now c77ec8e)

This is an automated email from the ASF dual-hosted git repository.

elharo pushed a change to branch dep
in repository https://gitbox.apache.org/repos/asf/maven-checkstyle-plugin.git.


      at c77ec8e  use try with resources and charset

This branch includes the following new commits:

     new c77ec8e  use try with resources and charset

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-checkstyle-plugin] 01/01: use try with resources and charset

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elharo pushed a commit to branch dep
in repository https://gitbox.apache.org/repos/asf/maven-checkstyle-plugin.git

commit c77ec8e9c563d1db351360d93f667e5873128bb1
Author: Elliotte Rusty Harold <el...@ibiblio.org>
AuthorDate: Sun Jan 24 09:31:52 2021 -0500

    use try with resources and charset
---
 .../plugins/checkstyle/rss/VelocityTemplate.java   | 50 ++++++++--------------
 1 file changed, 17 insertions(+), 33 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/checkstyle/rss/VelocityTemplate.java b/src/main/java/org/apache/maven/plugins/checkstyle/rss/VelocityTemplate.java
index a25090b..329ceb7 100644
--- a/src/main/java/org/apache/maven/plugins/checkstyle/rss/VelocityTemplate.java
+++ b/src/main/java/org/apache/maven/plugins/checkstyle/rss/VelocityTemplate.java
@@ -28,13 +28,15 @@ import org.apache.velocity.exception.VelocityException;
 import org.codehaus.plexus.velocity.VelocityComponent;
 
 import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.OutputStreamWriter;
 import java.io.Writer;
+import java.nio.charset.StandardCharsets;
 
 /**
  * <p>
- * A component to work with VelocityTemplates from within plugins.
+ * A component to work with Velocity templates from within plugins.
  * <p>
  * You will need to reference the velocity component as a parameter
  * in your plugin.  Like this:
@@ -77,52 +79,34 @@ public class VelocityTemplate
      * Using a specified Velocity Template and provided context, create the outputFilename.
      *
      * @param outputFilename the file to be generated.
-     * @param template       the velocity template to use.
-     * @param context        the velocity context map.
-     * @throws VelocityException if the template was not found or any other Velocity exception.
-     * @throws MojoExecutionException if merging the velocity template failed.
-     * @throws IOException if there was an error when writing to the output file.
+     * @param template       the velocity template to use
+     * @param context        the velocity context map
+     * @throws VelocityException if the template was not found or any other Velocity exception
+     * @throws MojoExecutionException if merging the velocity template failed
+     * @throws IOException if there was an error writing to the output file
      */
     public void generate( String outputFilename, String template, Context context )
         throws VelocityException, MojoExecutionException, IOException
     {
-        Writer writer = null;
 
-        try
+        File f = new File( outputFilename );
+        if ( !f.getParentFile().exists() )
+        {
+            f.getParentFile().mkdirs();
+        }
+        
+        try ( Writer writer = new OutputStreamWriter( new FileOutputStream( f ), StandardCharsets.UTF_8 ) )
         {
-            File f = new File( outputFilename );
-
-            if ( !f.getParentFile().exists() )
-            {
-                f.getParentFile().mkdirs();
-            }
-
-            writer = new FileWriter( f );
-
             getVelocity().getEngine().mergeTemplate( templateDirectory + "/" + template, context, writer );
         }
         catch ( ResourceNotFoundException e )
         {
             throw new ResourceNotFoundException( "Template not found: " + templateDirectory + "/" + template, e );
         }
-        catch ( VelocityException | IOException e )
-        {
-            throw e; // to get past generic catch for Exception.
-        }
-        catch ( Exception e )
+        catch ( RuntimeException e )
         {
             throw new MojoExecutionException( e.getMessage(), e );
         }
-        finally
-        {
-            if ( writer != null )
-            {
-                writer.flush();
-                writer.close();
-
-                getLog().debug( "File " + outputFilename + " created..." );
-            }
-        }
     }
 
     public void setTemplateDirectory( String templateDirectory )