You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by sg...@apache.org on 2020/04/04 10:35:38 UTC

[freemarker-generator] 03/03: FREEMARKER-139 freemarker-cli: Provide GsonTool to align with Maven plugin

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 <si...@gmail.com>
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