Olá galera, estou com problemas em criar uma macro, ela não está sendo interpretada.
Sei que devo passar a propriedade: velocimacro.permissions.allowInline = true, mas mesmo assim não estou conseguindo.
O código de inicialização é esse:
Properties prop = new Properties();
prop.setProperty("resource.loader", "class");
prop.setProperty("velocimacro.permissions.allowInline", "true");
prop.setProperty("class.resource.loader.class",
"org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
velocity = new VelocityEngine();
try {
velocity.init(prop);
} catch (Exception ex) {
log.error("Erro ao inicializar o velocity: " + ex.getMessage());
throw new CodeGeneratorException(ex);
}
e do merge, este:
// Preparo o contexto com os parâmetros ...
Writer writer = new StringWriter();
String templateCode = file.read();
velocity.evaluate(context, writer, null, templateCode);
// salvo o resultado posteriormente ...
Valeu!
Lucas