You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2020/08/30 10:28:54 UTC

[freemarker-docgen] 02/03: (Minor code cleanup)

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

ddekany pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/freemarker-docgen.git

commit 1fd5dca21268e5a77e4bf168a838358e48d4f223
Author: ddekany <dd...@apache.org>
AuthorDate: Sun Aug 30 12:27:48 2020 +0200

    (Minor code cleanup)
---
 .../java/org/freemarker/docgen/core/FileUtil.java  |  8 +++++-
 .../java/org/freemarker/docgen/core/Transform.java | 32 ++++------------------
 2 files changed, 13 insertions(+), 27 deletions(-)

diff --git a/freemarker-docgen-core/src/main/java/org/freemarker/docgen/core/FileUtil.java b/freemarker-docgen-core/src/main/java/org/freemarker/docgen/core/FileUtil.java
index 3ca637b..9cf1fec 100644
--- a/freemarker-docgen-core/src/main/java/org/freemarker/docgen/core/FileUtil.java
+++ b/freemarker-docgen-core/src/main/java/org/freemarker/docgen/core/FileUtil.java
@@ -26,7 +26,10 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.io.Reader;
+import java.io.Writer;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.regex.Pattern;
@@ -346,5 +349,8 @@ final class FileUtil {
         return path.length() > 0 && path.charAt(path.length() - 1) == File.separatorChar
                 ? path : path + File.separatorChar;
     }
-    
+
+    public static Writer newFileWriter(File outputFile) throws IOException {
+        return Files.newBufferedWriter(outputFile.toPath(), StandardCharsets.UTF_8);
+    }
 }
diff --git a/freemarker-docgen-core/src/main/java/org/freemarker/docgen/core/Transform.java b/freemarker-docgen-core/src/main/java/org/freemarker/docgen/core/Transform.java
index d9d3a25..204e492 100644
--- a/freemarker-docgen-core/src/main/java/org/freemarker/docgen/core/Transform.java
+++ b/freemarker-docgen-core/src/main/java/org/freemarker/docgen/core/Transform.java
@@ -21,12 +21,9 @@ package org.freemarker.docgen.core;
 import static org.freemarker.docgen.core.DocBook5Constants.*;
 
 import java.io.BufferedReader;
-import java.io.BufferedWriter;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStreamWriter;
 import java.io.StringReader;
 import java.io.Writer;
 import java.nio.charset.Charset;
@@ -1113,14 +1110,10 @@ public final class Transform {
         {
             logger.info("Generating ToC JSON...");
             Template template = fmConfig.getTemplate(FILE_TOC_JSON_TEMPLATE);
-            try (Writer wr = new BufferedWriter(
-                    new OutputStreamWriter(
-                            new FileOutputStream(
-                                    new File(destDir, FILE_TOC_JSON_OUTPUT)),
-                            UTF_8))) {
+            try (Writer wr = FileUtil.newFileWriter(new File(destDir, FILE_TOC_JSON_OUTPUT))) {
                 try {
                     SimpleHash dataModel = new SimpleHash(fmConfig.getObjectWrapper());
-                        dataModel.put(VAR_JSON_TOC_ROOT, tocNodes.get(0));
+                    dataModel.put(VAR_JSON_TOC_ROOT, tocNodes.get(0));
                     template.process(dataModel, wr, null, NodeModel.wrap(doc));
                 } catch (TemplateException e) {
                     throw new BugException("Failed to generate ToC JSON "
@@ -1133,14 +1126,10 @@ public final class Transform {
         {
             logger.info("Generating Sitemap XML...");
             Template template = fmConfig.getTemplate(FILE_SITEMAP_XML_TEMPLATE);
-            try (Writer wr = new BufferedWriter(
-                        new OutputStreamWriter(
-                                        new FileOutputStream(
-                                                        new File(destDir, FILE_SITEMAP_XML_OUTPUT)),
-                                        UTF_8))) {
+            try (Writer wr = FileUtil.newFileWriter(new File(destDir, FILE_SITEMAP_XML_OUTPUT))) {
                 try {
                     SimpleHash dataModel = new SimpleHash(fmConfig.getObjectWrapper());
-                            dataModel.put(VAR_JSON_TOC_ROOT, tocNodes.get(0));
+                    dataModel.put(VAR_JSON_TOC_ROOT, tocNodes.get(0));
                     template.process(dataModel, wr, null, NodeModel.wrap(doc));
                 } catch (TemplateException e) {
                     throw new BugException("Failed to generate Sitemap XML"
@@ -1214,11 +1203,7 @@ public final class Transform {
 
             logger.info("Generating Eclipse ToC...");
             Template template = fmConfig.getTemplate(FILE_ECLIPSE_TOC_TEMPLATE);
-            try (Writer wr = new BufferedWriter(
-                    new OutputStreamWriter(
-                            new FileOutputStream(
-                                    new File(destDir, FILE_ECLIPSE_TOC_OUTPUT)),
-                            UTF_8))) {
+            try (Writer wr = FileUtil.newFileWriter(new File(destDir, FILE_ECLIPSE_TOC_OUTPUT))) {
                 try {
                     SimpleHash dataModel = new SimpleHash(fmConfig.getObjectWrapper());
                     if (eclipseLinkTo != null) {
@@ -2641,16 +2626,11 @@ public final class Transform {
             throws TemplateException, IOException {
         Template template = fmConfig.getTemplate("page.ftlh");
         File outputFile = new File(destDir, fileName);
-        FileOutputStream fos = new FileOutputStream(outputFile);
-        OutputStreamWriter osw = new OutputStreamWriter(fos, UTF_8);
-        Writer writer = new BufferedWriter(osw, 2048);
-        try {
+        try (Writer writer = FileUtil.newFileWriter(outputFile)) {
             template.process(
                     dataModel,
                     writer, null,
                     NodeModel.wrap(currentFileTOCNode.getElement()));
-        } finally {
-            writer.close();
         }
     }