From 89875c8037bb49833f3d2e094cd3bcb66ef86f14 Mon Sep 17 00:00:00 2001 From: Roy Wetherall Date: Mon, 23 Apr 2007 13:19:26 +0000 Subject: [PATCH] Fallout fix from template/script refactor. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5524 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../web-scripts-application-context.xml | 2 ++ .../web/scripts/AbstractWebScript.java | 2 -- .../web/scripts/TemplateProcessor.java | 25 +++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/config/alfresco/web-scripts-application-context.xml b/config/alfresco/web-scripts-application-context.xml index 254e1801f9..9b0cf6811e 100644 --- a/config/alfresco/web-scripts-application-context.xml +++ b/config/alfresco/web-scripts-application-context.xml @@ -23,6 +23,8 @@ + + diff --git a/source/java/org/alfresco/web/scripts/AbstractWebScript.java b/source/java/org/alfresco/web/scripts/AbstractWebScript.java index 3353dee0fa..943fa2ffbe 100644 --- a/source/java/org/alfresco/web/scripts/AbstractWebScript.java +++ b/source/java/org/alfresco/web/scripts/AbstractWebScript.java @@ -33,11 +33,9 @@ import java.util.Map; import org.alfresco.repo.jscript.Node; import org.alfresco.repo.jscript.ScriptableHashMap; import org.alfresco.repo.template.AbsoluteUrlMethod; -import org.alfresco.repo.template.TemplateNode; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.ScriptLocation; -import org.alfresco.service.cmr.repository.TemplateProcessorExtension; import org.alfresco.service.cmr.repository.TemplateImageResolver; import org.alfresco.service.descriptor.DescriptorService; import org.alfresco.web.scripts.WebScriptDescription.RequiredAuthentication; diff --git a/source/java/org/alfresco/web/scripts/TemplateProcessor.java b/source/java/org/alfresco/web/scripts/TemplateProcessor.java index 0ba2219172..0550da5f5e 100644 --- a/source/java/org/alfresco/web/scripts/TemplateProcessor.java +++ b/source/java/org/alfresco/web/scripts/TemplateProcessor.java @@ -26,6 +26,7 @@ package org.alfresco.web.scripts; import org.alfresco.repo.template.FreeMarkerProcessor; import org.alfresco.repo.template.QNameAwareObjectWrapper; +import org.alfresco.service.cmr.repository.ProcessorExtension; import org.alfresco.util.AbstractLifecycleBean; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; @@ -54,6 +55,7 @@ public class TemplateProcessor extends FreeMarkerProcessor implements Applicatio private TemplateLoader templateLoader = null; private String defaultEncoding; private Configuration templateConfig; + private FreeMarkerProcessor freeMarkerProcessor; /* (non-Javadoc) @@ -82,6 +84,16 @@ public class TemplateProcessor extends FreeMarkerProcessor implements Applicatio { this.templateLoader = templateLoader; } + + /** + * Set the freemarker processor + * + * @param freeMarkerProcessor the free marker processor + */ + public void setFreeMarkerProcessor(FreeMarkerProcessor freeMarkerProcessor) + { + this.freeMarkerProcessor = freeMarkerProcessor; + } /** * Reset template cache @@ -125,6 +137,18 @@ public class TemplateProcessor extends FreeMarkerProcessor implements Applicatio templateConfig = config; } + /** + * Tempory fix to initialise this template processor with the freeMarker extensions expected by + * the templates. + */ + private void initProcessorExtensions() + { + for (ProcessorExtension processorExtension : this.freeMarkerProcessor.getProcessorExtensions()) + { + this.registerProcessorExtension(processorExtension); + } + } + /* (non-Javadoc) * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext) */ @@ -150,6 +174,7 @@ public class TemplateProcessor extends FreeMarkerProcessor implements Applicatio protected void onBootstrap(ApplicationEvent event) { initConfig(); + initProcessorExtensions(); } @Override