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
This commit is contained in:
Roy Wetherall
2007-04-23 13:19:26 +00:00
parent c8cf88179a
commit 89875c8037
3 changed files with 27 additions and 2 deletions

View File

@@ -23,6 +23,8 @@
</bean>
<bean id="webscripts.templateprocessor" class="org.alfresco.web.scripts.TemplateProcessor">
<property name="freeMarkerProcessor" ref="freeMarkerProcessor" />
<property name="serviceRegistry" ref="ServiceRegistry" />
<!-- <property name="defaultEncoding"><value>UTF-8</value></property> -->
</bean>

View File

@@ -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;

View File

@@ -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)
@@ -83,6 +85,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