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 <[email protected]> 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"));
