Search in sources :

Example 1 with TemplateFileFinder

use of jetbrick.template.utils.finder.TemplateFileFinder in project jetbrick-template-1x by subchen.

the class JetxGenerateApp method execute.

private void execute() {
    JetConfig config = new JetConfig();
    config.loadFile(new File(configFile));
    config.load(JetConfig.TEMPLATE_LOADER, FileSystemResourceLoader.class.getName());
    config.load(JetConfig.TEMPLATE_PATH, sourcePath);
    config.load(JetConfig.COMPILE_PATH, compilePath);
    config.load(JetConfig.COMPILE_STRATEGY, "always");
    config.load(JetConfig.COMPILE_DEBUG, "false");
    JetEngine engine = new JetEngine(config);
    TemplateFileFinder finder = new TemplateFileFinder(config.getTemplateSuffix());
    finder.lookupFileSystem(new File(sourcePath), true);
    List<String> resources = finder.getResources();
    System.out.println("Find " + resources.size() + " templates to precompile ...");
    int succ = 0;
    int fail = 0;
    long ts = System.currentTimeMillis();
    for (String name : resources) {
        try {
            engine.getTemplate(name);
            succ++;
        } catch (Exception e) {
            fail++;
            e.printStackTrace();
            if (!all) {
                System.err.println();
                System.err.println("Failed to compile templates.");
                System.err.println("Please add -all option to compile all templates.");
                System.err.println("System exit.");
                System.exit(1);
            }
        }
    }
    ts = System.currentTimeMillis() - ts;
    System.out.println("Completed precompile templates in " + ts + " ms, success = " + succ + ", failure = " + fail + ".");
}
Also used : FileSystemResourceLoader(jetbrick.template.resource.loader.FileSystemResourceLoader) TemplateFileFinder(jetbrick.template.utils.finder.TemplateFileFinder) File(java.io.File)

Example 2 with TemplateFileFinder

use of jetbrick.template.utils.finder.TemplateFileFinder in project jetbrick-template-1x by subchen.

the class JarResourceLoader method loadAll.

@Override
public List<String> loadAll() {
    TemplateFileFinder finder = new TemplateFileFinder(suffix);
    finder.lookupZipFile(jarFile, entryName, true);
    return finder.getResources();
}
Also used : TemplateFileFinder(jetbrick.template.utils.finder.TemplateFileFinder)

Example 3 with TemplateFileFinder

use of jetbrick.template.utils.finder.TemplateFileFinder in project jetbrick-template-1x by subchen.

the class ClasspathResourceLoader method loadAll.

@Override
public List<String> loadAll() {
    String[] packageNames = null;
    if (basepath.length() > 1) {
        packageNames = new String[] { basepath.substring(1).replace('/', '.') };
    }
    TemplateFileFinder finder = new TemplateFileFinder(suffix);
    finder.lookupClasspath(packageNames, true);
    return finder.getResources();
}
Also used : TemplateFileFinder(jetbrick.template.utils.finder.TemplateFileFinder)

Example 4 with TemplateFileFinder

use of jetbrick.template.utils.finder.TemplateFileFinder in project jetbrick-template-1x by subchen.

the class WebResourceLoader method loadAll.

@Override
public List<String> loadAll() {
    File dir;
    String realpath = servletContext.getRealPath(basepath);
    if (realpath != null) {
        dir = new File(realpath);
    } else {
        // 该死的 weblogic,以war部署的时候,无法使用 getRealPath
        try {
            URL url = servletContext.getResource(basepath);
            if (url == null) {
                throw new RuntimeException("template.path is not found in WebResourceLoader: " + basepath);
            }
            dir = URLUtils.toFileObject(url);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    TemplateFileFinder finder = new TemplateFileFinder(suffix);
    finder.lookupFileSystem(dir, true);
    return finder.getResources();
}
Also used : TemplateFileFinder(jetbrick.template.utils.finder.TemplateFileFinder) URL(java.net.URL)

Example 5 with TemplateFileFinder

use of jetbrick.template.utils.finder.TemplateFileFinder in project jetbrick-template-1x by subchen.

the class FileSystemResourceLoader method loadAll.

@Override
public List<String> loadAll() {
    TemplateFileFinder finder = new TemplateFileFinder(suffix);
    finder.lookupFileSystem(new File(basepath), true);
    return finder.getResources();
}
Also used : TemplateFileFinder(jetbrick.template.utils.finder.TemplateFileFinder) File(java.io.File)

Aggregations

TemplateFileFinder (jetbrick.template.utils.finder.TemplateFileFinder)5 File (java.io.File)2 URL (java.net.URL)1 FileSystemResourceLoader (jetbrick.template.resource.loader.FileSystemResourceLoader)1