Hello,
It seems nobody has ever been able to implement the ITemplateSourceDelegate
interface.
Does it mean that it is simply not possible ?
I tried to implement this interface but as others people, I got a
NullPointerException in the method TemplateParser.addTextToken().
Here my code:
public class TemplateSourceDelegate implements ITemplateSourceDelegate {
/**
* Method called by Tapestry when it is unable to find the template of a
component or a page
*/
public ComponentTemplate findTemplate(IRequestCycle cycle, IComponent
component, Locale locale) {
Resource res = component.getSpecification
().getSpecificationLocation();
String componentAttributeName = "jwcid";
// code that retrives the template in a db:
char[] templateData = "<h2>Test</h2>".toCharArray();
ITemplateParserDelegate delegate = new
DefaultParserDelegate(component, componentAttributeName, cycle, new
ComponentSpecificationResolverImpl());
TemplateToken[] tokens;
ITemplateParser parser = new TemplateParser();
try {
// code that throws a NullPointerException:
tokens = parser.parse(templateData, delegate, res);
}
catch (TemplateParseException ex) {
throw new ApplicationRuntimeException("Error in
TemplateSourceDelegate", ex);
}
return new ComponentTemplate(templateData, tokens);
}
}
D.