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/08/17 21:06:19 UTC

[freemarker-generator] branch master updated: Bumping dependencies and minor code cleanup

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 77d7991  Bumping dependencies and minor code cleanup
77d7991 is described below

commit 77d79914f90e5f1d60785a7a47be6604418e31f3
Author: Siegfried Goeschl <si...@gmail.com>
AuthorDate: Tue Aug 17 23:06:06 2021 +0200

    Bumping dependencies and minor code cleanup
---
 README.md                                          |  2 +-
 freemarker-generator-base/pom.xml                  |  1 +
 .../generator/base/datasource/DataSource.java      | 16 +++-----
 .../datasource/loader/FileDataSourceLoader.java    |  1 -
 .../freemarker/generator/base/uri/NamedUri.java    |  1 -
 .../src/site/markdown/index.md                     |  3 +-
 .../datasource/DataSourceFactoryTest.java          |  2 +-
 freemarker-generator-cli/README.md                 |  2 +-
 .../cli/picocli/OutputGeneratorDefinition.java     |  1 -
 .../src/site/markdown/cli/concepts/data-sources.md |  4 +-
 .../src/site/markdown/cli/concepts/named-uris.md   |  2 +-
 .../src/site/markdown/cli/concepts/passing-data.md |  2 +-
 .../cli/config/DataModelSupplierTest.java          | 14 +++----
 freemarker-generator-maven-plugin-sample/README.md |  2 +-
 freemarker-generator-tools/pom.xml                 |  8 ++--
 .../tools/dataframe/impl/ConverterUtils.java       |  7 +---
 .../tools/javafaker/JavaFakerToolTest.java         | 43 ++++++++++++++++++++++
 pom.xml                                            |  2 +-
 18 files changed, 74 insertions(+), 39 deletions(-)

diff --git a/README.md b/README.md
index f104070..3c9770e 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@ Apache FreeMarker Generator
 
 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 @@ public class DataSource implements Closeable, javax.activation.DataSource {
         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 @@ public class DataSource implements Closeable, javax.activation.DataSource {
             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 @@ public class DataSource implements Closeable, javax.activation.DataSource {
         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 class DataSource implements Closeable, javax.activation.DataSource {
      */
     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 @@ public class DataSource implements Closeable, javax.activation.DataSource {
             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.DataSourceFactory;
 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 @@ import java.util.Map;
 
 /**
  * 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 @@ public class DataSourceFactoryTest {
     }
 
     @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 @@ public class OutputGeneratorDefinition {
         } 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-ge
 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 @@ selection of data sources (using Apache Commons IO wild-card matching)
 
 ### 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 java.util.Map;
 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 @@ public class DataModelSupplierTest {
     }
 
     @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 @@ public class DataModelSupplierTest {
     // === 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 @@ public class DataModelSupplierTest {
     }
 
     @Test
+    @SuppressWarnings("rawtypes")
     public void shouldCopyJsonArrayFileToDataModelVariable() {
         final DataModelSupplier supplier = supplier("list=./src/test/data/json/list.json");
 
@@ -164,17 +164,17 @@ public class DataModelSupplierTest {
     // == 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 @@ public class DataModelSupplierTest {
     }
 
     @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 @@ public class ConverterUtils {
                 return builder.addLongColumn(columnName);
             case "java.lang.Short":
                 return builder.addShortColumn(columnName);
-            case "java.lang.String":
-                return builder.addStringColumn(columnName);
+            case "java.util.Date":
             case "java.time.LocalDate":
-                return builder.addStringColumn(columnName);
             case "java.time.LocalTime":
-                return builder.addStringColumn(columnName);
-            case "java.util.Date":
+            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 @@ package org.apache.freemarker.generator.tools.javafaker;
 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 @@ public class JavaFakerToolTest {
         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>