String contextName, Object data) throws Exception {
Template template = getTemplate(templateName);
VelocityContext context = new VelocityContext();
context.put(contextName, data);
context.put(NUMBER_CONTEXT_NAME, new NumberTool());
context.put(NAMES_CONTEXT_NAME, new NamesTool());
StringWriter w = new StringWriter();
template.merge(context, w);
return w.toString();
}