This is an automated email from the ASF dual-hosted git repository.

sgoeschl pushed a commit to branch FREEMARKER-142
in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git


The following commit(s) were added to refs/heads/FREEMARKER-142 by this push:
     new 0e8151f  FREEMARKER-142 First draft of supporting multiple templates 
on the command line
0e8151f is described below

commit 0e8151f7f953880c89cae0b65ffab95bb92fa62d
Author: Siegfried Goeschl <[email protected]>
AuthorDate: Sun May 17 20:22:07 2020 +0200

    FREEMARKER-142 First draft of supporting multiple templates on the command 
line
---
 ...verTest.java => RecursiveFileSupplierTest.java} |  26 ++--
 .../org/apache/freemarker/generator/cli/Main.java  |  32 ++---
 .../freemarker/generator/cli/config/Settings.java  | 140 +++++++++++++--------
 .../freemarker/generator/cli/config/Suppliers.java |   4 +-
 .../freemarker/generator/cli/PicocliTest.java      |   2 +-
 .../cli/config/ConfigurationSupplierTest.java      |   4 +-
 .../generator/cli/config/SettingsTest.java         |  10 +-
 7 files changed, 127 insertions(+), 91 deletions(-)

diff --git 
a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/RecursiveFileResolverTest.java
 
b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/RecursiveFileSupplierTest.java
similarity index 79%
rename from 
freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/RecursiveFileResolverTest.java
rename to 
freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/RecursiveFileSupplierTest.java
index 72fc5c2..f7ce94f 100644
--- 
a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/RecursiveFileResolverTest.java
+++ 
b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/RecursiveFileSupplierTest.java
@@ -27,7 +27,7 @@ import static java.util.Collections.singletonList;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-public class RecursiveFileResolverTest {
+public class RecursiveFileSupplierTest {
 
     private static final String ANY_DIRECTORY = "./src/test/data";
     private static final String ANY_FILE_NAME = "file_01.csv";
@@ -35,13 +35,13 @@ public class RecursiveFileResolverTest {
 
     @Test
     public void shouldResolveAllFilesOfDirectory() {
-        assertEquals(5, fileResolver(ANY_DIRECTORY, null, null).get().size());
-        assertTrue(fileResolver(ANY_DIRECTORY, UNKNOWN_FILE_NAME, 
null).get().isEmpty());
+        assertEquals(5, fileSupplier(ANY_DIRECTORY, null, null).get().size());
+        assertTrue(fileSupplier(ANY_DIRECTORY, UNKNOWN_FILE_NAME, 
null).get().isEmpty());
     }
 
     @Test
     public void shouldResolveSingleMatchingFile() {
-        final List<File> files = fileResolver(ANY_DIRECTORY, ANY_FILE_NAME, 
null).get();
+        final List<File> files = fileSupplier(ANY_DIRECTORY, ANY_FILE_NAME, 
null).get();
 
         assertEquals(1, files.size());
         assertEquals(ANY_FILE_NAME, files.get(0).getName());
@@ -50,7 +50,7 @@ public class RecursiveFileResolverTest {
     @Test
     public void shouldResolveMultipleFiles() {
         final List<String> sources = Arrays.asList("pom.xml", "README.md");
-        final List<File> files = fileResolver(sources, "*", null).get();
+        final List<File> files = fileSupplier(sources, "*", null).get();
 
         assertEquals(2, files.size());
         assertEquals("pom.xml", files.get(0).getName());
@@ -60,7 +60,7 @@ public class RecursiveFileResolverTest {
     @Test
     public void shouldResolveMultipleFilesWithIncludeFilter() {
         final List<String> sources = Arrays.asList("pom.xml", "README.md");
-        final List<File> files = fileResolver(sources, "*.xml", null).get();
+        final List<File> files = fileSupplier(sources, "*.xml", null).get();
 
         assertEquals(1, files.size());
         assertEquals("pom.xml", files.get(0).getName());
@@ -68,14 +68,14 @@ public class RecursiveFileResolverTest {
 
     @Test
     public void shouldExcludeAllFiles() {
-        final List<File> files = fileResolver(ANY_DIRECTORY, null, "*").get();
+        final List<File> files = fileSupplier(ANY_DIRECTORY, null, "*").get();
 
         assertEquals(0, files.size());
     }
 
     @Test
     public void shouldExcludeFiles() {
-        final List<File> files = fileResolver(ANY_DIRECTORY, null, 
"*.csv").get();
+        final List<File> files = fileSupplier(ANY_DIRECTORY, null, 
"*.csv").get();
 
         assertEquals(3, files.size());
         assertEquals("file_01.txt", files.get(0).getName());
@@ -85,7 +85,7 @@ public class RecursiveFileResolverTest {
 
     @Test
     public void shouldIncludeAndExcludeFiles() {
-        final List<File> files = fileResolver(ANY_DIRECTORY, "file*.*", 
"*.csv").get();
+        final List<File> files = fileSupplier(ANY_DIRECTORY, "file*.*", 
"*.csv").get();
 
         assertEquals(1, files.size());
         assertEquals("file_01.txt", files.get(0).getName());
@@ -93,16 +93,16 @@ public class RecursiveFileResolverTest {
 
     @Test
     public void shouldResolveMultipleFilesRecursivelyWithIncludes() {
-        final List<File> files = fileResolver(ANY_DIRECTORY, "*.csv", 
null).get();
+        final List<File> files = fileSupplier(ANY_DIRECTORY, "*.csv", 
null).get();
 
         assertEquals(2, files.size());
     }
 
-    private static RecursiveFileSupplier fileResolver(String source, String 
include, String exclude) {
-        return fileResolver(singletonList(source), include, exclude);
+    private static RecursiveFileSupplier fileSupplier(String source, String 
include, String exclude) {
+        return fileSupplier(singletonList(source), include, exclude);
     }
 
-    private static RecursiveFileSupplier fileResolver(List<String> sources, 
String include, String exclude) {
+    private static RecursiveFileSupplier fileSupplier(List<String> sources, 
String include, String exclude) {
         return new RecursiveFileSupplier(sources, singletonList(include), 
singletonList(exclude));
     }
 
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 c3c319a..43f92c7 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
@@ -61,7 +61,7 @@ public class Main implements Callable<Integer> {
 
     public static final class TemplateSourceOptions {
         @Option(names = { "-t", "--template" }, description = "FreeMarker 
template to render")
-        public String template;
+        public List<String> templates;
 
         @Option(names = { "-i", "--interactive" }, description = "Interactive 
FreeMarker template")
         public String interactiveTemplate;
@@ -82,7 +82,7 @@ public class Main implements Callable<Integer> {
     @Option(names = { "-m", "--data-model" }, description = "Data model used 
for rendering")
     List<String> dataModels;
 
-    @Option(names = { "-o", "--output" }, description = "Output file")
+    @Option(names = { "-o", "--output" }, description = "Output file or 
directory")
     String outputFile;
 
     @Option(names = { "-P", "--param" }, description = "Set parameter")
@@ -94,10 +94,10 @@ public class Main implements Callable<Integer> {
     @Option(names = { "--config" }, defaultValue = 
FREEMARKER_CLI_PROPERTY_FILE, description = "FreeMarker CLI configuration file")
     String configFile;
 
-    @Option(names = { "--include" }, description = "File pattern for data 
source input directory")
+    @Option(names = { "--data-source-include" }, description = "File pattern 
for data source input directory")
     String include;
 
-    @Option(names = { "--exclude" }, description = "File pattern for data 
source input directory")
+    @Option(names = { "--data-source-exclude" }, description = "File pattern 
for data source input directory")
     String exclude;
 
     @Option(names = { "--output-encoding" }, description = "Encoding of 
output, e.g. UTF-8", defaultValue = "UTF-8")
@@ -118,7 +118,7 @@ public class Main implements Callable<Integer> {
     /** User-supplied writer (used mainly for unit testing) */
     Writer userSuppliedWriter;
 
-    /** Injected by Picolci */
+    /** Injected by Picocli */
     @Spec private CommandSpec spec;
 
     Main() {
@@ -190,14 +190,6 @@ public class Main implements Callable<Integer> {
                 }
             }
         }
-
-        // "-t" or "--template" parameter shall not contain wildcard characters
-        if (StringUtils.isNotEmpty(templateSourceOptions.template)) {
-            final String source = templateSourceOptions.template;
-            if (isFileSource(source) && (source.contains("*") || 
source.contains("?"))) {
-                throw new ParameterException(spec.commandLine(), "No wildcards 
supported for template: " + source);
-            }
-        }
     }
 
     private Settings settings(Properties configuration, List<File> 
templateDirectories) {
@@ -207,31 +199,31 @@ public class Main implements Callable<Integer> {
                 .isReadFromStdin(readFromStdin)
                 .setArgs(args)
                 .setConfiguration(configuration)
-                .setInclude(include)
-                .setExclude(exclude)
+                .setDataSourceIncludePattern(include)
+                .setDataSourceExcludePattern(exclude)
                 .setInputEncoding(inputEncoding)
                 
.setInteractiveTemplate(templateSourceOptions.interactiveTemplate)
                 .setLocale(locale)
                 .setOutputEncoding(outputEncoding)
                 .setOutputFile(outputFile)
                 .setParameters(parameterModelSupplier.get())
-                .setDataSources(getCombindedDataSources())
+                .setDataSources(getCombinedDataSources())
                 .setDataModels(dataModels)
                 .setSystemProperties(systemProperties != null ? 
systemProperties : new Properties())
                 .setTemplateDirectories(templateDirectories)
-                .setTemplateName(templateSourceOptions.template)
+                .setTemplateNames(templateSourceOptions.templates)
                 .setWriter(writer(outputFile, outputEncoding))
                 .build();
     }
 
-    private Writer writer(String outputFile, String ouputEncoding) {
+    private Writer writer(String outputFile, String outputEncoding) {
         try {
             if (userSuppliedWriter != null) {
                 return userSuppliedWriter;
             } else if (!StringUtils.isEmpty(outputFile)) {
                 return new BufferedWriter(new FileWriter(outputFile));
             } else {
-                return new BufferedWriter(new OutputStreamWriter(System.out, 
ouputEncoding));
+                return new BufferedWriter(new OutputStreamWriter(System.out, 
outputEncoding));
             }
         } catch (IOException e) {
             throw new RuntimeException("Unable to create writer", e);
@@ -250,7 +242,7 @@ public class Main implements Callable<Integer> {
      *
      * @return List of data sources
      */
-    private List<String> getCombindedDataSources() {
+    private List<String> getCombinedDataSources() {
         return Stream.of(dataSources, sources)
                 .filter(Objects::nonNull)
                 .flatMap(Collection::stream)
diff --git 
a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/Settings.java
 
b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/Settings.java
index 3b53e71..29443f7 100644
--- 
a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/Settings.java
+++ 
b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/Settings.java
@@ -23,6 +23,7 @@ import 
org.apache.freemarker.generator.base.util.NonClosableWriterWrapper;
 import java.io.File;
 import java.io.Writer;
 import java.nio.charset.Charset;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -52,12 +53,18 @@ public class Settings {
     /** List of FreeMarker template directories to be passed to FreeMarker 
<code>TemplateLoader</code> */
     private final List<File> templateDirectories;
 
-    /** Name of the template to be loaded and rendered */
-    private final String templateName;
+    /** List of template to be loaded and rendered */
+    private final List<String> templates;
 
-    /** Template provided by the user interactivly */
+    /** Template provided by the user interactively */
     private final String interactiveTemplate;
 
+    /** Optional include pattern for recursive directly search of template 
files */
+    private final String templateFileIncludePattern;
+
+    /** Optional exclude pattern for recursive directly search of data source 
files */
+    private final String templateFileExcludePattern;
+
     /** Encoding of input files */
     private final Charset inputEncoding;
 
@@ -67,14 +74,14 @@ public class Settings {
     /** Enable verbose mode (currently not used) **/
     private final boolean verbose;
 
-    /** Optional output file if not written to stdout */
-    private final File outputFile;
+    /** Optional output file or directory if not written to stdout */
+    private final File output;
 
-    /** Optional include pattern for recursice directly search of source files 
*/
-    private final String include;
+    /** Optional include pattern for recursive directly search of data source 
files */
+    private final String dataSourceIncludePattern;
 
-    /** Optional exclude pattern for recursice directly search of source files 
*/
-    private final String exclude;
+    /** Optional exclude pattern for recursive directly search of data source 
files */
+    private final String dataSourceExcludePattern;
 
     /** The locale used for rendering the template */
     private final Locale locale;
@@ -92,7 +99,7 @@ public class Settings {
     private final Map<String, Object> parameters;
 
     /** User-supplied system properties */
-    private final Properties sytemProperties;
+    private final Properties systemProperties;
 
     /** The writer used for rendering templates, e.g. stdout or a file writer 
*/
     private final Writer writer;
@@ -101,41 +108,45 @@ public class Settings {
             Properties configuration,
             List<String> args,
             List<File> templateDirectories,
-            String template,
+            List<String> templates,
             String interactiveTemplate,
+            String templateFileIncludePattern,
+            String templateFileExcludePattern,
             Charset inputEncoding,
             Charset outputEncoding,
             boolean verbose,
-            File outputFile,
-            String include,
-            String exclude,
+            File output,
+            String dataSourceIncludePattern,
+            String dataSourceExcludePattern,
             Locale locale,
             boolean isReadFromStdin,
             List<String> dataSources,
             List<String> dataModels,
             Map<String, Object> parameters,
-            Properties sytemProperties,
+            Properties systemProperties,
             Writer writer) {
-        if (isEmpty(template) && isEmpty(interactiveTemplate)) {
+        if ((templates == null || templates.isEmpty()) && 
isEmpty(interactiveTemplate)) {
             throw new IllegalArgumentException("Either 'template' or 
'interactiveTemplate' must be provided");
         }
 
         this.args = requireNonNull(args);
         this.templateDirectories = requireNonNull(templateDirectories);
-        this.templateName = template;
+        this.templates = requireNonNull(templates);
         this.interactiveTemplate = interactiveTemplate;
+        this.templateFileIncludePattern = templateFileIncludePattern;
+        this.templateFileExcludePattern = templateFileExcludePattern;
         this.inputEncoding = inputEncoding;
         this.outputEncoding = outputEncoding;
         this.verbose = verbose;
-        this.outputFile = outputFile;
-        this.include = include;
-        this.exclude = exclude;
+        this.output = output;
+        this.dataSourceIncludePattern = dataSourceIncludePattern;
+        this.dataSourceExcludePattern = dataSourceExcludePattern;
         this.locale = requireNonNull(locale);
         this.isReadFromStdin = isReadFromStdin;
         this.dataSources = requireNonNull(dataSources);
         this.dataModels = requireNonNull(dataModels);
         this.parameters = requireNonNull(parameters);
-        this.sytemProperties = requireNonNull(sytemProperties);
+        this.systemProperties = requireNonNull(systemProperties);
         this.configuration = requireNonNull(configuration);
         this.writer = new NonClosableWriterWrapper(requireNonNull(writer));
     }
@@ -156,14 +167,26 @@ public class Settings {
         return templateDirectories;
     }
 
+    public List<String> getTemplates() {
+        return templates;
+    }
+
     public String getTemplateName() {
-        return templateName;
+        return templates.isEmpty() ? null : templates.get(0);
     }
 
     public String getInteractiveTemplate() {
         return interactiveTemplate;
     }
 
+    public String getTemplateFileIncludePattern() {
+        return templateFileIncludePattern;
+    }
+
+    public String getTemplateFileExcludePattern() {
+        return templateFileExcludePattern;
+    }
+
     public Charset getInputEncoding() {
         return inputEncoding;
     }
@@ -180,16 +203,16 @@ public class Settings {
         return verbose;
     }
 
-    public File getOutputFile() {
-        return outputFile;
+    public File getOutput() {
+        return output;
     }
 
-    public String getInclude() {
-        return include;
+    public String getDataSourceIncludePattern() {
+        return dataSourceIncludePattern;
     }
 
-    public String getExclude() {
-        return exclude;
+    public String getDataSourceExcludePattern() {
+        return dataSourceExcludePattern;
     }
 
     public Locale getLocale() {
@@ -212,12 +235,12 @@ public class Settings {
         return parameters;
     }
 
-    public Properties getSytemProperties() {
-        return sytemProperties;
+    public Properties getSystemProperties() {
+        return systemProperties;
     }
 
     public boolean hasOutputFile() {
-        return outputFile != null;
+        return output != null;
     }
 
     public Writer getWriter() {
@@ -236,7 +259,7 @@ public class Settings {
         result.put(Model.FREEMARKER_LOCALE, getLocale());
         result.put(Model.FREEMARKER_TEMPLATE_DIRECTORIES, 
getTemplateDirectories());
         result.put(Model.FREEMARKER_USER_PARAMETERS, getParameters());
-        result.put(Model.FREEMARKER_USER_SYSTEM_PROPERTIES, 
getSytemProperties());
+        result.put(Model.FREEMARKER_USER_SYSTEM_PROPERTIES, 
getSystemProperties());
         result.put(Model.FREEMARKER_WRITER, getWriter());
         return result;
     }
@@ -251,33 +274,37 @@ public class Settings {
                 "configuration=" + configuration +
                 ", args=" + args +
                 ", templateDirectories=" + templateDirectories +
-                ", templateName='" + templateName + '\'' +
+                ", templateName=s'" + templates + '\'' +
                 ", interactiveTemplate='" + interactiveTemplate + '\'' +
+                ", templateFileIncludePattern='" + templateFileIncludePattern 
+ '\'' +
+                ", templateFileExcludePattern='" + templateFileExcludePattern 
+ '\'' +
                 ", inputEncoding=" + inputEncoding +
                 ", outputEncoding=" + outputEncoding +
                 ", verbose=" + verbose +
-                ", outputFile=" + outputFile +
-                ", include='" + include + '\'' +
-                ", exclude='" + include + '\'' +
+                ", outputFile=" + output +
+                ", include='" + dataSourceIncludePattern + '\'' +
+                ", exclude='" + dataSourceExcludePattern + '\'' +
                 ", locale=" + locale +
                 ", isReadFromStdin=" + isReadFromStdin +
                 ", dataSources=" + dataSources +
                 ", properties=" + parameters +
-                ", sytemProperties=" + sytemProperties +
+                ", systemProperties=" + systemProperties +
                 '}';
     }
 
     public static class SettingsBuilder {
         private List<String> args;
         private List<File> templateDirectories;
-        private String templateName;
+        private List<String> templateNames;
         private String interactiveTemplate;
+        private String templateFileIncludePattern;
+        private String templateFileExcludePattern;
         private String inputEncoding;
         private String outputEncoding;
         private boolean verbose;
         private String outputFile;
-        private String include;
-        private String exclude;
+        private String dataSourceIncludePattern;
+        private String dataSourceExcludePattern;
         private String locale;
         private boolean isReadFromStdin;
         private List<String> dataSources;
@@ -295,6 +322,7 @@ public class Settings {
             this.systemProperties = new Properties();
             this.setInputEncoding(DEFAULT_CHARSET.name());
             this.setOutputEncoding(DEFAULT_CHARSET.name());
+            this.templateNames = new ArrayList<>();
             this.dataSources = emptyList();
             this.dataModels = emptyList();
             this.templateDirectories = emptyList();
@@ -315,8 +343,10 @@ public class Settings {
             return this;
         }
 
-        public SettingsBuilder setTemplateName(String templateName) {
-            this.templateName = templateName;
+        public SettingsBuilder setTemplateNames(List<String> templateNames) {
+            if (templateNames != null) {
+                this.templateNames = templateNames;
+            }
             return this;
         }
 
@@ -325,6 +355,16 @@ public class Settings {
             return this;
         }
 
+        public SettingsBuilder setTemplateFileIncludePattern(String 
templateFileIncludePattern) {
+            this.templateFileIncludePattern = templateFileIncludePattern;
+            return this;
+        }
+
+        public SettingsBuilder setTemplateFileExcludePattern(String 
templateFileExcludePattern) {
+            this.templateFileExcludePattern = templateFileExcludePattern;
+            return this;
+        }
+
         public SettingsBuilder setInputEncoding(String inputEncoding) {
             if (inputEncoding != null) {
                 this.inputEncoding = inputEncoding;
@@ -349,13 +389,13 @@ public class Settings {
             return this;
         }
 
-        public SettingsBuilder setInclude(String include) {
-            this.include = include;
+        public SettingsBuilder setDataSourceIncludePattern(String 
dataSourceIncludePattern) {
+            this.dataSourceIncludePattern = dataSourceIncludePattern;
             return this;
         }
 
-        public SettingsBuilder setExclude(String exclude) {
-            this.exclude = exclude;
+        public SettingsBuilder setDataSourceExcludePattern(String 
dataSourceExcludePattern) {
+            this.dataSourceExcludePattern = dataSourceExcludePattern;
             return this;
         }
 
@@ -419,14 +459,16 @@ public class Settings {
                     configuration,
                     args,
                     templateDirectories,
-                    templateName,
+                    templateNames,
                     interactiveTemplate,
+                    templateFileIncludePattern,
+                    templateFileExcludePattern,
                     inputEncoding,
                     outputEncoding,
                     verbose,
                     currOutputFile,
-                    include,
-                    exclude,
+                    dataSourceIncludePattern,
+                    dataSourceExcludePattern,
                     LocaleUtils.parseLocale(currLocale),
                     isReadFromStdin,
                     dataSources,
diff --git 
a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/Suppliers.java
 
b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/Suppliers.java
index 6a57e59..ac7fb9f 100644
--- 
a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/Suppliers.java
+++ 
b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/Suppliers.java
@@ -52,8 +52,8 @@ public class Suppliers {
 
     public static DataSourcesSupplier dataSourcesSupplier(Settings settings) {
         return new DataSourcesSupplier(settings.getDataSources(),
-                settings.getInclude(),
-                settings.getExclude(),
+                settings.getDataSourceIncludePattern(),
+                settings.getDataSourceExcludePattern(),
                 settings.getInputEncoding());
     }
 
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 57f2844..800e8be 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
@@ -101,7 +101,7 @@ public class PicocliTest {
     public void shouldParseSingleTemplate() {
         final Main main = parse("-t", ANY_TEMPLATE);
 
-        assertEquals(ANY_TEMPLATE, main.templateSourceOptions.template);
+        assertEquals(ANY_TEMPLATE, 
main.templateSourceOptions.templates.get(0));
     }
 
     @Test
diff --git 
a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/ConfigurationSupplierTest.java
 
b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/ConfigurationSupplierTest.java
index ad24631..baae451 100644
--- 
a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/ConfigurationSupplierTest.java
+++ 
b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/ConfigurationSupplierTest.java
@@ -59,6 +59,8 @@ public class ConfigurationSupplierTest {
     }
 
     private SettingsBuilder settingsBuilder() {
-        return 
Settings.builder().setTemplateName(ANY_TEMPLATE_NAME).setWriter(new 
StringWriter());
+        return Settings.builder()
+                .setTemplateNames(singletonList(ANY_TEMPLATE_NAME))
+                .setWriter(new StringWriter());
     }
 }
diff --git 
a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/SettingsTest.java
 
b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/SettingsTest.java
index 16032e4..4c03542 100644
--- 
a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/SettingsTest.java
+++ 
b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/SettingsTest.java
@@ -51,14 +51,14 @@ public class SettingsTest {
 
         assertEquals(1, settings.getArgs().size());
         assertNotNull(settings.getConfiguration());
-        assertEquals(ANY_INCLUDE, settings.getInclude());
+        assertEquals(ANY_INCLUDE, settings.getDataSourceIncludePattern());
         assertEquals(ANY_INPUT_ENCODING, settings.getInputEncoding().name());
         assertEquals(ANY_OUTPUT_ENCODING, settings.getOutputEncoding().name());
-        assertEquals(ANY_OUTPUT_FILE, settings.getOutputFile().getName());
+        assertEquals(ANY_OUTPUT_FILE, settings.getOutput().getName());
         assertEquals(ANY_TEMPLATE_NAME, settings.getTemplateName());
         assertNotNull(settings.getDataSources());
         assertNotNull(settings.getParameters());
-        assertNotNull(settings.getSytemProperties());
+        assertNotNull(settings.getSystemProperties());
         assertTrue(settings.isReadFromStdin());
         assertTrue(settings.isInteractiveTemplate());
         assertTrue(settings.isVerbose());
@@ -69,7 +69,7 @@ public class SettingsTest {
                 .isReadFromStdin(true)
                 .setArgs(ANY_ARGS)
                 .setConfiguration(ANY_CONFIGURATION)
-                .setInclude(ANY_INCLUDE)
+                .setDataSourceIncludePattern(ANY_INCLUDE)
                 .setInputEncoding(ANY_INPUT_ENCODING)
                 .setInteractiveTemplate(ANY_INTERACTIVE_TEMPLATE)
                 .setLocale(ANY_LOCALE)
@@ -78,7 +78,7 @@ public class SettingsTest {
                 .setParameters(ANY_USER_PARAMETERS)
                 .setDataSources(ANY_SOURCES)
                 .setSystemProperties(ANY_SYSTEM_PROPERTIES)
-                .setTemplateName(ANY_TEMPLATE_NAME)
+                .setTemplateNames(singletonList(ANY_TEMPLATE_NAME))
                 .setWriter(new StringWriter())
                 .setVerbose(true);
     }

Reply via email to