package com.jivesoftware.os.amza.ui.soy; import com.google.template.soy.SoyFileSet; import com.google.template.soy.tofu.SoyTofu; import java.io.File; import org.apache.commons.io.FileUtils; import org.merlin.config.Config; import org.merlin.config.defaults.StringDefault; /** * */ public class SoyRendererInitializer { public interface SoyRendererConfig extends Config { @StringDefault("resources/static") String getPathToStaticResources(); @StringDefault("resources/soy") String getPathToSoyResources(); void setPathToSoyResources(String pathToSoyResources); } public SoyRenderer initialize(SoyRendererConfig rendererConfig) { File soyPath = new File(System.getProperty("user.dir"), rendererConfig.getPathToSoyResources()); SoyFileSet.Builder soyFileSetBuilder = new SoyFileSet.Builder(); for (File file : FileUtils.listFiles(soyPath, null, true)) { soyFileSetBuilder.add(file); } SoyFileSet sfs = soyFileSetBuilder.build(); SoyTofu tofu = sfs.compileToTofu(); return new SoyRenderer(tofu, new SoyDataUtils()); } }