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 2021/09/08 16:54:27 UTC
[freemarker-generator] branch FREEMARKER-188 updated (ef26ea0 ->
fac87b9)
This is an automated email from the ASF dual-hosted git repository.
sgoeschl pushed a change to branch FREEMARKER-188
in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git.
from ef26ea0 FREEMARKER-188 First cut of implementation is working
new ff7ca34 FREEMARKER-188 Improve "freemarker-generator/info.ftl"
new fac87b9 FREEMARKER-188 First cut of implementation is working
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../generator/base/datasource/DataSource.java | 2 +-
.../base/datasource/DataSourcesSupplier.java | 13 ++++---
.../generator/base/output/OutputGenerator.java | 16 ++++++++-
.../freemarker/generator/base/util/FileUtils.java | 4 +--
.../generator/datasource/DataSourceTest.java | 9 +++--
.../freemarker/generator/util/FileUtilsTest.java | 1 +
.../templates/freemarker-generator/datasources.ftl | 40 ----------------------
.../app/templates/freemarker-generator/info.ftl | 38 +++++++++++++++-----
.../config/output/AggregatingOutputGenerator.java | 4 ++-
.../config/output/GeneratingOutputGenerator.java | 9 +++--
.../generator/cli/task/FreeMarkerTask.java | 12 ++++---
.../freemarker/generator/cli/ExamplesTest.java | 1 -
12 files changed, 75 insertions(+), 74 deletions(-)
delete mode 100644 freemarker-generator-cli/src/app/templates/freemarker-generator/datasources.ftl
[freemarker-generator] 02/02: FREEMARKER-188 First cut of
implementation is working
Posted by sg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sgoeschl pushed a commit to branch FREEMARKER-188
in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git
commit fac87b9bda44b3c83f17d41d095547f284e3b485
Author: Siegfried Goeschl <si...@gmail.com>
AuthorDate: Wed Sep 8 17:09:28 2021 +0200
FREEMARKER-188 First cut of implementation is working
---
.../generator/base/datasource/DataSource.java | 2 +-
.../base/datasource/DataSourcesSupplier.java | 13 ++--
.../generator/base/output/OutputGenerator.java | 16 ++++-
.../freemarker/generator/base/util/FileUtils.java | 4 +-
.../generator/datasource/DataSourceTest.java | 9 ++-
.../freemarker/generator/util/FileUtilsTest.java | 1 +
.../app/templates/freemarker-generator/info.ftl | 84 +++++++++++-----------
.../config/output/AggregatingOutputGenerator.java | 4 +-
.../config/output/GeneratingOutputGenerator.java | 9 ++-
.../generator/cli/task/FreeMarkerTask.java | 12 ++--
10 files changed, 88 insertions(+), 66 deletions(-)
diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSource.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSource.java
index 6383258..61c014c 100644
--- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSource.java
+++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSource.java
@@ -133,7 +133,7 @@ public class DataSource implements Closeable, javax.activation.DataSource {
this.group = StringUtils.emptyToNull(group);
this.uri = requireNonNull(uri);
this.dataSource = requireNonNull(dataSource);
- this.relativeFilePath = relativeFilePath != null ? relativeFilePath : ".";
+ this.relativeFilePath = relativeFilePath != null ? relativeFilePath : "";
this.contentType = contentType;
this.charset = charset;
this.properties = properties != null ? new HashMap<>(properties) : new HashMap<>();
diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSourcesSupplier.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSourcesSupplier.java
index dbf94e2..8fc2e01 100644
--- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSourcesSupplier.java
+++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSourcesSupplier.java
@@ -112,13 +112,13 @@ public class DataSourcesSupplier implements Supplier<List<DataSource>> {
}
private static List<DataSource> resolveFileOrDirectory(String source, String include, String exclude, Charset charset) {
- final NamedUri namedUri = NamedUriStringParser.parse(source);
- final String path = namedUri.getFile().getPath();
- final String group = namedUri.getGroupOrDefault(DEFAULT_GROUP);
- final Charset currCharset = getCharsetOrDefault(namedUri, charset);
- final Map<String, String> parameters = namedUri.getParameters();
+ final NamedUri sourceUri = NamedUriStringParser.parse(source);
+ final String path = sourceUri.getFile().getPath();
+ final String group = sourceUri.getGroupOrDefault(DEFAULT_GROUP);
+ final Charset currCharset = getCharsetOrDefault(sourceUri, charset);
+ final Map<String, String> parameters = sourceUri.getParameters();
return fileSupplier(path, include, exclude).get().stream()
- .map(file -> fromFile(namedUri, getDataSourceName(namedUri, file), group, file, currCharset, parameters))
+ .map(file -> fromFile(sourceUri, getDataSourceName(sourceUri, file), group, file, currCharset, parameters))
.collect(toList());
}
@@ -149,7 +149,6 @@ public class DataSourcesSupplier implements Supplier<List<DataSource>> {
.build();
}
-
private static RecursiveFileSupplier fileSupplier(String source, String include, String exclude) {
return new RecursiveFileSupplier(singletonList(source), singletonList(include), singletonList(exclude));
}
diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/output/OutputGenerator.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/output/OutputGenerator.java
index c701151..f2c4e6f 100644
--- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/output/OutputGenerator.java
+++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/output/OutputGenerator.java
@@ -31,6 +31,11 @@ import static java.util.Objects.requireNonNull;
*/
public class OutputGenerator {
+ public enum SeedType {
+ DATASOURCE,
+ TEMPLATE
+ }
+
/** Source of template */
private final TemplateSource templateSource;
@@ -43,15 +48,19 @@ public class OutputGenerator {
/** Variables (as a map) used for the transformation */
private final Map<String, Object> variables;
+ private final SeedType seedType;
+
public OutputGenerator(
TemplateSource templateSource,
TemplateOutput templateOutput,
List<DataSource> dataSources,
- Map<String, Object> variables) {
+ Map<String, Object> variables,
+ SeedType seedType) {
this.templateSource = requireNonNull(templateSource);
this.templateOutput = requireNonNull(templateOutput);
this.dataSources = requireNonNull(dataSources);
this.variables = requireNonNull(variables);
+ this.seedType = requireNonNull(seedType);
}
public TemplateSource getTemplateSource() {
@@ -70,6 +79,10 @@ public class OutputGenerator {
return variables;
}
+ public SeedType getSeedType() {
+ return seedType;
+ }
+
@Override
public String toString() {
return "OutputGenerator{" +
@@ -77,6 +90,7 @@ public class OutputGenerator {
", templateOutput=" + templateOutput +
", dataSources=" + dataSources +
", variables=" + variables +
+ ", seedType=" + seedType +
'}';
}
}
diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/FileUtils.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/FileUtils.java
index 8371454..b6a99bb 100644
--- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/FileUtils.java
+++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/FileUtils.java
@@ -23,8 +23,8 @@ public class FileUtils {
final String relativePath = directoryPath.relativize(filePath).normalize().toString();
// strip last path segment
- if (relativePath.lastIndexOf('/') >= 0) {
- return relativePath.substring(0, relativePath.lastIndexOf("/"));
+ if (relativePath.lastIndexOf(File.separatorChar) >= 0) {
+ return relativePath.substring(0, relativePath.lastIndexOf(File.separatorChar));
} else {
return "";
}
diff --git a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceTest.java
index 38617ba..d906e48 100644
--- a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceTest.java
+++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceTest.java
@@ -36,7 +36,6 @@ import static org.apache.freemarker.generator.base.datasource.DataSourceFactory.
import static org.apache.freemarker.generator.base.mime.Mimetypes.MIME_TEXT_HTML;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
public class DataSourceTest {
@@ -55,7 +54,7 @@ public class DataSourceTest {
assertEquals("", dataSource.getBaseName());
assertEquals("", dataSource.getExtension());
assertTrue(dataSource.getUri().toString().startsWith("string:///"));
- assertEquals(".", dataSource.getRelativeFilePath());
+ assertEquals("", dataSource.getRelativeFilePath());
assertEquals(UTF_8, dataSource.getCharset());
assertEquals("text/plain", dataSource.getContentType());
assertTrue(dataSource.getLength() > 0);
@@ -74,7 +73,7 @@ public class DataSourceTest {
assertEquals("xml", dataSource.getExtension());
assertEquals(ANY_FILE.toURI().toString(), dataSource.getUri().toString());
assertEquals(ANY_CHAR_SET.name(), dataSource.getCharset().name());
- assertEquals(".", dataSource.getRelativeFilePath());
+ assertEquals("", dataSource.getRelativeFilePath());
assertEquals("application/xml", dataSource.getContentType());
assertTrue(dataSource.getLength() > 0);
assertFalse(dataSource.getText().isEmpty());
@@ -94,7 +93,7 @@ public class DataSourceTest {
assertEquals("", dataSource.getBaseName());
assertEquals("", dataSource.getExtension());
assertEquals("https://www.google.com/?foo=bar", dataSource.getUri().toString());
- assertNull(dataSource.getRelativeFilePath());
+ assertEquals("", dataSource.getRelativeFilePath());
assertEquals("text/html; charset=ISO-8859-1", dataSource.getContentType());
assertEquals(MIME_TEXT_HTML, dataSource.getMimeType());
assertEquals("ISO-8859-1", dataSource.getCharset().name());
@@ -137,7 +136,7 @@ public class DataSourceTest {
assertEquals("", metadata.get("extension"));
assertEquals("", metadata.get("fileName"));
assertEquals("/", metadata.get("filePath"));
- assertEquals(".", metadata.get("relativeFilePath"));
+ assertEquals("", metadata.get("relativeFilePath"));
assertEquals("default", metadata.get("group"));
assertEquals("stdin", metadata.get("name"));
diff --git a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/util/FileUtilsTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/util/FileUtilsTest.java
index f572c3b..8b3a509 100644
--- a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/util/FileUtilsTest.java
+++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/util/FileUtilsTest.java
@@ -11,6 +11,7 @@ public class FileUtilsTest {
@Test
public void shouldGetRelativePathForSameDirectory() {
+ assertEquals("", FileUtils.getRelativePath(new File("/"), new File("/pom.xml")));
assertEquals("", FileUtils.getRelativePath(new File("."), new File("pom.xml")));
assertEquals("", FileUtils.getRelativePath(new File("."), new File("./pom.xml")));
assertEquals("", FileUtils.getRelativePath(new File("."), new File("./pom.xml")));
diff --git a/freemarker-generator-cli/src/app/templates/freemarker-generator/info.ftl b/freemarker-generator-cli/src/app/templates/freemarker-generator/info.ftl
index 388bd85..8208074 100644
--- a/freemarker-generator-cli/src/app/templates/freemarker-generator/info.ftl
+++ b/freemarker-generator-cli/src/app/templates/freemarker-generator/info.ftl
@@ -1,19 +1,19 @@
<#ftl output_format="plainText" strip_whitespace=true>
<#--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
FreeMarker Generator Information
==============================================================================
@@ -30,65 +30,65 @@ FreeMarker Command-line Parameters
==============================================================================
<#list tools.system.getCommandLineArgs() as arg>
- [#${arg?counter}] ${arg}
+[#${arg?counter}] ${arg}
</#list>
FreeMarker Generator Template Loader Directories
==============================================================================
<#list tools.system.getTemplateDirectories() as directory>
- [#${directory?counter}] ${directory}
+[#${directory?counter}] ${directory}
</#list>
FreeMarker Generator Data Model
==============================================================================
<#list .data_model?keys?sort as key>
- - ${key}<#lt>
+- ${key}<#lt>
</#list>
FreeMarker Generator Data Sources
==============================================================================
<#if dataSources?has_content>
- <#list dataSources?values as ds>
+<#list dataSources?values as ds>
- DataSource #${ds?counter}
- ------------------------------------------------------------------------------
- name=${ds.name}
- group=${ds.group}
- contentType=${ds.contentType}
- fileName=${ds.fileName}
- baseName=${ds.baseName}
- extension=${ds.extension}
- relativeFilePath=${ds.relativeFilePath}
- charset=${ds.charset}
- mimeType=${ds.mimeType}
- uri=${ds.uri}
- length=${ds.length} Bytes
- </#list>
+DataSource #${ds?counter}
+------------------------------------------------------------------------------
+name=${ds.name}
+group=${ds.group}
+contentType=${ds.contentType}
+fileName=${ds.fileName}
+baseName=${ds.baseName}
+extension=${ds.extension}
+relativeFilePath=${ds.relativeFilePath}
+charset=${ds.charset}
+mimeType=${ds.mimeType}
+uri=${ds.uri}
+length=${ds.length} Bytes
+</#list>
<#else>
- No data sources found ...
+No data sources found ...
</#if>
FreeMarker Generator Parameters
==============================================================================
<#if tools.system.parameters?has_content>
- <#list tools.system.parameters as key,value>
- <#if value?is_hash>
- - ${key} ==> { <#list value as name,value>${name}=${value} </#list>}
- <#else>
- - ${key} ==> ${value}
- </#if>
- </#list>
+<#list tools.system.parameters as key,value>
+<#if value?is_hash>
+- ${key} ==> { <#list value as name,value>${name}=${value} </#list>}
+<#else>
+- ${key} ==> ${value}
+</#if>
+</#list>
<#else>
- No parameters found ...
+No parameters found ...
</#if>
FreeMarker Generator Tools
==============================================================================
<#list tools?keys?sort as name>
- - ${name?right_pad(20)} : ${tools[name]}
+- ${name?right_pad(20)} : ${tools[name]}
</#list>
diff --git a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/output/AggregatingOutputGenerator.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/output/AggregatingOutputGenerator.java
index 8959585..56fe9ea 100644
--- a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/output/AggregatingOutputGenerator.java
+++ b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/output/AggregatingOutputGenerator.java
@@ -21,6 +21,7 @@ import org.apache.freemarker.generator.base.datasource.DataSource;
import org.apache.freemarker.generator.base.datasource.DataSourceFactory;
import org.apache.freemarker.generator.base.datasource.DataSourcesSupplier;
import org.apache.freemarker.generator.base.output.OutputGenerator;
+import org.apache.freemarker.generator.base.output.OutputGenerator.SeedType;
import org.apache.freemarker.generator.base.template.TemplateTransformation;
import org.apache.freemarker.generator.base.template.TemplateTransformationsBuilder;
import org.apache.freemarker.generator.base.util.UriUtils;
@@ -95,7 +96,8 @@ public class AggregatingOutputGenerator implements Function<OutputGeneratorDefin
templateTransformation.getTemplateSource(),
templateTransformation.getTemplateOutput(),
dataSources(settings, definition),
- dataModels(definition)
+ dataModels(definition),
+ SeedType.TEMPLATE
);
result.add(outputGenerator);
}
diff --git a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/output/GeneratingOutputGenerator.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/output/GeneratingOutputGenerator.java
index c90fd64..4f6eaf8 100644
--- a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/output/GeneratingOutputGenerator.java
+++ b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/output/GeneratingOutputGenerator.java
@@ -18,6 +18,7 @@ package org.apache.freemarker.generator.cli.config.output;
import org.apache.freemarker.generator.base.datasource.DataSource;
import org.apache.freemarker.generator.base.output.OutputGenerator;
+import org.apache.freemarker.generator.base.output.OutputGenerator.SeedType;
import org.apache.freemarker.generator.base.template.TemplateOutput;
import org.apache.freemarker.generator.base.template.TemplateSource;
import org.apache.freemarker.generator.base.util.ListUtils;
@@ -33,11 +34,12 @@ import org.apache.freemarker.generator.cli.util.TemplateSourceFactory;
import java.io.File;
import java.nio.charset.Charset;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
+import static java.util.Collections.singletonList;
+
public class GeneratingOutputGenerator
extends AbstractOutputGenerator
implements Function<OutputGeneratorDefinition, List<OutputGenerator>> {
@@ -66,8 +68,9 @@ public class GeneratingOutputGenerator
final OutputGenerator outputGenerator = new OutputGenerator(
templateSource,
templateOutput,
- Collections.singletonList(dataSource),
- dataModels
+ singletonList(dataSource),
+ dataModels,
+ SeedType.DATASOURCE
);
result.add(outputGenerator);
}
diff --git a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/task/FreeMarkerTask.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/task/FreeMarkerTask.java
index ab04339..3e178bc 100644
--- a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/task/FreeMarkerTask.java
+++ b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/task/FreeMarkerTask.java
@@ -23,9 +23,11 @@ import org.apache.commons.io.FileUtils;
import org.apache.freemarker.generator.base.datasource.DataSource;
import org.apache.freemarker.generator.base.datasource.DataSources;
import org.apache.freemarker.generator.base.output.OutputGenerator;
+import org.apache.freemarker.generator.base.output.OutputGenerator.SeedType;
import org.apache.freemarker.generator.base.template.TemplateOutput;
import org.apache.freemarker.generator.base.template.TemplateSource;
import org.apache.freemarker.generator.base.util.ListUtils;
+import org.apache.freemarker.generator.base.util.Validate;
import java.io.BufferedWriter;
import java.io.File;
@@ -106,11 +108,13 @@ public class FreeMarkerTask implements Callable<Integer> {
}
private static DataSources toDataSources(OutputGenerator outputGenerator, List<DataSource> sharedDataSources) {
- // TODO FREEMARKER-188 06.09.2021 sgoeschl - make this more explicit
- if (outputGenerator.getDataSources().isEmpty()) {
- return new DataSources(ListUtils.concatenate(outputGenerator.getDataSources(), sharedDataSources));
+ final List<DataSource> dataSources = outputGenerator.getDataSources();
+ if (outputGenerator.getSeedType() == SeedType.TEMPLATE) {
+ return new DataSources(ListUtils.concatenate(dataSources, sharedDataSources));
} else {
- return new DataSources(outputGenerator.getDataSources());
+ // Since every data source shall generate an output there can be only 1 datasource supplied
+ Validate.isTrue(dataSources.size() == 1, "One data source expected for generation driven by data sources");
+ return new DataSources(dataSources);
}
}
[freemarker-generator] 01/02: FREEMARKER-188 Improve
"freemarker-generator/info.ftl"
Posted by sg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sgoeschl pushed a commit to branch FREEMARKER-188
in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git
commit ff7ca34e58169d7439daee51427914b487b9db4a
Author: Siegfried Goeschl <si...@gmail.com>
AuthorDate: Tue Sep 7 23:08:35 2021 +0200
FREEMARKER-188 Improve "freemarker-generator/info.ftl"
---
.../templates/freemarker-generator/datasources.ftl | 40 ---------
.../app/templates/freemarker-generator/info.ftl | 96 +++++++++++++---------
.../freemarker/generator/cli/ExamplesTest.java | 1 -
3 files changed, 58 insertions(+), 79 deletions(-)
diff --git a/freemarker-generator-cli/src/app/templates/freemarker-generator/datasources.ftl b/freemarker-generator-cli/src/app/templates/freemarker-generator/datasources.ftl
deleted file mode 100644
index 17dc43c..0000000
--- a/freemarker-generator-cli/src/app/templates/freemarker-generator/datasources.ftl
+++ /dev/null
@@ -1,40 +0,0 @@
-<#ftl output_format="plainText" strip_whitespace=true>
-<#--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-FreeMarker Generator DataSources
-==============================================================================
-
-<#if dataSources?has_content>
-<#list dataSources?values as ds>
-DataSource #${ds?counter}
-------------------------------------------------------------------------------
-name=${ds.name}
-group=${ds.group}
-contentType=${ds.contentType}
-fileName=${ds.fileName}
-baseName=${ds.baseName}
-extension=${ds.extension}
-relativeFilePath=${ds.relativeFilePath}
-charset=${ds.charset}
-mimeType=${ds.mimeType}
-uri=charset=${ds.uri}
-length=${ds.length} Bytes
-
-</#list>
-<#else>
-No data sources found ...
-</#if>
diff --git a/freemarker-generator-cli/src/app/templates/freemarker-generator/info.ftl b/freemarker-generator-cli/src/app/templates/freemarker-generator/info.ftl
index 487f650..388bd85 100644
--- a/freemarker-generator-cli/src/app/templates/freemarker-generator/info.ftl
+++ b/freemarker-generator-cli/src/app/templates/freemarker-generator/info.ftl
@@ -1,22 +1,23 @@
<#ftl output_format="plainText" strip_whitespace=true>
<#--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
-->
FreeMarker Generator Information
-------------------------------------------------------------------------------
+==============================================================================
+
FreeMarker version : ${.version}
Template name : ${.current_template_name}
Language : ${.lang}
@@ -26,49 +27,68 @@ Output encoding : ${.output_encoding}
Output format : ${.output_format}
FreeMarker Command-line Parameters
-------------------------------------------------------------------------------
+==============================================================================
+
<#list tools.system.getCommandLineArgs() as arg>
-[#${arg?counter}] ${arg}
+ [#${arg?counter}] ${arg}
</#list>
FreeMarker Generator Template Loader Directories
-------------------------------------------------------------------------------
+==============================================================================
+
<#list tools.system.getTemplateDirectories() as directory>
-[#${directory?counter}] ${directory}
+ [#${directory?counter}] ${directory}
</#list>
FreeMarker Generator Data Model
----------------------------------------------------------------------------
+==============================================================================
+
<#list .data_model?keys?sort as key>
-- ${key}<#lt>
+ - ${key}<#lt>
</#list>
-FreeMarker Generator DataSources
-------------------------------------------------------------------------------
+FreeMarker Generator Data Sources
+==============================================================================
<#if dataSources?has_content>
-<#list dataSources?values as ds>
-[#${ds?counter}]: name=${ds.name}, group=${ds.group}, fileName=${ds.fileName}, mimeType=${ds.mimeType}, charset=${ds.charset}, length=${ds.length} Bytes
-</#list>
+ <#list dataSources?values as ds>
+
+ DataSource #${ds?counter}
+ ------------------------------------------------------------------------------
+ name=${ds.name}
+ group=${ds.group}
+ contentType=${ds.contentType}
+ fileName=${ds.fileName}
+ baseName=${ds.baseName}
+ extension=${ds.extension}
+ relativeFilePath=${ds.relativeFilePath}
+ charset=${ds.charset}
+ mimeType=${ds.mimeType}
+ uri=${ds.uri}
+ length=${ds.length} Bytes
+ </#list>
<#else>
-No data sources found ...
+
+ No data sources found ...
</#if>
FreeMarker Generator Parameters
-------------------------------------------------------------------------------
+==============================================================================
+
<#if tools.system.parameters?has_content>
-<#list tools.system.parameters as key,value>
-<#if value?is_hash>
-- ${key} ==> { <#list value as name,value>${name}=${value} </#list>}
-<#else>
-- ${key} ==> ${value}
-</#if>
-</#list>
+ <#list tools.system.parameters as key,value>
+ <#if value?is_hash>
+ - ${key} ==> { <#list value as name,value>${name}=${value} </#list>}
+ <#else>
+ - ${key} ==> ${value}
+ </#if>
+ </#list>
<#else>
-No parameters found ...
+ No parameters found ...
</#if>
FreeMarker Generator Tools
-------------------------------------------------------------------------------
+==============================================================================
+
<#list tools?keys?sort as name>
-- ${name?right_pad(20)} : ${tools[name]}
+ - ${name?right_pad(20)} : ${tools[name]}
</#list>
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 d14b57a..49e536f 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
@@ -49,7 +49,6 @@ public class ExamplesTest extends AbstractMainTest {
@Test
public void shouldRunDataSourceExamples() throws IOException {
- assertValid(execute("-t freemarker-generator/datasources.ftl ."));
assertValid(execute("-t src/app/examples/templates/datasources.ftl -s :csv=src/app/examples/data/csv"));
}