diff --git a/source/java/org/alfresco/web/app/servlet/BaseTemplateContentServlet.java b/source/java/org/alfresco/web/app/servlet/BaseTemplateContentServlet.java index 3e85926562..f104ead944 100644 --- a/source/java/org/alfresco/web/app/servlet/BaseTemplateContentServlet.java +++ b/source/java/org/alfresco/web/app/servlet/BaseTemplateContentServlet.java @@ -39,7 +39,6 @@ import javax.transaction.UserTransaction; import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.model.ContentModel; 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.NodeService; @@ -224,7 +223,7 @@ public abstract class BaseTemplateContentServlet extends BaseServlet } // create the model - put the supplied noderef in as space/document as appropriate - Object model = getModel(serviceRegistry, req, templateRef, nodeRef); + Map model = getModel(serviceRegistry, req, templateRef, nodeRef); // process the template against the node content directly to the response output stream // assuming the repo is capable of streaming in chunks, this should allow large files @@ -232,7 +231,6 @@ public abstract class BaseTemplateContentServlet extends BaseServlet try { templateService.processTemplate( - null, templateRef.toString(), model, res.getWriter()); @@ -280,15 +278,14 @@ public abstract class BaseTemplateContentServlet extends BaseServlet * @return an object model ready for executing template against */ @SuppressWarnings("unchecked") - private Object getModel(ServiceRegistry services, HttpServletRequest req, NodeRef templateRef, NodeRef nodeRef) + private Map getModel(ServiceRegistry services, HttpServletRequest req, NodeRef templateRef, NodeRef nodeRef) { // build FreeMarker default model and merge Map root = buildModel(services, req, templateRef); // put the current NodeRef in as "space" and "document" - TemplateNode node = new TemplateNode(nodeRef, services, this.imageResolver); - root.put("space", node); - root.put("document", node); + root.put("space", nodeRef); + root.put("document", nodeRef); // add URL arguments as a map called 'args' to the root of the model Map args = new HashMap(8, 1.0f); diff --git a/source/java/org/alfresco/web/app/servlet/command/ExecuteScriptCommand.java b/source/java/org/alfresco/web/app/servlet/command/ExecuteScriptCommand.java index 19d4bda156..9f56675c0f 100644 --- a/source/java/org/alfresco/web/app/servlet/command/ExecuteScriptCommand.java +++ b/source/java/org/alfresco/web/app/servlet/command/ExecuteScriptCommand.java @@ -27,7 +27,6 @@ package org.alfresco.web.app.servlet.command; import java.util.Map; import org.alfresco.model.ContentModel; -import org.alfresco.repo.jscript.RhinoScriptService; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; @@ -89,8 +88,7 @@ public final class ExecuteScriptCommand implements Command } // build the model needed to execute the script - Map model = RhinoScriptService.buildDefaultModel( - serviceRegistry, + Map model = serviceRegistry.getScriptService().buildDefaultModel( personRef, new NodeRef(Repository.getStoreRef(), Application.getCompanyRootId()), (NodeRef)nodeService.getProperty(personRef, ContentModel.PROP_HOMEFOLDER), diff --git a/source/java/org/alfresco/web/bean/ajax/NodeInfoBean.java b/source/java/org/alfresco/web/bean/ajax/NodeInfoBean.java index aacb2d6066..fe07c20aa9 100644 --- a/source/java/org/alfresco/web/bean/ajax/NodeInfoBean.java +++ b/source/java/org/alfresco/web/bean/ajax/NodeInfoBean.java @@ -77,7 +77,7 @@ public class NodeInfoBean if (this.nodeService.exists(nodeRef)) { Repository.getServiceRegistry(context).getTemplateService().processTemplate( - null, "/alfresco/templates/client/summary_panel.ftl", getModel(nodeRef), out); + "/alfresco/templates/client/summary_panel.ftl", getModel(nodeRef), out); } else { diff --git a/source/java/org/alfresco/web/forms/FormImpl.java b/source/java/org/alfresco/web/forms/FormImpl.java index 7df6b1e330..3b95442484 100644 --- a/source/java/org/alfresco/web/forms/FormImpl.java +++ b/source/java/org/alfresco/web/forms/FormImpl.java @@ -168,7 +168,7 @@ public class FormImpl " in webapp " + webappName + " and xml data " + XMLUtil.toString(formInstanceData)); } - result = templateService.processTemplateString(null, + result = templateService.processTemplateString("freemarker", outputPathPattern, new SimpleHash(root)); } diff --git a/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java b/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java index 3159541a88..7ab1c46dbb 100644 --- a/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java +++ b/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java @@ -223,7 +223,7 @@ public class RenderingEngineTemplateImpl String result = null; try { - result = templateService.processTemplateString(null, + result = templateService.processTemplateString("freemarker", outputPathPattern, new SimpleHash(root)); } diff --git a/source/java/org/alfresco/web/scripts/AbstractWebScript.java b/source/java/org/alfresco/web/scripts/AbstractWebScript.java index 3dd5409635..3353dee0fa 100644 --- a/source/java/org/alfresco/web/scripts/AbstractWebScript.java +++ b/source/java/org/alfresco/web/scripts/AbstractWebScript.java @@ -37,7 +37,7 @@ 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.TemplateExtensionImplementation; +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; @@ -255,13 +255,13 @@ public abstract class AbstractWebScript implements WebScript NodeRef companyHome = scriptContext.getCompanyHome(); if (companyHome != null) { - model.put("companyhome", new TemplateNode(scriptContext.getCompanyHome(), serviceRegistry, tr)); + model.put("companyhome", scriptContext.getCompanyHome()); } NodeRef person = scriptContext.getPerson(); if (person != null) { - model.put("person", new TemplateNode(person, serviceRegistry, tr)); - model.put("userhome", new TemplateNode(scriptContext.getUserHome(person), serviceRegistry, tr)); + model.put("person", person); + model.put("userhome", scriptContext.getUserHome(person)); } } @@ -275,14 +275,6 @@ public abstract class AbstractWebScript implements WebScript model.put("absurl", new AbsoluteUrlMethod(req.getServerPath())); model.put("date", new Date()); - // add the template extensions to the model - // the extensions include custom root helper objects and custom template method objects - for (TemplateExtensionImplementation ext : serviceRegistry.getTemplateService().getExtensions()) - { - ext.setTemplateImageResolver(tr); - model.put(ext.getExtensionName(), ext); - } - // add custom model if (customModel != null) { diff --git a/source/java/org/alfresco/web/ui/repo/component/template/DefaultModelHelper.java b/source/java/org/alfresco/web/ui/repo/component/template/DefaultModelHelper.java index 23c36c46a9..caf19de3d1 100644 --- a/source/java/org/alfresco/web/ui/repo/component/template/DefaultModelHelper.java +++ b/source/java/org/alfresco/web/ui/repo/component/template/DefaultModelHelper.java @@ -26,7 +26,6 @@ package org.alfresco.web.ui.repo.component.template; import java.util.Map; -import org.alfresco.repo.template.FreeMarkerProcessor; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.TemplateImageResolver; @@ -95,8 +94,8 @@ public class DefaultModelHelper NodeRef companyRootRef = new NodeRef(Repository.getStoreRef(), Application.getCompanyRootId()); NodeRef userRootRef = new NodeRef(Repository.getStoreRef(), user.getHomeSpaceId()); - return FreeMarkerProcessor.buildDefaultModel( - services, user.getPerson(), companyRootRef, userRootRef, template, resolver); + return services.getTemplateService().buildDefaultModel( + user.getPerson(), companyRootRef, userRootRef, template, resolver); } /** Template Image resolver helper */