@Autowired private void init(FreeMarkerConfigurer freeMarkerConfigurer, DirectiveComponent directiveComponent) throws IOException, TemplateModelException { Map<String, Object> freemarkerVariables = new HashMap<>(); adminConfiguration = freeMarkerConfigurer.getConfiguration(); for (Entry<String, AbstractTemplateDirective> entry : directiveComponent.getTemplateDirectiveMap().entrySet()) { freemarkerVariables.put(directivePrefix + entry.getKey(), entry.getValue()); } freemarkerVariables.putAll(directiveComponent.getMethodMap()); adminConfiguration.setAllSharedVariables(new SimpleHash(freemarkerVariables, adminConfiguration.getObjectWrapper())); webConfiguration = new Configuration(Configuration.getVersion()); File webFile = new File(siteComponent.getWebTemplateFilePath()); webFile.mkdirs(); webConfiguration.setDirectoryForTemplateLoading(webFile); copyConfig(adminConfiguration, webConfiguration); Map<String, Object> webFreemarkerVariables = new HashMap<>(freemarkerVariables); webFreemarkerVariables.put(TemplateCacheComponent.CONTENT_CACHE, new NoCacheDirective()); webConfiguration.setAllSharedVariables(new SimpleHash(webFreemarkerVariables, webConfiguration.getObjectWrapper())); taskConfiguration = new Configuration(Configuration.getVersion()); File taskFile = new File(siteComponent.getTaskTemplateFilePath()); taskFile.mkdirs(); taskConfiguration.setDirectoryForTemplateLoading(taskFile); copyConfig(adminConfiguration, taskConfiguration); for (Entry<String, AbstractTaskDirective> entry : directiveComponent.getTaskDirectiveMap().entrySet()) { freemarkerVariables.put(directivePrefix + entry.getKey(), entry.getValue()); } taskConfiguration.setAllSharedVariables(new SimpleHash(freemarkerVariables, taskConfiguration.getObjectWrapper())); }
@Autowired private void init(FreeMarkerConfigurer freeMarkerConfigurer, DirectiveComponent directiveComponent) throws IOException, TemplateModelException { Map<String, Object> freemarkerVariables = new HashMap<>(); adminConfiguration = freeMarkerConfigurer.getConfiguration(); for (Entry<String, AbstractTemplateDirective> entry : directiveComponent.getTemplateDirectiveMap().entrySet()) { freemarkerVariables.put(directivePrefix + entry.getKey(), entry.getValue()); } freemarkerVariables.putAll(directiveComponent.getMethodMap()); adminConfiguration.setAllSharedVariables(new SimpleHash(freemarkerVariables, adminConfiguration.getObjectWrapper())); webConfiguration = new Configuration(Configuration.getVersion()); File webFile = new File(siteComponent.getWebTemplateFilePath()); webFile.mkdirs(); webConfiguration.setDirectoryForTemplateLoading(webFile); copyConfig(adminConfiguration, webConfiguration); Map<String, Object> webFreemarkerVariables = new HashMap<>(freemarkerVariables); webFreemarkerVariables.put(TemplateCacheComponent.CONTENT_CACHE, new NoCacheDirective()); webConfiguration.setAllSharedVariables(new SimpleHash(webFreemarkerVariables, webConfiguration.getObjectWrapper())); taskConfiguration = new Configuration(Configuration.getVersion()); File taskFile = new File(siteComponent.getTaskTemplateFilePath()); taskFile.mkdirs(); taskConfiguration.setDirectoryForTemplateLoading(taskFile); copyConfig(adminConfiguration, taskConfiguration); for (Entry<String, AbstractTaskDirective> entry : directiveComponent.getTaskDirectiveMap().entrySet()) { freemarkerVariables.put(directivePrefix + entry.getKey(), entry.getValue()); } taskConfiguration.setAllSharedVariables(new SimpleHash(freemarkerVariables, taskConfiguration.getObjectWrapper())); }