summaryrefslogtreecommitdiff
path: root/module/ri-engine/src/main/java/io/trygvis/rules/engine/JinjavaTemplateEngine.java
diff options
context:
space:
mode:
Diffstat (limited to 'module/ri-engine/src/main/java/io/trygvis/rules/engine/JinjavaTemplateEngine.java')
-rw-r--r--module/ri-engine/src/main/java/io/trygvis/rules/engine/JinjavaTemplateEngine.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/module/ri-engine/src/main/java/io/trygvis/rules/engine/JinjavaTemplateEngine.java b/module/ri-engine/src/main/java/io/trygvis/rules/engine/JinjavaTemplateEngine.java
index 42b2127..286029e 100644
--- a/module/ri-engine/src/main/java/io/trygvis/rules/engine/JinjavaTemplateEngine.java
+++ b/module/ri-engine/src/main/java/io/trygvis/rules/engine/JinjavaTemplateEngine.java
@@ -7,15 +7,19 @@ import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
-import java.nio.file.Path;
import java.util.Map;
+/**
+ * TODO: cache templates.
+ */
public class JinjavaTemplateEngine implements TemplateEngine {
private final Jinjava jinjava = new Jinjava();
+ private final TemplateLoader loader;
private final File basedir;
- public JinjavaTemplateEngine(File basedir) {
+ public JinjavaTemplateEngine(TemplateLoader templateLoader, File basedir) {
+ this.loader = templateLoader;
this.basedir = basedir;
}
@@ -31,7 +35,7 @@ public class JinjavaTemplateEngine implements TemplateEngine {
@Override
public void template(String name, String output, Map<String, Object> params) throws IOException {
- var template = Files.readString(Path.of("j2", name + ".j2"));
+ var template = loader.load(name);
String renderedTemplate = jinjava.render(template, params);
var f = new File(basedir, output);
FileUtil.createMissingParentDirectories(f);