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 2020/02/07 11:27:41 UTC

[freemarker-generator] 01/03: FREEMARKER-129 Cleanup source code

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

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

commit ab7ad659fa7bd1249c4b5cf96c694cabba3b2475
Author: Siegfried Goeschl <si...@gmail.com>
AuthorDate: Thu Feb 6 19:42:50 2020 +0100

    FREEMARKER-129 Cleanup source code
---
 .../base/activation/ByteArrayDataSource.java       |  4 ++++
 .../base/activation/StringDataSource.java          |  4 ++++
 .../generator/base/document/Document.java          |  4 ++--
 .../freemarker/generator/maven/FreeMarkerMojo.java | 12 +++++------
 .../generator/maven/GeneratingFileVisitor.java     |  8 +++----
 .../generator/maven/JsonPropertiesProvider.java    | 17 +++++++--------
 .../generator/maven/OutputGenerator.java           | 25 +++++++++++++---------
 .../generator/maven/FreeMarkerMojoTest.java        |  2 +-
 8 files changed, 44 insertions(+), 32 deletions(-)

diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/ByteArrayDataSource.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/ByteArrayDataSource.java
index ef9aaf3..cb769f4 100644
--- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/ByteArrayDataSource.java
+++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/ByteArrayDataSource.java
@@ -74,4 +74,8 @@ public class ByteArrayDataSource implements DataSource {
     public byte[] getContent() {
         return content;
     }
+
+    public long length() {
+        return content.length;
+    }
 }
\ No newline at end of file
diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/StringDataSource.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/StringDataSource.java
index aea906f..7e9c29d 100644
--- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/StringDataSource.java
+++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/StringDataSource.java
@@ -69,6 +69,10 @@ public class StringDataSource implements DataSource {
         return charset;
     }
 
