Avoid error log from velocity if no custom e-mail template exists
The code to determine the template that should be used for sending an e-mail notification first tries to load a custom e-mail template and only if a custom template cannot be found it falls back to the default template. The problem is that trying to load a non-existing custom e-mail template results in an error log, e.g.: ERROR velocity : ResourceManager : unable to find resource 'ChangeSubject.vm' in any resource loader. The new code checks whether a custom template exists before trying to load it. Change-Id: Icec3067792f1d2102a11bec1356844280b9e72f9 Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
This commit is contained in:
@@ -374,13 +374,10 @@ public abstract class OutgoingEmail {
|
||||
protected String velocifyFile(String name) throws EmailException {
|
||||
try {
|
||||
RuntimeInstance runtime = args.velocityRuntime;
|
||||
Template template;
|
||||
try {
|
||||
template = runtime.getTemplate(name, "UTF-8");
|
||||
} catch (org.apache.velocity.exception.ResourceNotFoundException notFound) {
|
||||
if (runtime.getLoaderNameForResource(name) == null) {
|
||||
name = "com/google/gerrit/server/mail/" + name;
|
||||
template = runtime.getTemplate(name, "UTF-8");
|
||||
}
|
||||
Template template = runtime.getTemplate(name, "UTF-8");
|
||||
StringWriter w = new StringWriter();
|
||||
template.merge(velocityContext, w);
|
||||
return w.toString();
|
||||
|
Reference in New Issue
Block a user