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
>>
>>
>

Reply via email to