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"));