FileTemplate.java
1.17 KB
package com.sitech.ismp.coll.busi.e2e.util;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
public class FileTemplate {
private static Map<String,Template> templateMap = new ConcurrentHashMap<String,Template>();
public synchronized static VelocityEngine getVelocityEngine(String templetePath)
throws Exception {
VelocityEngine ve = new VelocityEngine();
Properties p = new Properties();
p.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, templetePath);
ve.init(p);
return ve;
}
public synchronized static Template getRuleTemplate(String templetePath, String templateName)
throws Exception {
Template template = templateMap.get(templetePath + templateName);
if (template == null) {
template = getVelocityEngine(templetePath).getTemplate(templateName);
templateMap.put(templetePath+templateName, template);
}
return template;
}
public synchronized static void removeRuleTemplate(String templetePath, String templateName){
templateMap.remove(templetePath+templateName);
}
}