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