Bumping dependencies and minor code cleanup
diff --git a/README.md b/README.md
index f104070..3c9770e 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
For documentation or to report bugs visit: [https://freemarker.apache.org](https://freemarker.apache.org)
-Regarding pull requests on Github
+Regarding pull requests on GitHub
-----------------------------------------------------------------------------
By sending a pull request you grant the Apache Software Foundation
diff --git a/freemarker-generator-base/pom.xml b/freemarker-generator-base/pom.xml
index 75e09cd..deb18fb 100644
--- a/freemarker-generator-base/pom.xml
+++ b/freemarker-generator-base/pom.xml
@@ -63,6 +63,7 @@
<exclude>src/site/markdown/**/*.md</exclude>
<exclude>**/*.csv</exclude>
<exclude>src/test/data/txt/file_01.txt</exclude>
+ <exclude>src/test/data/txt/utf8.txt</exclude>
</excludes>
</configuration>
</plugin>
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 5d5d42d..66557d1 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
@@ -253,7 +253,7 @@
try {
return dataSource.getInputStream();
} catch (IOException e) {
- throw new RuntimeException("Failed to get input stream: " + toString(), e);
+ throw new RuntimeException("Failed to get input stream: " + this, e);
}
}
@@ -268,7 +268,7 @@
IOUtils.copy(is, writer, Charset.forName(charsetName));
return writer.toString();
} catch (IOException e) {
- throw new RuntimeException("Failed to get text: " + toString(), e);
+ throw new RuntimeException("Failed to get text: " + this, e);
}
}
@@ -294,7 +294,7 @@
try (InputStream inputStream = getUnsafeInputStream()) {
return IOUtils.readLines(inputStream, charsetName);
} catch (IOException e) {
- throw new RuntimeException("Failed to get lines: " + toString(), e);
+ throw new RuntimeException("Failed to get lines: " + this, e);
}
}
@@ -319,18 +319,14 @@
*/
public LineIterator getLineIterator(String charsetName) {
Validate.notEmpty(charsetName, "No charset name provided");
- try {
- return closeables.add(IOUtils.lineIterator(getUnsafeInputStream(), Charset.forName(charsetName)));
- } catch (IOException e) {
- throw new RuntimeException("Failed to create line iterator: " + toString(), e);
- }
+ return closeables.add(IOUtils.lineIterator(getUnsafeInputStream(), Charset.forName(charsetName)));
}
public byte[] getBytes() {
try (InputStream inputStream = getUnsafeInputStream()) {
return IOUtils.toByteArray(inputStream);
} catch (IOException e) {
- throw new RuntimeException("Failed to get bytes: " + toString(), e);
+ throw new RuntimeException("Failed to get bytes: " + this, e);
}
}
@@ -360,7 +356,7 @@
case METADATA_MIME_TYPE:
return getMimeType();
default:
- throw new IllegalArgumentException("Unknown metatdata key: " + key);
+ throw new IllegalArgumentException("Unknown metadata key: " + key);
}
}
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 2d890f3..f8b0630 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
@@ -22,7 +22,6 @@
import org.apache.freemarker.generator.base.datasource.DataSourceLoader;
import org.apache.freemarker.generator.base.uri.NamedUri;
import org.apache.freemarker.generator.base.uri.NamedUriStringParser;
-import org.apache.freemarker.generator.base.util.UriUtils;
import java.io.File;
import java.nio.charset.Charset;
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 ad496a8..9a495ba 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
@@ -27,7 +27,6 @@
/**
* Captures the information of a user-supplied "named URI".
- * <p>
* <ul>
* <li><code>name</code> is optional</li>
* <li><code>group</code> is optional</li>
diff --git a/freemarker-generator-base/src/site/markdown/index.md b/freemarker-generator-base/src/site/markdown/index.md
index 0980fe0..739d04f 100644
--- a/freemarker-generator-base/src/site/markdown/index.md
+++ b/freemarker-generator-base/src/site/markdown/index.md
@@ -1,3 +1,4 @@
# Apache FreeMarker Generator Base
-This package contains infrastructure code not depending on `Apache FreeMarker` directly since `DataSources` and their creation might be useful for un-related command-line tools.
+This package contains infrastructure code not depending on `Apache FreeMarker` directly since `DataSources` and their
+creation might be useful for un-related command-line tools.
diff --git a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceFactoryTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceFactoryTest.java
index 20733c7..02d77a9 100644
--- a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceFactoryTest.java
+++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceFactoryTest.java
@@ -96,7 +96,7 @@
}
@Test
- @Ignore
+ @Ignore("Requires internet access")
public void shouldCreateDataSourceFromURL() throws IOException {
final URL url = new URL("https://jsonplaceholder.typicode.com/posts/2");
final DataSource dataSource = DataSourceFactory.fromUrl("jsonplaceholder.typicode.com", "default", url);
diff --git a/freemarker-generator-cli/README.md b/freemarker-generator-cli/README.md
index 373b9e4..86290f9 100644
--- a/freemarker-generator-cli/README.md
+++ b/freemarker-generator-cli/README.md
@@ -1,7 +1,7 @@
Apache FreeMarker Generator CLI
=============================================================================
-This module provides provides the CLI for `Apache FreeMarker`.
+This module provides the CLI for `Apache FreeMarker`.
* Requires JDK 1.8+ on Linux, Mac OSX and Windows
* Add the bin/freemarker-generator or bin/freemarker-generator.bat to your PATH variable
diff --git a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/picocli/OutputGeneratorDefinition.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/picocli/OutputGeneratorDefinition.java
index a8fb389..532cf42 100644
--- a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/picocli/OutputGeneratorDefinition.java
+++ b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/picocli/OutputGeneratorDefinition.java
@@ -73,7 +73,6 @@
} else {
return emptyList();
}
-
}
public TemplateSourceDefinition getTemplateSourceDefinition() {
diff --git a/freemarker-generator-cli/src/site/markdown/cli/concepts/data-sources.md b/freemarker-generator-cli/src/site/markdown/cli/concepts/data-sources.md
index e92df60..f46f71d 100644
--- a/freemarker-generator-cli/src/site/markdown/cli/concepts/data-sources.md
+++ b/freemarker-generator-cli/src/site/markdown/cli/concepts/data-sources.md
@@ -83,7 +83,7 @@
URI : file:/Users/sgoeschl/work/github/apache/freemarker-generator/freemarker-generator-cli/target/appassembler/examples/data/json/swagger-spec.json```
```
-Access to `stdin` is implemented as `DataSource` - please not that `stdin` is read lazily to cater for arbitrary large input data
+Access to `stdin` is implemented as `DataSource` - please note that `stdin` is read lazily to cater for arbitrary large input data
```
cat examples/data/csv/contract.csv | bin/freemarker-generator -t freemarker-generator/info.ftl --stdin
@@ -157,7 +157,7 @@
### Using a DataSource
-In most cases the data source will passed to a tool but the are some useful operations available as shown below
+In most cases the data source will be passed to a tool, but there are some useful operations available as shown below
```text
Invoke Arbitrary Methods On DataSource
diff --git a/freemarker-generator-cli/src/site/markdown/cli/concepts/named-uris.md b/freemarker-generator-cli/src/site/markdown/cli/concepts/named-uris.md
index f6a80a3..5fecc46 100644
--- a/freemarker-generator-cli/src/site/markdown/cli/concepts/named-uris.md
+++ b/freemarker-generator-cli/src/site/markdown/cli/concepts/named-uris.md
@@ -1,6 +1,6 @@
## Named URIs
-Named URIs allow to identify `DataSources` and pass additional information
+Named URIs allow identifying `DataSources` and pass additional information
A Named URI consists of
diff --git a/freemarker-generator-cli/src/site/markdown/cli/concepts/passing-data.md b/freemarker-generator-cli/src/site/markdown/cli/concepts/passing-data.md
index 3ff42cc..204b338 100644
--- a/freemarker-generator-cli/src/site/markdown/cli/concepts/passing-data.md
+++ b/freemarker-generator-cli/src/site/markdown/cli/concepts/passing-data.md
@@ -1,6 +1,6 @@
## Passing Configuration Data
-`Apache FreeMarker Generator CLI` provides multiple ways to pass configuration data used in in templates
+`Apache FreeMarker Generator CLI` provides multiple ways to pass configuration data used in templates
* System properties
* Parameters
diff --git a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/DataModelSupplierTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/DataModelSupplierTest.java
index 47283df..34745f2 100644
--- a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/DataModelSupplierTest.java
+++ b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/DataModelSupplierTest.java
@@ -27,7 +27,6 @@
import static java.util.Collections.singletonList;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
public class DataModelSupplierTest {
@@ -60,7 +59,7 @@
}
@Test
- public void shouldCopySingleEnvironmentVariablesToTopLevelDataModel() {
+ public void shouldCopySingleEnvironmentVariableToTopLevelDataModel() {
final DataModelSupplier supplier = supplier("env:///" + ANY_ENV_VARIABLE);
final Map<String, Object> model = supplier.get();
@@ -87,7 +86,7 @@
// === Properties ===
@Test
- public void shouldCopeyPropertiesFileToTopLevelDataModel() {
+ public void shouldCopyPropertiesFileToTopLevelDataModel() {
final DataModelSupplier supplier = supplier("./src/test/data/properties/test.properties");
final Map<String, Object> model = supplier.get();
@@ -133,6 +132,7 @@
}
@Test
+ @SuppressWarnings("rawtypes")
public void shouldCopyJsonArrayFileToDataModelVariable() {
final DataModelSupplier supplier = supplier("list=./src/test/data/json/list.json");
@@ -164,17 +164,17 @@
// == URL ===
@Test
- @Ignore
+ @Ignore("Requires internet access")
public void shouldResolveUrlToTopLevelDataModel() {
final DataModelSupplier supplier = supplier("https://jsonplaceholder.typicode.com/posts/2");
final Map<String, Object> model = supplier.get();
- assertTrue(model.size() == 4);
+ assertEquals(4, model.size());
}
@Test
- @Ignore
+ @Ignore("Requires internet access")
public void shouldResolveUrlToDataModelVariable() {
final DataModelSupplier supplier = supplier("post=https://jsonplaceholder.typicode.com/posts/2");
@@ -185,7 +185,7 @@
}
@Test
- @Ignore
+ @Ignore("Requires internet access")
public void shouldResolveUrlToDataModelVariables() {
supplier("https://jsonplaceholder.typicode.com/posts/does-not-exist").get();
}
diff --git a/freemarker-generator-maven-plugin-sample/README.md b/freemarker-generator-maven-plugin-sample/README.md
index 4669e07..857a9df 100644
--- a/freemarker-generator-maven-plugin-sample/README.md
+++ b/freemarker-generator-maven-plugin-sample/README.md
@@ -1,7 +1,7 @@
Apache FreeMarker Generator Maven Plugin Sample
=============================================================================
-This project allows to play around with `freemarker-generator-maven-plugin` quickly.
+This project allows playing around with `freemarker-generator-maven-plugin` quickly.
Let's create a Java class and text file using the `freemarker-generator-maven-plugin`, compile and package it (so you know that the generated code is compiling)
diff --git a/freemarker-generator-tools/pom.xml b/freemarker-generator-tools/pom.xml
index 374092f..e532237 100644
--- a/freemarker-generator-tools/pom.xml
+++ b/freemarker-generator-tools/pom.xml
@@ -58,7 +58,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
- <version>1.8</version>
+ <version>1.9.0</version>
</dependency>
<!-- DataFrame -->
<dependency>
@@ -97,7 +97,7 @@
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
- <version>2.8.6</version>
+ <version>2.8.7</version>
</dependency>
<!-- Java Faker -->
<dependency>
@@ -115,13 +115,13 @@
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
- <version>2.5.0</version>
+ <version>2.6.0</version>
</dependency>
<!-- JsoupTool -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
- <version>1.13.1</version>
+ <version>1.14.2</version>
</dependency>
<!-- SnakeYamlTool -->
<dependency>
diff --git a/freemarker-generator-tools/src/main/java/org/apache/freemarker/generator/tools/dataframe/impl/ConverterUtils.java b/freemarker-generator-tools/src/main/java/org/apache/freemarker/generator/tools/dataframe/impl/ConverterUtils.java
index 09beacd..b30902b 100644
--- a/freemarker-generator-tools/src/main/java/org/apache/freemarker/generator/tools/dataframe/impl/ConverterUtils.java
+++ b/freemarker-generator-tools/src/main/java/org/apache/freemarker/generator/tools/dataframe/impl/ConverterUtils.java
@@ -57,13 +57,10 @@
return builder.addLongColumn(columnName);
case "java.lang.Short":
return builder.addShortColumn(columnName);
- case "java.lang.String":
- return builder.addStringColumn(columnName);
- case "java.time.LocalDate":
- return builder.addStringColumn(columnName);
- case "java.time.LocalTime":
- return builder.addStringColumn(columnName);
case "java.util.Date":
+ case "java.time.LocalDate":
+ case "java.time.LocalTime":
+ case "java.lang.String":
return builder.addStringColumn(columnName);
default:
throw new RuntimeException("Unable to add column for the following type: " + columnType.getName());
diff --git a/freemarker-generator-tools/src/test/java/org/apache/freemarker/generator/tools/javafaker/JavaFakerToolTest.java b/freemarker-generator-tools/src/test/java/org/apache/freemarker/generator/tools/javafaker/JavaFakerToolTest.java
index d54395c..c368146 100644
--- a/freemarker-generator-tools/src/test/java/org/apache/freemarker/generator/tools/javafaker/JavaFakerToolTest.java
+++ b/freemarker-generator-tools/src/test/java/org/apache/freemarker/generator/tools/javafaker/JavaFakerToolTest.java
@@ -19,6 +19,8 @@
import com.github.javafaker.Faker;
import org.junit.Test;
+import java.util.Date;
+import java.util.List;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
@@ -54,6 +56,47 @@
assertEquals(6, javaFakerTool().getTimeUnits().size());
}
+ @Test
+ public void shouldShowGeneralUsage() {
+ final String language = "de";
+ final String country = "DE";
+ final Locale locale = new Locale(language, country);
+ final Faker faker = javaFakerTool().getFaker(locale);
+ final String iban = faker.finance().iban(country);
+ final String firstName = faker.name().firstName();
+ final String lastName = faker.name().lastName();
+ final String email = String.format("%s.%s@gmail.com", firstName, lastName).toLowerCase();
+ final Date birthday = faker.date().birthday(21, 65);
+ final String streetAddress = faker.address().streetAddress();
+ final String state = faker.address().stateAbbr();
+ final String zipCode = faker.address().zipCode();
+ final int numberBetween = faker.number().numberBetween(10, 99);
+ final List<String> words = faker.lorem().words(10);
+
+ assertTrue(iban.startsWith("DE"));
+ assertFalse(firstName.isEmpty());
+ assertFalse(lastName.isEmpty());
+ assertFalse(email.isEmpty());
+ assertNotNull(birthday);
+ assertFalse(streetAddress.isEmpty());
+ assertFalse(state.isEmpty());
+ assertFalse(zipCode.isEmpty());
+ assertTrue(numberBetween >= 10 && numberBetween <= 99);
+ assertFalse(words.isEmpty());
+
+ /*
+ System.out.println("iban: " + iban);
+ System.out.println("name: " + firstName + " " + lastName);
+ System.out.println("email: " + email);
+ System.out.println("birthday: " + birthday);
+ System.out.println("streetName: " + streetAddress);
+ System.out.println("state: " + state);
+ System.out.println("zipCode: " + zipCode);
+ System.out.println("numberBetween: " + numberBetween);
+ System.out.println("words: " + words);
+ */
+ }
+
private static JavaFakerTool javaFakerTool() {
return new JavaFakerTool();
}
diff --git a/pom.xml b/pom.xml
index b64f33a..6971df0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -119,7 +119,7 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>2.8.0</version>
+ <version>2.11.0</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>