| 1 | package de.aikiit.mailversendala.template; | |
| 2 | ||
| 3 | import org.apache.velocity.Template; | |
| 4 | import org.apache.velocity.VelocityContext; | |
| 5 | import org.apache.velocity.app.VelocityEngine; | |
| 6 | import org.apache.velocity.runtime.RuntimeConstants; | |
| 7 | import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader; | |
| 8 | ||
| 9 | import java.io.File; | |
| 10 | import java.io.StringWriter; | |
| 11 | ||
| 12 | /** | |
| 13 | * Mailing template that is based on Apache Velocity templates. | |
| 14 | */ | |
| 15 | public class VelocityMailTemplate implements MailTemplate { | |
| 16 | ||
| 17 | private final VelocityEngine velocityEngine = new VelocityEngine(); | |
| 18 | ||
| 19 | /** | |
| 20 | * Instantiate underlying template engine. | |
| 21 | */ | |
| 22 | public VelocityMailTemplate() { | |
| 23 |
1
1. <init> : removed call to org/apache/velocity/app/VelocityEngine::setProperty → KILLED |
velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADER, "class"); |
| 24 |
1
1. <init> : removed call to org/apache/velocity/app/VelocityEngine::setProperty → KILLED |
velocityEngine.setProperty("class.resource.loader.class", |
| 25 | ClasspathResourceLoader.class.getName()); | |
| 26 |
1
1. <init> : removed call to org/apache/velocity/app/VelocityEngine::init → SURVIVED |
velocityEngine.init(); |
| 27 | } | |
| 28 | ||
| 29 | @Override | |
| 30 | public String getHtml() { | |
| 31 |
1
1. getHtml : replaced return value with "" for de/aikiit/mailversendala/template/VelocityMailTemplate::getHtml → KILLED |
return loadAndGetContents("template" + File.separator + BASE_NAME_HTML); |
| 32 | } | |
| 33 | ||
| 34 | @Override | |
| 35 | public String getPlaintext() { | |
| 36 |
1
1. getPlaintext : replaced return value with "" for de/aikiit/mailversendala/template/VelocityMailTemplate::getPlaintext → KILLED |
return loadAndGetContents("template" + File.separator + BASE_NAME_PLAINTEXT); |
| 37 | } | |
| 38 | ||
| 39 | private VelocityContext handleAndGetContextChanges() { | |
| 40 | VelocityContext context = new VelocityContext(); | |
| 41 | context.put("firstName", "ME"); | |
| 42 | context.put("lastName", "REALLY"); | |
| 43 |
1
1. handleAndGetContextChanges : replaced return value with null for de/aikiit/mailversendala/template/VelocityMailTemplate::handleAndGetContextChanges → KILLED |
return context; |
| 44 | } | |
| 45 | ||
| 46 | private String loadAndGetContents(String templateName) { | |
| 47 | Template t = velocityEngine.getTemplate(templateName); | |
| 48 | ||
| 49 | StringWriter writer = new StringWriter(); | |
| 50 |
1
1. loadAndGetContents : removed call to org/apache/velocity/Template::merge → KILLED |
t.merge(handleAndGetContextChanges(), writer); |
| 51 | t.process(); | |
| 52 | ||
| 53 |
1
1. loadAndGetContents : replaced return value with "" for de/aikiit/mailversendala/template/VelocityMailTemplate::loadAndGetContents → KILLED |
return writer.toString().trim(); |
| 54 | } | |
| 55 | } | |
Mutations | ||
| 23 |
1.1 |
|
| 24 |
1.1 |
|
| 26 |
1.1 |
|
| 31 |
1.1 |
|
| 36 |
1.1 |
|
| 43 |
1.1 |
|
| 50 |
1.1 |
|
| 53 |
1.1 |