+    public long length() {
+        return content.length();
+    }
+
     @Override
     public String toString() {
         return "StringDataSource{" +
diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Document.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Document.java
index 36c51b1..6d9959d 100644
--- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Document.java
+++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Document.java
@@ -88,9 +88,9 @@ public class Document implements Closeable {
         if (dataSource instanceof FileDataSource) {
             return ((FileDataSource) dataSource).getFile().length();
         } else if (dataSource instanceof StringDataSource) {
-            return ((StringDataSource) dataSource).getContent().length();
+            return ((StringDataSource) dataSource).length();
         } else if (dataSource instanceof ByteArrayDataSource) {
-            return ((ByteArrayDataSource) dataSource).getContent().length;
+            return ((ByteArrayDataSource) dataSource).length();
         } else {
             return UNKNOWN_LENGTH;
         }
diff --git a/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FreeMarkerMojo.java b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FreeMarkerMojo.java
index 4c9e96c..4add19b 100644
--- a/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FreeMarkerMojo.java
+++ b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FreeMarkerMojo.java
@@ -65,7 +65,7 @@ public class FreeMarkerMojo extends AbstractMojo {
     @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
 
-        if (freeMarkerVersion == null || freeMarkerVersion.length() == 0) {
+        if (freeMarkerVersion == null || freeMarkerVersion.isEmpty()) {
             throw new MojoExecutionException("freeMarkerVersion is required");
         }
 
@@ -73,7 +73,7 @@ public class FreeMarkerMojo extends AbstractMojo {
             throw new MojoExecutionException("Required directory does not exist: " + generatorDirectory);
         }
 
-        Configuration config = FactoryUtil.createConfiguration(freeMarkerVersion);
+        final Configuration config = FactoryUtil.createConfiguration(freeMarkerVersion);
 
         config.setDefaultEncoding("UTF-8");
 
@@ -87,9 +87,9 @@ public class FreeMarkerMojo extends AbstractMojo {
             throw new MojoExecutionException("Could not establish file template loader for directory: " + templateDirectory);
         }
 
-        File freeMarkerProps = FactoryUtil.createFile(sourceDirectory, "freemarker.properties");
+        final File freeMarkerProps = FactoryUtil.createFile(sourceDirectory, "freemarker.properties");
         if (freeMarkerProps.isFile()) {
-            Properties configProperties = new Properties();
+            final Properties configProperties = new Properties();
             try (InputStream is = FactoryUtil.createFileInputStream(freeMarkerProps)) {
                 configProperties.load(is);
             } catch (Throwable t) {
@@ -110,10 +110,10 @@ public class FreeMarkerMojo extends AbstractMojo {
             session.getCurrentProject().addTestCompileSourceRoot(outputDirectory.toString());
         }
 
-        Map<String, OutputGeneratorPropertiesProvider> extensionToBuilders = new HashMap<>(1);
+        final Map<String, OutputGeneratorPropertiesProvider> extensionToBuilders = new HashMap<>(1);
         extensionToBuilders.put(".json", JsonPropertiesProvider.create(generatorDirectory, templateDirectory, outputDirectory));
 
-        GeneratingFileVisitor fileVisitor = GeneratingFileVisitor.create(config, session, extensionToBuilders);
+        final GeneratingFileVisitor fileVisitor = GeneratingFileVisitor.create(config, session, extensionToBuilders);
         try {
             Files.walkFileTree(generatorDirectory.toPath(), fileVisitor);
         } catch (Throwable t) {
diff --git a/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/GeneratingFileVisitor.java b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/GeneratingFileVisitor.java
index d71c871..69458d2 100644
--- a/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/GeneratingFileVisitor.java
+++ b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/GeneratingFileVisitor.java
@@ -59,12 +59,12 @@ public class GeneratingFileVisitor extends SimpleFileVisitor<Path> {
     @Override
     public FileVisitResult visitFile(Path path, BasicFileAttributes attrs) {
         if (attrs.isRegularFile()) {
-            OutputGenerator.OutputGeneratorBuilder builder = OutputGenerator.builder()
+            final OutputGenerator.OutputGeneratorBuilder builder = OutputGenerator.builder()
                     .addGeneratorLocation(path)
                     .addPomLastModifiedTimestamp(pomLastModifiedTimestamp);
-            String fileName = path.getFileName().toString();
-            String extenstion = fileName.substring(fileName.lastIndexOf('.'));
-            OutputGeneratorPropertiesProvider pathProcessor = extensionToBuilder.get(extenstion);
+            final String fileName = path.getFileName().toString();
+            final String extenstion = fileName.substring(fileName.lastIndexOf('.'));
+            final OutputGeneratorPropertiesProvider pathProcessor = extensionToBuilder.get(extenstion);
             if (pathProcessor == null) {
                 throw new RuntimeException("Unknown file extension: " + path);
             }
diff --git a/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/JsonPropertiesProvider.java b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/JsonPropertiesProvider.java
index 469870a..f2e2cc4 100644
--- a/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/JsonPropertiesProvider.java
+++ b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/JsonPropertiesProvider.java
@@ -28,7 +28,6 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStreamReader;
 import java.lang.reflect.Type;
-import java.nio.charset.StandardCharsets;
 import java.nio.file.Path;
 import java.util.HashMap;
 import java.util.Map;
@@ -46,8 +45,8 @@ public class JsonPropertiesProvider implements OutputGeneratorPropertiesProvider
         this.dataDir = dataDir;
         this.templateDir = templateDir;
         this.outputDir = outputDir;
-        gson = new GsonBuilder().setLenient().create();
-        stringObjectMap = new TypeToken<Map<String, Object>>() {}.getType();
+        this.gson = new GsonBuilder().setLenient().create();
+        this.stringObjectMap = new TypeToken<Map<String, Object>>() {}.getType();
     }
 
     public static JsonPropertiesProvider create(File dataDir, File templateDir, File outputDir) {
@@ -56,8 +55,8 @@ public class JsonPropertiesProvider implements OutputGeneratorPropertiesProvider
 
     @Override
     public void providePropertiesFromFile(Path path, OutputGenerator.OutputGeneratorBuilder builder) {
-        File jsonDataFile = path.toFile();
-        Map<String, Object> data = parseJson(jsonDataFile);
+        final File jsonDataFile = path.toFile();
+        final Map<String, Object> data = parseJson(jsonDataFile);
 
         Object obj = data.get("dataModel");
         if (obj != null) {
@@ -72,16 +71,16 @@ public class JsonPropertiesProvider implements OutputGeneratorPropertiesProvider
         }
         builder.addTemplateLocation(templateDir.toPath().resolve(obj.toString()));
 
-        String dataDirName = dataDir.getAbsolutePath();
-        String jsonFileName = jsonDataFile.getAbsolutePath();
+        final String dataDirName = dataDir.getAbsolutePath();
+        final String jsonFileName = jsonDataFile.getAbsolutePath();
         if (!jsonFileName.startsWith(dataDirName)) {
             throw new IllegalStateException("visitFile() given file not in sourceDirectory: " + jsonDataFile);
         }
 
         String outputFileName = jsonFileName.substring(dataDirName.length() + 1);
         outputFileName = outputFileName.substring(0, outputFileName.length() - 5);
-        Path outputPath = outputDir.toPath();
-        Path resolved = outputPath.resolve(outputFileName);
+        final Path outputPath = outputDir.toPath();
+        final Path resolved = outputPath.resolve(outputFileName);
         builder.addOutputLocation(resolved);
     }
 
diff --git a/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGenerator.java b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGenerator.java
index bec4f22..2ac3b4f 100644
--- a/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGenerator.java
+++ b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGenerator.java
@@ -115,16 +115,21 @@ class OutputGenerator {
          * @throws IllegalStateException if any of the parts of the OutputGenerator were not set.
          */
         public OutputGenerator create() {
-            if (pomModifiedTimestamp == Long.MAX_VALUE)
+            if (pomModifiedTimestamp == Long.MAX_VALUE) {
                 throw new IllegalStateException("Must set the pomModifiedTimestamp");
-            if (generatorLocation == null)
+            }
+            if (generatorLocation == null) {
                 throw new IllegalStateException("Must set a non-null generatorLocation");
-            if (templateLocation == null)
+            }
+            if (templateLocation == null) {
                 throw new IllegalStateException("Must set a non-null templateLocation");
-            if (outputLocation == null)
+            }
+            if (outputLocation == null) {
                 throw new IllegalStateException("Must set a non-null outputLocation");
-            if (dataModel == null)
+            }
+            if (dataModel == null) {
                 throw new IllegalStateException("Must set a non-null dataModel");
+            }
             return new OutputGenerator(pomModifiedTimestamp, generatorLocation, templateLocation, outputLocation, dataModel);
         }
     }
@@ -137,9 +142,9 @@ class OutputGenerator {
      */
     public void generate(Configuration config) {
         //Use "createFile" for testing purposes only
-        File outputFile = FactoryUtil.createFile(outputLocation.toFile().toString());
-        File templateFile = templateLocation.toFile();
-        File generatorFile = generatorLocation.toFile();
+        final File outputFile = FactoryUtil.createFile(outputLocation.toFile().toString());
+        final File templateFile = templateLocation.toFile();
+        final File generatorFile = generatorLocation.toFile();
         if (outputFile.exists()) {
             //early exit only if the output file is newer than all files that contribute to its generation
             if (outputFile.lastModified() > generatorFile.lastModified()
@@ -148,7 +153,7 @@ class OutputGenerator {
                 return;
             }
         } else {
-            File parentDir = outputFile.getParentFile();
+            final File parentDir = outputFile.getParentFile();
             if (parentDir.isFile()) {
                 throw new RuntimeException("Parent directory of output file is a file: " + parentDir.getAbsoluteFile());
             }
@@ -158,7 +163,7 @@ class OutputGenerator {
             }
         }
 
-        Template template;
+        final Template template;
         try {
             template = config.getTemplate(templateFile.getName());
         } catch (Throwable t) {
diff --git a/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java
index edc0910..f835c6a 100644
--- a/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java
+++ b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java
@@ -91,7 +91,7 @@ public class FreeMarkerMojoTest extends Assert {
             mojo.execute();
         }).withMessage("freeMarkerVersion is required");
 
-        File testCaseOutputDir = new File(TEST_OUTPUT_DIR, "executeTest");
+        final File testCaseOutputDir = new File(TEST_OUTPUT_DIR, "executeTest");
         Deencapsulation.setField(mojo, "freeMarkerVersion", FREEMARKER_VERSION);
         Deencapsulation.setField(mojo, "sourceDirectory", testCaseOutputDir);
         Deencapsulation.setField(mojo, "templateDirectory", new File(testCaseOutputDir, "template"));