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