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 {
|
protected String velocifyFile(String name) throws EmailException {
|
||||||
try {
|
try {
|
||||||
RuntimeInstance runtime = args.velocityRuntime;
|
RuntimeInstance runtime = args.velocityRuntime;
|
||||||
Template template;
|
if (runtime.getLoaderNameForResource(name) == null) {
|
||||||
try {
|
|
||||||
template = runtime.getTemplate(name, "UTF-8");
|
|
||||||
} catch (org.apache.velocity.exception.ResourceNotFoundException notFound) {
|
|
||||||
name = "com/google/gerrit/server/mail/" + name;
|
name = "com/google/gerrit/server/mail/" + name;
|
||||||
template = runtime.getTemplate(name, "UTF-8");
|
|
||||||
}
|
}
|
||||||
|
Template template = runtime.getTemplate(name, "UTF-8");
|
||||||
StringWriter w = new StringWriter();
|
StringWriter w = new StringWriter();
|
||||||
template.merge(velocityContext, w);
|
template.merge(velocityContext, w);
|
||||||
return w.toString();
|
return w.toString();
|
||||||
|
Reference in New Issue
Block a user