This is an automated email from the ASF dual-hosted git repository. sgoeschl pushed a commit to branch FREEMARKER-135 in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git
commit 57dc39c4d7edfcf9c214292ee59117117e8e9195 Author: Siegfried Goeschl <[email protected]> AuthorDate: Sat Feb 29 00:13:00 2020 +0100 FREEMARKER-135 Support user-supplied names for datasources --- .../freemarker/generator/base/datasource/Datasource.java | 11 +++++++++++ freemarker-generator-cli/templates/info.ftl | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) 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 5de9cae..c3c45b8 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 @@ -59,6 +59,9 @@ public class Datasource implements Closeable { /** Collect all closables handed out to the caller to be closed when the datasource is closed itself */ private final CloseableReaper closables; + /** Cached content type - UrlDataSource actually opens a connection so we should cache the result */ + private String contentType = null; + public Datasource(String name, DataSource dataSource, String location, Charset charset) { this.name = requireNonNull(name); this.dataSource = requireNonNull(dataSource); @@ -83,6 +86,14 @@ public class Datasource implements Closeable { return charset; } + public synchronized String getContentType() { + if (contentType == null) { + contentType = dataSource.getContentType(); + } + + return contentType; + } + public String getLocation() { return location; } diff --git a/freemarker-generator-cli/templates/info.ftl b/freemarker-generator-cli/templates/info.ftl index 154416e..2000d4e 100644 --- a/freemarker-generator-cli/templates/info.ftl +++ b/freemarker-generator-cli/templates/info.ftl @@ -42,7 +42,7 @@ FreeMarker CLI Tools FreeMarker CLI Datasources --------------------------------------------------------------------------- <#list Datasources.list as datasource> -[${datasource?counter}] ${datasource.name}, ${datasource.location}, ${datasource.charset}, ${datasource.length} Bytes +[${datasource?counter}] ${datasource.name}, ${datasource.location}, ${datasource.charset}, ${datasource.contentType}, ${datasource.length} Bytes </#list> User Supplied Parameters
