/** * @param configuration * @throws FileNotFoundException */ public void generate(final Configuration configuration) { IOUtil ioUtil = new IOUtil(); for (ConfigOutput configOutput : configuration.getOutputs()) { Writer writer = null; try { writer = this.generate(configOutput, configuration); } catch (Exception e) { e.printStackTrace(); continue; } // TODO tratar o getFilenamePattern quando é "pattern" File outputFile = new File(configuration.getOutputBaseDir() + configOutput.getFilenamePattern()); // grava no file system try { ioUtil.writeTo(outputFile, new StringReader(writer.toString()), "UTF-8"); } catch (Exception e) { e.printStackTrace(); } } }
public Writer generate(ConfigOutput configOutput, final Configuration configuration) throws Exception { StringWriter writer = new StringWriter(); final File templateFile = new File(configuration.getTemplateBaseDir() + configOutput.getTemplate()); if (!templateFile.exists()) { System.err.println("Erro: template " + templateFile.getAbsolutePath() + " não existe."); throw new FileNotFoundException(); } VelocityContext context = new VelocityContext(); bindContext(context, configOutput.getInputs()); // escapeUtil context.put("escape", new EscapeUtil()); velocityEngine.evaluate(context, writer, "Gerando template", new FileReader(templateFile)); return writer; }