Java 类freemarker.template.DefaultObjectWrapper 实例源码
项目:alfresco-repository
文件:LocalFeedTaskProcessor.java
@Override
protected Configuration getFreemarkerConfiguration(RepoCtx ctx)
{
if (useRemoteCallbacks)
{
// as per 3.0, 3.1
return super.getFreemarkerConfiguration(ctx);
}
else
{
Configuration cfg = new Configuration();
cfg.setObjectWrapper(new DefaultObjectWrapper());
cfg.setTemplateLoader(new ClassPathRepoTemplateLoader(nodeService, contentService, defaultEncoding));
// TODO review i18n
cfg.setLocalizedLookup(false);
cfg.setIncompatibleImprovements(new Version(2, 3, 20));
cfg.setNewBuiltinClassResolver(TemplateClassResolver.SAFER_RESOLVER);
return cfg;
}
}
项目:alfresco-repository
文件:QNameAwareObjectWrapper.java
@Override
protected ObjectWrapper initialValue()
{
return new DefaultObjectWrapper()
{
/* (non-Javadoc)
* @see freemarker.template.DefaultObjectWrapper#wrap(java.lang.Object)
*/
@Override
public TemplateModel wrap(Object obj) throws TemplateModelException
{
if (obj instanceof QNameMap)
{
return new QNameHash((QNameMap)obj, this);
}
else
{
return super.wrap(obj);
}
}
};
}
项目:enkan
文件:ValidatableFormAdapter.java
public ValidatableFormAdapter(Validatable form, DefaultObjectWrapper ow) {
super(form, ow);
this.hasErrors = arguments -> {
if (arguments.size() == 0) {
return Boolean.valueOf(form.hasErrors());
} else if (arguments.size() == 1) {
return Boolean.valueOf(form.hasErrors(arguments.get(0).toString()));
} else {
return null;
}
};
this.getErrors = arguments -> {
if (arguments.size() == 0) {
return form.getErrors();
} else if (arguments.size() == 1) {
return form.getErrors(arguments.get(0).toString());
} else {
return null;
}
};
}
项目:kit
文件:FreeMkKit.java
/**
* 根据根路径的类,获取配置文件
* @author nan.li
* @param paramClass
* @param prefix
* @return
*/
public static Configuration getConfigurationByClass(Class<?> paramClass, String prefix)
{
try
{
Configuration configuration = new Configuration(Configuration.VERSION_2_3_25);
configuration.setClassForTemplateLoading(paramClass, prefix);
//等价于下面这种方法
// configuration.setTemplateLoader( new ClassTemplateLoader(paramClass,prefix));
configuration.setObjectWrapper(new DefaultObjectWrapper(Configuration.VERSION_2_3_25));
configuration.setDefaultEncoding(CharEncoding.UTF_8);
configuration.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
configuration.setObjectWrapper(new DefaultObjectWrapperBuilder(Configuration.VERSION_2_3_25).build());
return configuration;
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
项目:kit
文件:FreeMkKit.java
public static Configuration getConfigurationByClassLoader(ClassLoader classLoader, String prefix)
{
try
{
Configuration configuration = new Configuration(Configuration.VERSION_2_3_25);
configuration.setClassLoaderForTemplateLoading(classLoader, prefix);
//等价于下面这种方法
// configuration.setTemplateLoader( new ClassTemplateLoader(paramClass,prefix));
configuration.setObjectWrapper(new DefaultObjectWrapper(Configuration.VERSION_2_3_25));
configuration.setDefaultEncoding(CharEncoding.UTF_8);
configuration.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
configuration.setObjectWrapper(new DefaultObjectWrapperBuilder(Configuration.VERSION_2_3_25).build());
return configuration;
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
项目:geeCommerce-Java-Shop-Software-and-PIM
文件:FetchRetailStoresDirective.java
@SuppressWarnings("rawtypes")
@Override
public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body)
throws TemplateException, IOException {
SimpleScalar pVar = (SimpleScalar) params.get("var");
List<RetailStore> retailStoreList = retailStores.enabledRetailStores();
if (pVar != null) {
// Sets the result into the current template as if using <#assign
// name=model>.
env.setVariable(pVar.getAsString(), DefaultObjectWrapper.getDefaultInstance().wrap(retailStoreList));
} else {
// Sets the result into the current template as if using <#assign
// name=model>.
env.setVariable("retailStores", DefaultObjectWrapper.getDefaultInstance().wrap(retailStoreList));
}
}
项目:AdminEAP
文件:FreeMarkerUtil.java
/**
* 获取模板
*
* @param templateName
* 模板名称(含后缀名)
* @return Template
* @throws IOException
*/
public static Template getTemplate(String templateName) throws IOException {
Configuration cfg = new Configuration();
Template temp = null;
File tmpRootFile = getResource(templateName).getFile().getParentFile();
if (tmpRootFile == null) {
throw new RuntimeException("无法取得模板根路径!");
}
try {
cfg.setDefaultEncoding("utf-8");
cfg.setOutputEncoding("utf-8");
cfg.setDirectoryForTemplateLoading(tmpRootFile);
/* cfg.setDirectoryForTemplateLoading(getResourceURL()); */
cfg.setObjectWrapper(new DefaultObjectWrapper());
temp = cfg.getTemplate(templateName);
} catch (IOException e) {
e.printStackTrace();
}
return temp;
}
项目:kc-rice
文件:XmlIngesterAftBase.java
protected List<File> buildUserFileUploadList() throws Exception {
List<File> fileUploadList = new ArrayList<File>();
try {
Properties props = loadProperties(PROPS_LOCATION, DEFAULT_PROPS_LOCATION);
String usersArg = System.getProperty("xmlingester.user.list").replace(".", "").replace("-", "").toLowerCase();
List<XmlIngesterUser> xmlIngesterUsers = new LinkedList<XmlIngesterUser>();
StringTokenizer token = new StringTokenizer(usersArg, ",");
while (token.hasMoreTokens()) {
xmlIngesterUsers.add(new XmlIngesterUser(token.nextToken()));
}
props.put("xmlIngesterUsers", xmlIngesterUsers);
cfg.setObjectWrapper(new DefaultObjectWrapper());
// build files and add to array
fileUploadList.add(
writeTemplateToFile(newTempFile("userlist-users.xml"), cfg.getTemplate("UserListIngestion.ftl"), props));
} catch( Exception e) {
throw new Exception("Unable to generate files for upload " + e.getMessage(), e);
}
return fileUploadList;
}
项目:ipaas
文件:FisFreemarkerServlet.java
public void init() {
// 初始化FreeMarker配置
// 创建一个Configuration实例
cfg = new Configuration();
// 设置FreeMarker的模版文件位置
cfg.setServletContextForTemplateLoading(getServletContext(), "template");
// 设置包装器,并将对象包装为数据模型
cfg.setObjectWrapper(new DefaultObjectWrapper());
try {
fr = FisRewrite.getInstance();
} catch (FisException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
项目:ipaas
文件:FtlUtil.java
/**
* 获取模板
*
* @param templatePath
* 模板文件存放目录
* @param templateName
* 模板文件名称
* @param templateEncoding
* 模板文件的编码方式
* @throws IOException
*/
public static Template getTemplate(String templatePath, String templateName, String templateEncoding)
throws IOException {
Configuration config = new Configuration();
File file = new File(templatePath);
// 设置要解析的模板所在的目录,并加载模板文件
config.setDirectoryForTemplateLoading(file);
// 设置包装器,并将对象包装为数据模型
config.setObjectWrapper(new DefaultObjectWrapper());
// 获取模板,并设置编码方式,这个编码必须要与页面中的编码格式一致
Template template = config.getTemplate(templateName, templateEncoding);
return template;
}
项目:ipaas
文件:FtlUtil.java
/**
* 获取模板
*
* @param context
* ServletContext
* @param templatePath
* 模板文件存放目录
* @param templateName
* 模板文件名称
* @param templateEncoding
* 模板文件的编码方式
* @throws IOException
*/
public static Template getTemplate(ServletContext context, String templatePath, String templateName,
String templateEncoding) throws IOException {
Configuration config = new Configuration();
File file = new File(templatePath);
// 设置要解析的模板所在的目录,并加载模板文件
config.setDirectoryForTemplateLoading(file);
// 设置包装器,并将对象包装为数据模型
config.setObjectWrapper(new DefaultObjectWrapper());
// 获取模板,并设置编码方式,这个编码必须要与页面中的编码格式一致
Template template = config.getTemplate(templateName, templateEncoding);
return template;
}
项目:Telepathology
文件:FacadeRouterCodeGenerator.java
/**
*
* @param messager - the compiler message to print messages to
* @param generateMockImplementation
* @param packageName - the package name of the generated class (and the interface to implement)
* @param interfaceName - the (simple) name of the interface to implement
*/
public FacadeRouterCodeGenerator(Messager messager,
boolean generateMockImplementation,
boolean generateTests)
{
freemarkerConfig = new Configuration();
freemarkerConfig.setTemplateLoader( new ClassLoaderTemplateLoader(this.getClass().getClassLoader(), messager) );
freemarkerConfig.setObjectWrapper(new DefaultObjectWrapper());
dataModel.put(METHODS, new ArrayList<Map<String, Object>>());
dataModel.put(IMPORTS, new ArrayList<String>());
this.messager = messager;
this.generateMockImplementation = generateMockImplementation;
this.generateTests = generateTests;
}
项目:testability-explorer
文件:SourceReportGenerator.java
public SourceReportGenerator(GradeCategories grades, SourceLoader sourceLoader,
File outputDirectory, CostModel costModel, Date currentTime,
int worstCount, Configuration cfg) {
this.grades = grades;
this.sourceLoader = sourceLoader;
this.directory = outputDirectory;
this.costModel = costModel;
this.cfg = cfg;
cfg.setTemplateLoader(new ClassPathTemplateLoader(PREFIX));
cfg.setObjectWrapper(new DefaultObjectWrapper());
try {
cfg.setSharedVariable("maxExcellentCost", grades.getMaxExcellentCost());
cfg.setSharedVariable("maxAcceptableCost", grades.getMaxAcceptableCost());
cfg.setSharedVariable("currentTime", currentTime);
cfg.setSharedVariable("computeOverallCost", new OverallCostMethod());
cfg.setSharedVariable("printCost", new PrintCostMethod());
} catch (TemplateModelException e) {
throw new RuntimeException(e);
}
projectByClassReport = new ProjectReport("index", grades,
new WeightedAverage());
projectByClassReport.setMaxUnitCosts(worstCount);
projectByPackageReport = new ProjectReport("index", grades,
new WeightedAverage());
}
项目:AndPlug
文件:ExtraDaoGenerator.java
public ExtraDaoGenerator() throws IOException {
System.out.println("greenDAO Generator");
System.out.println("Copyright 2011-2014 Markus Junginger, greenrobot.de. Licensed under GPL V3.");
System.out.println("This program comes with ABSOLUTELY NO WARRANTY");
patternKeepIncludes = compilePattern("INCLUDES");
patternKeepFields = compilePattern("FIELDS");
patternKeepMethods = compilePattern("METHODS");
Configuration config = new Configuration();
config.setClassForTemplateLoading(this.getClass(), "/");
config.setObjectWrapper(new DefaultObjectWrapper());
templateDao = config.getTemplate("dao.ftl");
templateDaoMaster = config.getTemplate("dao-master.ftl");
templateDaoSession = config.getTemplate("dao-session.ftl");
templateEntity = config.getTemplate("entity.ftl");
templateDaoUnitTest = config.getTemplate("dao-unit-test.ftl");
templateContentProvider = config.getTemplate("content-provider.ftl");
templateDBService = config.getTemplate("db-service.ftl");
}
项目:JobHunter
文件:FreeMarkerRenderer.java
public FreeMarkerRenderer() {
cfg = new Configuration();
if(ApplicationState.isDevelopment()){
try {
cfg.setDirectoryForTemplateLoading(new File("src/main/resources/templates/"));
} catch (IOException e) {
l.error("Failed to access path", e);
}
}else{
cfg.setClassForTemplateLoading(this.getClass(), "/templates/");
}
cfg.setObjectWrapper(new DefaultObjectWrapper());
cfg.setDefaultEncoding("UTF-8");
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.HTML_DEBUG_HANDLER);
}
项目:community-edition-old
文件:LocalFeedTaskProcessor.java
@Override
protected Configuration getFreemarkerConfiguration(RepoCtx ctx)
{
if (useRemoteCallbacks)
{
// as per 3.0, 3.1
return super.getFreemarkerConfiguration(ctx);
}
else
{
Configuration cfg = new Configuration();
cfg.setObjectWrapper(new DefaultObjectWrapper());
cfg.setTemplateLoader(new ClassPathRepoTemplateLoader(nodeService, contentService, defaultEncoding));
// TODO review i18n
cfg.setLocalizedLookup(false);
cfg.setIncompatibleImprovements(new Version(2, 3, 20));
cfg.setNewBuiltinClassResolver(TemplateClassResolver.SAFER_RESOLVER);
return cfg;
}
}
项目:community-edition-old
文件:QNameAwareObjectWrapper.java
@Override
protected ObjectWrapper initialValue()
{
return new DefaultObjectWrapper()
{
/* (non-Javadoc)
* @see freemarker.template.DefaultObjectWrapper#wrap(java.lang.Object)
*/
@Override
public TemplateModel wrap(Object obj) throws TemplateModelException
{
if (obj instanceof QNameMap)
{
return new QNameHash((QNameMap)obj, this);
}
else
{
return super.wrap(obj);
}
}
};
}
项目:covito-coder
文件:FreeMarkerImpl.java
public void initConfiguration() {
try {
config = new Configuration();
config.setDirectoryForTemplateLoading(new File("templates/"));
config.setObjectWrapper(new DefaultObjectWrapper());
config.setSetting("classic_compatible", "true");
config.setSetting("whitespace_stripping", "true");
config.setSetting("template_update_delay", "1");
config.setSetting("locale", "zh_CN");
config.setSetting("default_encoding", "utf-8");
config.setSetting("url_escaping_charset", "utf-8");
config.setSetting("datetime_format", "yyyy-MM-dd hh:mm:ss");
config.setSetting("date_format", "yyyy-MM-dd");
config.setSetting("time_format", "HH:mm:ss");
config.setSetting("number_format", "0.######;");
} catch (Exception e) {
e.printStackTrace();
}
}
项目:matsuo-core
文件:AbstractPrintGeneratingTest.java
AbstractPrintGeneratingTest() {
targetDirectory.mkdirs();
try {
freeMarkerConfiguration = new Configuration();
freeMarkerConfiguration.setTemplateLoader(new ClassTemplateLoader(Class.class, "/"));
//freeMarkerConfiguration.setDirectoryForTemplateLoading(new File(templateDirectory).getAbsoluteFile());
freeMarkerConfiguration.setObjectWrapper(new DefaultObjectWrapper());
freeMarkerConfiguration.setDefaultEncoding("UTF-8");
freeMarkerConfiguration.setTemplateExceptionHandler(HTML_DEBUG_HANDLER);
freeMarkerConfiguration.setIncompatibleImprovements(new Version(2, 3, 20));
printsRendererService.setFreeMarkerConfiguration(freeMarkerConfiguration);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
项目:j-road
文件:DatabaseGenerator.java
public static void generate(DatabaseClasses classes, String outputdir) throws IOException, TemplateException {
Configuration cfg = new Configuration();
cfg.setClassForTemplateLoading(TypeGen.class, "/");
cfg.setObjectWrapper(new DefaultObjectWrapper());
Template interfaceTemp = cfg.getTemplate(DATABASE_TEMPLATE_FILE);
Template implTemp = cfg.getTemplate(DATABASE_IMPL_TEMPLATE_FILE);
for (DatabaseClass databaseClass : classes.getClasses().values()) {
Map<String, DatabaseClass> root = new HashMap<String, DatabaseClass>();
root.put("databaseClass", databaseClass);
Writer out = FileUtil.createAndGetOutputStream(databaseClass.getQualifiedInterfaceName(), outputdir);
interfaceTemp.process(root, out);
out.flush();
out = FileUtil.createAndGetOutputStream(databaseClass.getQualifiedImplementationName(), outputdir);
implTemp.process(root, out);
out.flush();
}
}
项目:rice
文件:XmlIngesterAftBase.java
protected List<File> buildUserFileUploadList() throws Exception {
List<File> fileUploadList = new ArrayList<File>();
try {
Properties props = loadProperties(PROPS_LOCATION, DEFAULT_PROPS_LOCATION);
String usersArg = System.getProperty("xmlingester.user.list").replace(".", "").replace("-", "").toLowerCase();
List<XmlIngesterUser> xmlIngesterUsers = new LinkedList<XmlIngesterUser>();
StringTokenizer token = new StringTokenizer(usersArg, ",");
while (token.hasMoreTokens()) {
xmlIngesterUsers.add(new XmlIngesterUser(token.nextToken()));
}
props.put("xmlIngesterUsers", xmlIngesterUsers);
cfg.setObjectWrapper(new DefaultObjectWrapper());
// build files and add to array
fileUploadList.add(
writeTemplateToFile(newTempFile("userlist-users.xml"), cfg.getTemplate("UserListIngestion.ftl"), props));
} catch( Exception e) {
throw new Exception("Unable to generate files for upload " + e.getMessage(), e);
}
return fileUploadList;
}
项目:QuickProject
文件:FilesGenerator.java
public void generate() throws GlobalConfigException {
Configuration cfg = new Configuration();
File tmplDir = globalConfig.getTmplFile();
try {
cfg.setDirectoryForTemplateLoading(tmplDir);
} catch (IOException e) {
throw new GlobalConfigException("tmplPath", e);
}
cfg.setObjectWrapper(new DefaultObjectWrapper());
for (Module module : modules) {
logger.debug("module:" + module.getName());
for (Bean bean : module.getBeans()) {
logger.debug("bean:" + bean.getName());
Map dataMap = new HashMap();
dataMap.put("bean", bean);
dataMap.put("module", module);
dataMap.put("generate", generate);
dataMap.put("config", config);
dataMap.put("now", DateFormatUtils.ISO_DATE_FORMAT.format(new Date()));
generate(cfg, dataMap);
}
}
}
项目:rubah
文件:UpdateClassGenerator.java
public void generateUpdateClass(File outJavaFile, String outJavaPackage) throws IOException {
String template =
new String(IOUtils.toCharArray(UpdateClassGenerator.class.getResourceAsStream("/UpdateClass.template.java")));
Configuration cfg = new Configuration();
StringTemplateLoader loader = new StringTemplateLoader();
loader.putTemplate("template", template);
cfg.setTemplateLoader(loader);
cfg.setObjectWrapper(new DefaultObjectWrapper());
Template temp = cfg.getTemplate("template");
FileWriter fw = new FileWriter(outJavaFile);
BufferedWriter bw = new BufferedWriter(fw);
try {
temp.process(this.buildTemplateModel(outJavaPackage), bw);
} catch (TemplateException e) {
throw new Error(e);
}
bw.close();
fw.close();
}
项目:greendao-cipher
文件:DaoGenerator.java
public DaoGenerator() throws IOException {
System.out.println("greenDAO Generator");
System.out.println("Copyright 2011-2013 Markus Junginger, greenrobot.de. Licensed under GPL V3.");
System.out.println("This program comes with ABSOLUTELY NO WARRANTY");
patternKeepIncludes = compilePattern("INCLUDES");
patternKeepFields = compilePattern("FIELDS");
patternKeepMethods = compilePattern("METHODS");
Configuration config = new Configuration();
config.setClassForTemplateLoading(this.getClass(), "/");
config.setObjectWrapper(new DefaultObjectWrapper());
templateDao = config.getTemplate("dao.ftl");
templateDaoMaster = config.getTemplate("dao-master.ftl");
templateDaoSession = config.getTemplate("dao-session.ftl");
templateEntity = config.getTemplate("entity.ftl");
templateDaoUnitTest = config.getTemplate("dao-unit-test.ftl");
templateContentProvider = config.getTemplate("content-provider.ftl");
}
项目:stdlib
文件:FreemarkerModule.java
@Provides
@Singleton
public FreemarkerTemplater createFreemarker(ServletContext context, FreemarkerURLHelper urlHelper, GuiceConfig configuration)
{
Configuration freemarker = new Configuration(FREEMARKER_COMPATIBILITY_VERSION);
freemarker.setServletContextForTemplateLoading(context, "/WEB-INF/template/");
freemarker.setObjectWrapper(new DefaultObjectWrapper(FREEMARKER_COMPATIBILITY_VERSION));
FreemarkerTemplater templater = new FreemarkerTemplater(freemarker);
templater.set("urls", urlHelper);
templater.set("config", configuration);
return templater;
}
项目:kie-wb-common
文件:AbstractGenerator.java
public AbstractGenerator() {
try {
this.config = new Configuration();
this.config.setClassForTemplateLoading(this.getClass(),
"templates");
this.config.setObjectWrapper(new DefaultObjectWrapper());
} catch (NoClassDefFoundError var2) {
if (var2.getCause() == null) {
var2.initCause(INITIALIZER_EXCEPTION);
}
throw var2;
} catch (ExceptionInInitializerError var3) {
INITIALIZER_EXCEPTION = var3;
throw var3;
}
}
项目:kie-wb-common
文件:AbstractAdapterGenerator.java
public AbstractAdapterGenerator() {
synchronized (AbstractAdapterGenerator.class) {
try {
this.config = new Configuration();
this.config.setClassForTemplateLoading(this.getClass(),
"templates");
this.config.setObjectWrapper(new DefaultObjectWrapper());
} catch (NoClassDefFoundError var2) {
if (var2.getCause() == null) {
var2.initCause(INITIALIZER_EXCEPTION);
}
throw var2;
} catch (ExceptionInInitializerError var3) {
INITIALIZER_EXCEPTION = var3;
throw var3;
}
}
}
项目:TerraJ
文件:DetailsFrame.java
protected void writeTemplate(String templateName, Writer out)
throws TemplateException, IOException
{
Configuration cfg = new Configuration();
// Specify the data source where the template files come from.
cfg.setClassForTemplateLoading(TemplateTest.class,
"/com/alvermont/terraj/stargen/templates/");
// Specify how templates will see the data model. This is an advanced topic...
// but just use this:
cfg.setObjectWrapper(new DefaultObjectWrapper());
DetailsFromTemplate dft = new DetailsFromTemplate();
Template temp = cfg.getTemplate(templateName);
dft.processTemplate(temp, parent.planets, parent.star, out);
}
项目:TerraJ
文件:DetailsFrame.java
protected void writeTemplate(String templateName, Writer out)
throws TemplateException, IOException
{
Configuration cfg = new Configuration();
// Specify the data source where the template files come from.
cfg.setDirectoryForTemplateLoading(templateFile.getParentFile());
// Specify how templates will see the data model. This is an advanced topic...
// but just use this:
cfg.setObjectWrapper(new DefaultObjectWrapper());
DetailsFromTemplate dft = new DetailsFromTemplate();
Template temp = cfg.getTemplate(templateName);
dft.processTemplate(temp, parent.planets, parent.star, out);
}
项目:ngrinder-recorder
文件:Recorder.java
/**
* Prepare the initial browser content template.
*
* @param resourceName
* resource name to be loaded.
* @param lang
* language name
* @return loaded template
*/
protected Template prepareTemplate(String resourceName, String lang) {
String fullResourceName = "/html/" + resourceName + "_" + lang + ".html";
InputStream htmlResourceStream = Recorder.class.getResourceAsStream(fullResourceName);
if (htmlResourceStream == null) {
htmlResourceStream = Recorder.class.getResourceAsStream("/html/" + resourceName + ".html");
}
try {
loader.putTemplate(resourceName, IOUtils.toString(htmlResourceStream, "UTF-8"));
Configuration freemarkerConfig = new Configuration();
freemarkerConfig.setTemplateLoader(loader);
DefaultObjectWrapper objectWrapper = new DefaultObjectWrapper();
objectWrapper.setExposureLevel(DefaultObjectWrapper.EXPOSE_ALL);
freemarkerConfig.setObjectWrapper(objectWrapper);
return freemarkerConfig.getTemplate(resourceName);
} catch (IOException e) {
NoOp.noOp();
} finally {
IOUtils.closeQuietly(htmlResourceStream);
}
return null;
}
项目:ngrinder-recorder
文件:ProcessHTTPRecordingWithFreeMarker.java
/**
* Prepare a freemarker template for the given language.
*
* @param lang
* language to be used in the template
* @return prepared template
*/
private Template prepareTemplate(Language lang) {
InputStream resourceAsStream = ProcessHTTPRecordingWithFreeMarker.class.getResourceAsStream("/template/"
+ lang.getTemplateName() + ".ftl");
try {
loader.putTemplate(lang.getTemplateName(), IOUtils.toString(resourceAsStream));
Configuration freemarkerConfig = new Configuration();
freemarkerConfig.setTemplateLoader(loader);
DefaultObjectWrapper objectWrapper = new DefaultObjectWrapper();
objectWrapper.setExposureLevel(DefaultObjectWrapper.EXPOSE_ALL);
freemarkerConfig.setObjectWrapper(objectWrapper);
return freemarkerConfig.getTemplate(lang.getTemplateName());
} catch (IOException e) {
LOGGER.error("basic template load error", e);
} finally {
IOUtils.closeQuietly(resourceAsStream);
}
return null;
}
项目:aureum
文件:OracleModelWriter.java
private void executeScript(String templateScript, ObjectModel object) {
if (StringUtils.isEmpty(templateScript)) {
return;
}
try {
Map<String, ObjectModel> model = Collections.singletonMap("object", object);
Configuration cfg = new Configuration();
cfg.setObjectWrapper(new DefaultObjectWrapper());
Template t = new Template("templateScript", new StringReader(templateScript), cfg);
Writer out = new StringWriter();
t.process(model, out);
String transformedScript = out.toString();
log.info(transformedScript);
qRunner.update(transformedScript);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
项目:jbake-rtl-jalaali
文件:FreemarkerTemplateEngine.java
private void createTemplateConfiguration(final CompositeConfiguration config, final File templatesPath) {
templateCfg = new Configuration();
templateCfg.setDefaultEncoding(config.getString(Keys.RENDER_ENCODING));
try {
templateCfg.setDirectoryForTemplateLoading(templatesPath);
} catch (IOException e) {
e.printStackTrace();
}
templateCfg.setObjectWrapper(new DefaultObjectWrapper());
}
项目:alfresco-repository
文件:FeedTaskProcessor.java
protected Configuration getFreemarkerConfiguration(RepoCtx ctx)
{
Configuration cfg = new Configuration();
cfg.setObjectWrapper(new DefaultObjectWrapper());
// custom template loader
cfg.setTemplateLoader(new TemplateWebScriptLoader(ctx.getRepoEndPoint(), ctx.getTicket()));
// TODO review i18n
cfg.setLocalizedLookup(false);
cfg.setIncompatibleImprovements(new Version(2, 3, 20));
cfg.setNewBuiltinClassResolver(TemplateClassResolver.SAFER_RESOLVER);
return cfg;
}
项目:satisfy
文件:TemplateUtils.java
public static File processTemplate(File template) throws IOException, TemplateException {
Configuration config = new Configuration();
config.setDirectoryForTemplateLoading(template.getParentFile());
config.setObjectWrapper(new DefaultObjectWrapper());
config.setDefaultEncoding("UTF-8");
Template temp = config.getTemplate(template.getName());
String child = template.getName() + RandomStringUtils.randomAlphanumeric(8);
File fileOutput = new File(template.getParentFile(), child);
Writer fileWriter = new FileWriter(fileOutput);
Map<Object, Object> currentSession = Thucydides.getCurrentSession();
temp.process(currentSession, fileWriter);
return fileOutput;
}
项目:satisfy
文件:WebserviceSteps.java
private File prepareFreemarkerTemplate(String filePath) throws IOException, TemplateException {
File template = getFileFromResourcesByFilePath(filePath);
Configuration config = new Configuration();
config.setDirectoryForTemplateLoading(template.getParentFile());
config.setObjectWrapper(new DefaultObjectWrapper());
config.setDefaultEncoding("UTF-8");
Template temp = config.getTemplate(template.getName());
String child = template.getName() + RandomStringUtils.randomAlphanumeric(8);
File fileOutput = new File(template.getParentFile(), child);
Writer fileWriter = new FileWriter(fileOutput);
Map<Object, Object> currentSession = Thucydides.getCurrentSession();
temp.process(currentSession, fileWriter);
return fileOutput;
}
项目:DWSurvey
文件:FreeMarkertUtil.java
/**
* 初始化模板配置
*
* @param servletContext
* javax.servlet.ServletContext
* @param templateDir
* 模板位置
*/
public static void initConfig(ServletContext servletContext,
String templateDir) {
config.setLocale(Locale.CHINA);
config.setDefaultEncoding("utf-8");
config.setEncoding(Locale.CHINA, "utf-8");
templateDir="WEB-INF/templates";
config.setServletContextForTemplateLoading(servletContext, templateDir);
config.setObjectWrapper(new DefaultObjectWrapper());
}
项目:geeCommerce-Java-Shop-Software-and-PIM
文件:SetDirective.java
@SuppressWarnings("rawtypes")
@Override
public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body)
throws TemplateException, IOException {
TemplateModel pValue = (TemplateModel) params.get("value");
SimpleScalar pVar = (SimpleScalar) params.get("var");
if (pVar == null)
throw new IllegalArgumentException("The var parameter cannot be null in set-directive");
String var = pVar.getAsString();
Object value = null;
if (pValue != null) {
if (pValue instanceof StringModel) {
value = ((StringModel) pValue).getWrappedObject();
} else if (pValue instanceof SimpleHash) {
value = ((SimpleHash) pValue).toMap();
} else {
value = DeepUnwrap.unwrap(pValue);
}
} else if (body != null) {
StringWriter sw = new StringWriter();
try {
body.render(sw);
value = sw.toString().trim();
} finally {
IOUtils.closeQuietly(sw);
}
}
env.setVariable(var, DefaultObjectWrapper.getDefaultInstance().wrap(value));
}
项目:abixen-platform
文件:MailServiceImpl.java
@Async
@Override
public void sendMail(String to, Map<String, String> parameters, String template, String subject) {
log.debug("sendMail() - to: " + to);
MimeMessage message = mailSender.createMimeMessage();
try {
String stringDir = MailServiceImpl.class.getResource("/templates/freemarker").getPath();
Configuration cfg = new Configuration(Configuration.VERSION_2_3_22);
cfg.setDefaultEncoding("UTF-8");
File dir = new File(stringDir);
cfg.setDirectoryForTemplateLoading(dir);
cfg.setObjectWrapper(new DefaultObjectWrapper(Configuration.VERSION_2_3_22));
StringBuffer content = new StringBuffer();
Template temp = cfg.getTemplate(template + ".ftl");
content.append(FreeMarkerTemplateUtils.processTemplateIntoString(temp, parameters));
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(content.toString(), "text/html;charset=\"UTF-8\"");
MimeMultipart multipart = new MimeMultipart("related");
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
message.setFrom(new InternetAddress(platformMailConfigurationProperties.getUser().getUsername(), platformMailConfigurationProperties.getUser().getName()));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
mailSender.send(message);
log.info("Message has been sent to: " + to);
} catch (Exception e) {
e.printStackTrace();
}
}