/**
* Copyright (C) 2013-2016 The Rythm Engine project
* for LICENSE and other details see:
* https://github.com/rythmengine/rythmengine
*/
package org.rythmengine.issue;
import org.rythmengine.Rythm;
import org.rythmengine.RythmEngine;
import org.rythmengine.utils.IO;
import org.rythmengine.utils.S;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import static org.rythmengine.conf.RythmConfigurationKey.*;
public class Gh170Helper {
private static final String TMPL_NAME = "gh170helper.txt";
private static File tmplHome;
private Gh170Helper() {
}
private static String content() {
return "@args String who\nHello @who";
}
private static void prepareTmplHome() throws Exception {
tmplHome = new File(System.getProperty("java.io.tmpdir"), S.random(5));
tmplHome.mkdirs();
if (!tmplHome.exists()) {
throw new IOException("Cannot make template home dir: " + tmplHome.getAbsolutePath());
}
}
private static RythmEngine prepareEngine() throws Exception {
prepareTmplHome();
Map<String, Object> config = new HashMap<String, Object>();
config.put(ENGINE_MODE.getKey(), Rythm.Mode.dev);
config.put(HOME_TEMPLATE.getKey(), tmplHome);
config.put(CACHE_ENABLED.getKey(), true);
config.put(HOME_TMP.getKey(), tmplHome);
return new RythmEngine(config);
}
private static File tmplFile() {
return new File(tmplHome, TMPL_NAME);
}
private static void prepareTmpl() {
IO.writeContent(content(), tmplFile());
}
public static void main(String[] args) throws Exception {
final RythmEngine engine = prepareEngine();
System.out.println(engine.mode());
prepareTmpl();
System.out.println(engine.render(TMPL_NAME, "world"));
}
}