Yes it was just that. J. 2012/1/10 Julien Martin <bal...@gmail.com>
> Thanks Jonathan. > I am realizing it is probably a basic mistake on my part on the Spring > configuration side. > The exception I got was misleading. > Julien. > > 2012/1/10 Jonathan Barker <jonathan.theit...@gmail.com> > >> I was noticing that I hooked up that service using Spring, rather than >> in AppModule, but it shouldn't matter much. >> >> private void init() { >> >> _logger.debug("init() starting"); >> if (_configuration == null) { >> _configuration = new Configuration(); >> String directory = null; >> directory = Messages >> >> .getString("SurveyActivityEmailRendererImpl.templateDirectory"); >> >> _configuration.setClassForTemplateLoading(getClass(), directory); >> if (_logger.isDebugEnabled()) >> _logger.debug("init(): set template >> directory to " + directory); >> } else { >> _logger.debug("init(): using existing >> Configuration"); >> } >> _configuration.setObjectWrapper(new >> DefaultObjectWrapper()); >> >> try { >> String file = Messages >> >> .getString("SurveyActivityEmailRendererImpl.templateHtml"); >> _template = >> _configuration.getTemplate(file); >> if (_logger.isDebugEnabled()) >> _logger.debug("init(): loaded >> template from " + file); >> >> } catch (IOException e) { >> throw new RuntimeException("init(): error on >> template load", e); >> } >> initialized = true; >> _logger.debug("init() completed initialization"); >> } >> >> My messages.properties file contained in the same directory as the >> service contains: >> >> SurveyActivityEmailRendererImpl.templateDirectory=/ >> SurveyActivityEmailRendererImpl.templateHtml=nightly-notification.ftl >> >> The template is in the root of the jar. >> >> The actual generation uses: >> >> try { >> Writer out = new StringWriter(); >> _template.process(data, out); >> out.flush(); >> htmlEmail = ((StringWriter) out).toString(); >> } catch (IOException e) { >> throw new RuntimeException(e); >> } catch (TemplateException e) { >> throw new RuntimeException(e); >> } >> return htmlEmail; >> >> >> >> On Tue, Jan 10, 2012 at 2:50 PM, Julien Martin <bal...@gmail.com> wrote: >> > Thanks a lot for your reply Jonathan, >> > Can you share some code sample (if you have it to hand) please? >> > Also where does this code go? >> > *configuration.setClassForTemplateLoading(Class clazz, String >> directory)* >> > Regards, >> > Julien. >> > >> > 2012/1/10 Jonathan Barker <jonathan.theit...@gmail.com> >> > >> >> The Freemarker project gave me similar problems. They have a >> >> Configuration object where you can do >> >> configuration.setClassForTemplateLoading(Class clazz, String >> >> directory). Does Velocity have the same option? If it does, I just >> >> used getClass() within my service to supply that Class parameter. >> >> >> >> On Tue, Jan 10, 2012 at 2:19 PM, Thiago H. de Paula Figueiredo >> >> <thiag...@gmail.com> wrote: >> >> > On Tue, 10 Jan 2012 16:09:07 -0200, Julien Martin <bal...@gmail.com> >> >> wrote: >> >> > >> >> >> Caused by: org.apache.velocity.exception.ResourceNotFoundException: >> >> Unable >> >> >> to find resource >> 'request-childminder-confirmation-mail-template_fr.htm' >> >> >> at >> >> >> >> >> >> org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:474) >> >> > >> >> > >> >> > This is where the problem is. Tapestry itself doesn't change the >> >> classpath >> >> > at all, just the classloader for classes in the controlled packages, >> so >> >> this >> >> > isn't related to Tapestry. >> >> > >> >> > >> >> > -- >> >> > Thiago H. de Paula Figueiredo >> >> > Independent Java, Apache Tapestry 5 and Hibernate consultant, >> developer, >> >> and >> >> > instructor >> >> > Owner, Ars Machina Tecnologia da Informação Ltda. >> >> > http://www.arsmachina.com.br >> >> > >> >> > --------------------------------------------------------------------- >> >> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> >> > For additional commands, e-mail: users-h...@tapestry.apache.org >> >> > >> >> >> >> >> >> >> >> -- >> >> Jonathan Barker >> >> ITStrategic >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> >> >> >> >> >> >> -- >> Jonathan Barker >> ITStrategic >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> >