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();
}
}