This is an automated email from the ASF dual-hosted git repository. sgoeschl pushed a commit to branch FREEMARKER-139 in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git
commit 8be41edc6bf5e2d29c0474dd1848be3301608164 Author: Siegfried Goeschl <[email protected]> AuthorDate: Sat Apr 4 12:35:19 2020 +0200 FREEMARKER-139 freemarker-cli: Provide GsonTool to align with Maven plugin --- freemarker-generator-cli/README.md | 16 +++++++++++++++- .../apache/freemarker/generator/cli/ExamplesTest.java | 3 ++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/freemarker-generator-cli/README.md b/freemarker-generator-cli/README.md index 0bd0a95..c5bf91b 100644 --- a/freemarker-generator-cli/README.md +++ b/freemarker-generator-cli/README.md @@ -1101,7 +1101,21 @@ yields | Total Profit | 498855.44 | ``` -## 6.15 Using Advanced FreeMarker Features +## 6.15 Converting Between JSON And YAML + +Sometimes we simply need to transform a JSON into an equivalent YAML or the other way around + +``` +> ./bin/freemarker-cli -t templates/yaml/json/transform.ftl site/sample/yaml/swagger-spec.yaml +> ./bin/freemarker-cli -i '${GsonTool.toJson(YamlTool.parse(DataSources.get(0)))}' site/sample/yaml/swagger-spec.yaml + +> ./bin/freemarker-cli -t templates/json/yaml/transform.ftl site/sample/json/swagger-spec.json +> ./bin/freemarker-cli -i '${YamlTool.toYaml(GsonTool.parse(DataSources.get(0)))}' site/sample/json/swagger-spec.json +``` + + + +## 6.16 Using Advanced FreeMarker Features There is a `demo.ftl` which shows some advanced FreeMarker functionality diff --git a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java index 85ba50a..295b2e7 100644 --- a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java +++ b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java @@ -104,10 +104,11 @@ public class ExamplesTest extends AbstractMainTest { @Test public void shouldRunInteractiveTemplateExamples() throws IOException { - // @TODO We should check the generated output directly assertValid(execute("-i ${JsonPathTool.parse(DataSources.first).read(\"$.info.title\")} site/sample/json/swagger-spec.json")); assertValid(execute("-i ${XmlTool.parse(DataSources.first)[\"recipients/person[1]/name\"]} site/sample/xml/recipients.xml")); assertValid(execute("-i ${JsoupTool.parse(DataSources.first).select(\"a\")[0]} site/sample/html/dependencies.html")); + assertValid(execute("-i ${GsonTool.toJson(YamlTool.parse(DataSources.get(0)))} site/sample/yaml/swagger-spec.yaml")); + assertValid(execute("-i ${YamlTool.toYaml(GsonTool.parse(DataSources.get(0)))} site/sample/json/swagger-spec.json")); } @Test
