diff --git a/src/main/java/io/github/robwin/markup/builder/AbstractMarkupDocBuilder.java b/src/main/java/io/github/robwin/markup/builder/AbstractMarkupDocBuilder.java index 78d89749..4f926507 100644 --- a/src/main/java/io/github/robwin/markup/builder/AbstractMarkupDocBuilder.java +++ b/src/main/java/io/github/robwin/markup/builder/AbstractMarkupDocBuilder.java @@ -130,13 +130,14 @@ public abstract class AbstractMarkupDocBuilder implements MarkupDocBuilder { return documentBuilder.toString(); } - protected void writeToFileWithExtension(String directory, String fileNameWithExtension, Charset charset) throws IOException { + @Override + public void writeToFileWithoutExtension(String directory, String fileName, Charset charset) throws IOException { Files.createDirectories(Paths.get(directory)); - try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(directory, fileNameWithExtension), charset)){ + try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(directory, fileName), charset)){ writer.write(documentBuilder.toString()); } if (logger.isInfoEnabled()) { - logger.info("{} was written to: {}", fileNameWithExtension, directory); + logger.info("{} was written to: {}", fileName, directory); } documentBuilder = new StringBuilder(); } diff --git a/src/main/java/io/github/robwin/markup/builder/MarkupDocBuilder.java b/src/main/java/io/github/robwin/markup/builder/MarkupDocBuilder.java index e1b73030..792aaa58 100644 --- a/src/main/java/io/github/robwin/markup/builder/MarkupDocBuilder.java +++ b/src/main/java/io/github/robwin/markup/builder/MarkupDocBuilder.java @@ -94,21 +94,14 @@ public interface MarkupDocBuilder { */ void writeToFile(String directory, String fileName, Charset charset) throws IOException; - class TableColumnSpec { - public String header; - public Integer widthRatio = 0; - public TableColumnSpec() {} - public TableColumnSpec(String header, Integer widthRatio) { - this.header = header; - this.widthRatio = widthRatio; - } - public TableColumnSpec withHeader(String header) { - this.header = header; - return this; - } - public TableColumnSpec withWidthRatio(Integer widthRatio) { - this.widthRatio = widthRatio; - return this; - } - } + /** + * Writes the content of the builder to a file and clears the builder. + * + * @param directory the directory where the generated file should be stored + * @param fileName the name of the file + * @param charset the the charset to use for encoding + * @throws java.io.IOException if the file cannot be written + */ + void writeToFileWithoutExtension(String directory, String fileName, Charset charset) throws IOException; + } diff --git a/src/main/java/io/github/robwin/markup/builder/TableColumnSpec.java b/src/main/java/io/github/robwin/markup/builder/TableColumnSpec.java new file mode 100644 index 00000000..31fe3533 --- /dev/null +++ b/src/main/java/io/github/robwin/markup/builder/TableColumnSpec.java @@ -0,0 +1,24 @@ +package io.github.robwin.markup.builder; + +public class TableColumnSpec { + public String header; + public Integer widthRatio = 0; + + public TableColumnSpec() { + } + + public TableColumnSpec(String header, Integer widthRatio) { + this.header = header; + this.widthRatio = widthRatio; + } + + public TableColumnSpec withHeader(String header) { + this.header = header; + return this; + } + + public TableColumnSpec withWidthRatio(Integer widthRatio) { + this.widthRatio = widthRatio; + return this; + } +} \ No newline at end of file diff --git a/src/main/java/io/github/robwin/markup/builder/asciidoc/AsciiDocBuilder.java b/src/main/java/io/github/robwin/markup/builder/asciidoc/AsciiDocBuilder.java index cf9d9990..aa78f5bf 100644 --- a/src/main/java/io/github/robwin/markup/builder/asciidoc/AsciiDocBuilder.java +++ b/src/main/java/io/github/robwin/markup/builder/asciidoc/AsciiDocBuilder.java @@ -22,6 +22,7 @@ import com.google.common.base.Function; import com.google.common.collect.Collections2; import io.github.robwin.markup.builder.AbstractMarkupDocBuilder; import io.github.robwin.markup.builder.MarkupDocBuilder; +import io.github.robwin.markup.builder.TableColumnSpec; import org.apache.commons.collections.CollectionUtils; import java.io.IOException; @@ -204,6 +205,6 @@ public class AsciiDocBuilder extends AbstractMarkupDocBuilder { @Override public void writeToFile(String directory, String fileName, Charset charset) throws IOException { - writeToFileWithExtension(directory, fileName + "." + ASCIIDOC_FILE_EXTENSION, charset); + writeToFileWithoutExtension(directory, fileName + "." + ASCIIDOC_FILE_EXTENSION, charset); } } diff --git a/src/main/java/io/github/robwin/markup/builder/markdown/MarkdownBuilder.java b/src/main/java/io/github/robwin/markup/builder/markdown/MarkdownBuilder.java index 221ac1eb..3cd8676c 100644 --- a/src/main/java/io/github/robwin/markup/builder/markdown/MarkdownBuilder.java +++ b/src/main/java/io/github/robwin/markup/builder/markdown/MarkdownBuilder.java @@ -22,6 +22,7 @@ import com.google.common.base.Function; import com.google.common.collect.Collections2; import io.github.robwin.markup.builder.AbstractMarkupDocBuilder; import io.github.robwin.markup.builder.MarkupDocBuilder; +import io.github.robwin.markup.builder.TableColumnSpec; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -222,6 +223,6 @@ public class MarkdownBuilder extends AbstractMarkupDocBuilder @Override public void writeToFile(String directory, String fileName, Charset charset) throws IOException { - writeToFileWithExtension(directory, fileName + "." + MARKDOWN_FILE_EXTENSION, charset); + writeToFileWithoutExtension(directory, fileName + "." + MARKDOWN_FILE_EXTENSION, charset); } } diff --git a/src/test/java/io/github/robwin/markup/builder/MarkupDocBuilderTest.java b/src/test/java/io/github/robwin/markup/builder/MarkupDocBuilderTest.java index 8dd79357..0d3f264c 100644 --- a/src/test/java/io/github/robwin/markup/builder/MarkupDocBuilderTest.java +++ b/src/test/java/io/github/robwin/markup/builder/MarkupDocBuilderTest.java @@ -33,7 +33,7 @@ import java.util.List; public class MarkupDocBuilderTest { List tableRowsInPSV; - List tableColumns; + List tableColumns; List> tableCells; @@ -45,9 +45,9 @@ public class MarkupDocBuilderTest { tableRowsInPSV.add("Row 2, Column 1 | Row 2, Column 2 | Row 2, Column 3"); tableColumns = Arrays.asList( - new MarkupDocBuilder.TableColumnSpec().withHeader("Header1"), - new MarkupDocBuilder.TableColumnSpec().withWidthRatio(2), - new MarkupDocBuilder.TableColumnSpec().withHeader("Header3").withWidthRatio(1)); + new TableColumnSpec().withHeader("Header1"), + new TableColumnSpec().withWidthRatio(2), + new TableColumnSpec().withHeader("Header3").withWidthRatio(1)); tableCells = new ArrayList<>(); tableCells.add(Arrays.asList("Row 1 | Column 1", "Row 1 | Column 2", "Row 1 | Column 3")); tableCells.add(Arrays.asList("Row 2 | Column 1", "Row 2 | Column 2", "Row 2 | Column 3"));