This is an automated email from the ASF dual-hosted git repository. sgoeschl pushed a commit to branch FREEMARKER-173 in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git
commit 31ebbe54afd9e2c21b20a54800eccc3034f67c97 Author: Siegfried Goeschl <[email protected]> AuthorDate: Mon Feb 8 23:32:14 2021 +0100 FREEMARKER-173 [freemarker-generator] Fix commits to FREEMARKER-172 --- .../generator/base/datasource/DataSourcesSupplier.java | 8 ++++---- .../datasource/loader/EnvironmentDataSourceLoader.java | 4 ++-- .../base/datasource/loader/FileDataSourceLoader.java | 17 +++-------------- .../base/datasource/loader/HttpDataSourceLoader.java | 4 ++-- .../apache/freemarker/generator/base/uri/NamedUri.java | 12 ++++++------ freemarker-generator-cli/CHANGELOG.md | 2 ++ 6 files changed, 19 insertions(+), 28 deletions(-) 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 2136735..cc919fc 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,8 +112,8 @@ 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.getGroupOrElse(DEFAULT_GROUP); - final Charset currCharset = getCharsetOrElse(namedUri, charset); + final String group = namedUri.getGroupOrDefault(DEFAULT_GROUP); + final Charset currCharset = getCharsetOrDefault(namedUri, charset); final Map<String, String> parameters = namedUri.getParameters(); return fileSupplier(path, include, exclude).get().stream() .map(file -> fromFile(getDataSourceName(namedUri, file), group, file, currCharset, parameters)) @@ -124,8 +124,8 @@ public class DataSourcesSupplier implements Supplier<List<DataSource>> { return new RecursiveFileSupplier(singletonList(source), singletonList(include), singletonList(exclude)); } - private static Charset getCharsetOrElse(NamedUri namedUri, Charset def) { - return namedUri.getCharsetOrElse(def); + private static Charset getCharsetOrDefault(NamedUri namedUri, Charset def) { + return namedUri.getCharsetOrDefault(def); } private static boolean isHttpUri(String value) { diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/EnvironmentDataSourceLoader.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/EnvironmentDataSourceLoader.java index 775b7cc..8d194ff 100644 --- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/EnvironmentDataSourceLoader.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/EnvironmentDataSourceLoader.java @@ -45,9 +45,9 @@ public class EnvironmentDataSourceLoader implements DataSourceLoader { public DataSource load(String source) { final NamedUri namedUri = NamedUriStringParser.parse(source); final String key = stripRootDir(namedUri.getUri().getPath()); - final String contentType = namedUri.getMimeTypeOrElse(Mimetypes.MIME_TEXT_PLAIN); + final String contentType = namedUri.getMimeTypeOrDefault(Mimetypes.MIME_TEXT_PLAIN); final String name = firstNonEmpty(namedUri.getName(), key, Location.ENVIRONMENT); - final String group = namedUri.getGroupOrElse(DEFAULT_GROUP); + final String group = namedUri.getGroupOrDefault(DEFAULT_GROUP); if (StringUtils.isEmpty(key)) { return DataSourceFactory.fromEnvironment(name, group, contentType); } else { diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/FileDataSourceLoader.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/FileDataSourceLoader.java index 1a0aec5..2d890f3 100644 --- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/FileDataSourceLoader.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/FileDataSourceLoader.java @@ -41,22 +41,11 @@ public class FileDataSourceLoader implements DataSourceLoader { @Override public DataSource load(String source) { final NamedUri namedUri = NamedUriStringParser.parse(source); - final String group = namedUri.getGroupOrElse(FreeMarkerConstants.DEFAULT_GROUP); - final Charset charset = namedUri.getCharsetOrElse(UTF_8); + final String group = namedUri.getGroupOrDefault(FreeMarkerConstants.DEFAULT_GROUP); + final Charset charset = namedUri.getCharsetOrDefault(UTF_8); final File file = namedUri.getFile(); - final String name = namedUri.getNameOrElse(file.getName()); + final String name = namedUri.getNameOrDefault(file.getName()); final Map<String, String> parameters = namedUri.getParameters(); return DataSourceFactory.fromFile(name, group, file, charset, parameters); } - - @Override - public DataSource load(String source, Charset charset) { - final NamedUri namedUri = NamedUriStringParser.parse(source); - final String group = namedUri.getGroupOrElse(FreeMarkerConstants.DEFAULT_GROUP); - final File file = namedUri.getFile(); - final String name = namedUri.getNameOrElse(UriUtils.toStringWithoutFragment(file.toURI())); - final Map<String, String> parameters = namedUri.getParameters(); - return DataSourceFactory.fromFile(name, group, file, charset, parameters); - } - } diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/HttpDataSourceLoader.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/HttpDataSourceLoader.java index 48442f9..aa3d8ad 100644 --- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/HttpDataSourceLoader.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/loader/HttpDataSourceLoader.java @@ -43,11 +43,11 @@ public class HttpDataSourceLoader implements DataSourceLoader { public DataSource load(String source) { final NamedUri namedUri = NamedUriStringParser.parse(source); final URI uri = namedUri.getUri(); - final String group = namedUri.getGroupOrElse(DEFAULT_GROUP); + final String group = namedUri.getGroupOrDefault(DEFAULT_GROUP); final Charset charset = namedUri.getCharset(); final String mimeType = namedUri.getMimeType(); final URL url = toUrl(uri); - final String name = namedUri.getNameOrElse(UriUtils.toStringWithoutFragment(uri)); + final String name = namedUri.getNameOrDefault(UriUtils.toStringWithoutFragment(uri)); final Map<String, String> parameters = namedUri.getParameters(); return DataSourceFactory.fromUrl(name, group, url, mimeType, charset, parameters); } diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/uri/NamedUri.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/uri/NamedUri.java index 3602d77..ad496a8 100644 --- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/uri/NamedUri.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/uri/NamedUri.java @@ -96,7 +96,7 @@ public class NamedUri { return name; } - public String getNameOrElse(String def) { + public String getNameOrDefault(String def) { return StringUtils.isEmpty(name) ? def : name; } @@ -104,7 +104,7 @@ public class NamedUri { return group; } - public String getGroupOrElse(String def) { + public String getGroupOrDefault(String def) { return StringUtils.isEmpty(group) ? def : group; } @@ -120,7 +120,7 @@ public class NamedUri { return parameters.get(key); } - public String getParameterOrElse(String key, String defaultValue) { + public String getParameterOrDefault(String key, String defaultValue) { return parameters.getOrDefault(key, defaultValue); } @@ -140,8 +140,8 @@ public class NamedUri { return getParameter(NamedUri.MIMETYPE_KEY); } - public String getMimeTypeOrElse(String def) { - return getParameterOrElse(NamedUri.MIMETYPE_KEY, def); + public String getMimeTypeOrDefault(String def) { + return getParameterOrDefault(NamedUri.MIMETYPE_KEY, def); } public Charset getCharset() { @@ -149,7 +149,7 @@ public class NamedUri { return Charset.forName(charsetName); } - public Charset getCharsetOrElse(Charset def) { + public Charset getCharsetOrDefault(Charset def) { final String charsetName = getParameter(NamedUri.CHARSET_KEY); return StringUtils.isEmpty(charsetName) ? def : Charset.forName(charsetName); } diff --git a/freemarker-generator-cli/CHANGELOG.md b/freemarker-generator-cli/CHANGELOG.md index c6a5cce..7dbdd16 100644 --- a/freemarker-generator-cli/CHANGELOG.md +++ b/freemarker-generator-cli/CHANGELOG.md @@ -20,6 +20,7 @@ All notable changes to this project will be documented in this file. We try to a * [FREEMARKER-129] Provide a `toString()` method for all tools ### Changed +* [FREEMARKER-173] Allow to pass arbitrary key/value pairs to DataSource when using NamedURIs * [FREEMARKER-172] Use lower-case keys for DataSource metadata map * [FREEMARKER-148] Make usage of "DataSources" more "Freemarker" like * [FREEMARKER-155] Migrate the FTL code to terser dotter form @@ -70,3 +71,4 @@ All notable changes to this project will be documented in this file. We try to a [FREEMARKER-164]: https://issues.apache.org/jira/browse/FREEMARKER-164 [FREEMARKER-168]: https://issues.apache.org/jira/browse/FREEMARKER-168 [FREEMARKER-172]: https://issues.apache.org/jira/browse/FREEMARKER-172 +[FREEMARKER-173]: https://issues.apache.org/jira/browse/FREEMARKER-175
