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/05 22:03:57 UTC
[freemarker-generator] 08/11: FREEMARKER-140 freemarker-cli: Expose
DataSources directly in the data model
This is an automated email from the ASF dual-hosted git repository.
sgoeschl pushed a commit to branch feature/FREEMARKER-140
in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git
commit 9175e88f60e7e34d36af8967d56c3a8d53e30363
Author: Siegfried Goeschl <si...@gmail.com>
AuthorDate: Sun Apr 5 22:56:28 2020 +0200
FREEMARKER-140 freemarker-cli: Expose DataSources directly in the data model
---
.../org/apache/freemarker/generator/cli/Main.java | 14 +++++++-------
.../apache/freemarker/generator/cli/PicocliTest.java | 19 +++++++++++++++++--
2 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java
index 6522c85..e3b17b4 100644
--- a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java
+++ b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java
@@ -71,9 +71,6 @@ public class Main implements Callable<Integer> {
@Option(names = { "-b", "--basedir" }, description = "Optional template base directory")
String baseDir;
- @Option(names = { "-d", "--data-source" }, description = "Data source used for rendering")
- List<String> dataSources;
-
@Option(names = { "-D", "--system-property" }, description = "Set system property")
Properties systemProperties;
@@ -86,8 +83,8 @@ public class Main implements Callable<Integer> {
@Option(names = { "-l", "--locale" }, description = "Locale being used for the output, e.g. 'en_US'")
String locale;
- @Option(names = { "--mode" }, description = "[template|datasource]", defaultValue = "TEMPLATE")
- GeneratorMode mode;
+ @Option(names = { "-m", "--data-model" }, description = "Data model used for rendering")
+ List<String> dataModels;
@Option(names = { "-o", "--output" }, description = "Output file")
String outputFile;
@@ -95,8 +92,8 @@ public class Main implements Callable<Integer> {
@Option(names = { "-P", "--param" }, description = "Set parameter")
Map<String, String> parameters;
- @Option(names = { "-m", "--data-model" }, description = "Data model used for rendering")
- List<String> dataModels;
+ @Option(names = { "-s", "--data-source" }, description = "Data source used for rendering")
+ List<String> dataSources;
@Option(names = { "--config" }, defaultValue = FREEMARKER_CLI_PROPERTY_FILE, description = "FreeMarker CLI configuration file")
String configFile;
@@ -110,6 +107,9 @@ public class Main implements Callable<Integer> {
@Option(names = { "--output-encoding" }, description = "Encoding of output, e.g. UTF-8", defaultValue = "UTF-8")
String outputEncoding;
+ @Option(names = { "--mode" }, description = "[template|datasource]", defaultValue = "TEMPLATE")
+ GeneratorMode mode;
+
@Option(names = { "--stdin" }, description = "Read data source from stdin")
boolean readFromStdin;
diff --git a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/PicocliTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/PicocliTest.java
index fdd7fc2..d5e15d6 100644
--- a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/PicocliTest.java
+++ b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/PicocliTest.java
@@ -52,20 +52,35 @@ public class PicocliTest {
@Test
public void testSingleNamedDataSource() {
assertEquals(ANY_FILE, parse("-t", TEMPLATE, ANY_FILE).sources.get(0));
- assertEquals(ANY_FILE, parse("-t", TEMPLATE, "-d", ANY_FILE).dataSources.get(0));
+ assertEquals(ANY_FILE, parse("-t", TEMPLATE, "-s", ANY_FILE).dataSources.get(0));
assertEquals(ANY_FILE, parse("-t", TEMPLATE, "--data-source", ANY_FILE).dataSources.get(0));
assertEquals(ANY_FILE_URI, parse("-t", TEMPLATE, "--data-source", ANY_FILE_URI).dataSources.get(0));
}
@Test
public void testMultipleNamedDataSource() {
- final Main main = parse("-t", TEMPLATE, "-d", ANY_FILE, "--data-source", OTHER_FILE_URI);
+ final Main main = parse("-t", TEMPLATE, "-s", ANY_FILE, "--data-source", OTHER_FILE_URI);
assertEquals(ANY_FILE, main.dataSources.get(0));
assertEquals(OTHER_FILE_URI, main.dataSources.get(1));
assertNull(main.sources);
}
+ @Test
+ public void testSingleDataModel() {
+ assertEquals(ANY_FILE, parse("-t", TEMPLATE, "-m", ANY_FILE).dataModels.get(0));
+ assertEquals(ANY_FILE, parse("-t", TEMPLATE, "--data-model", ANY_FILE).dataModels.get(0));
+ }
+
+ @Test
+ public void testMultipleDataModels() {
+ final Main main = parse("-t", TEMPLATE, "-m", ANY_FILE, "--data-model", OTHER_FILE_URI);
+
+ assertEquals(ANY_FILE, main.dataModels.get(0));
+ assertEquals(OTHER_FILE_URI, main.dataModels.get(1));
+ assertNull(main.sources);
+ }
+
private static Main parse(String... args) {
final Main main = new Main();
new CommandLine(main).parseArgs(args);