Refactor of template and script services to allow easy addition of further template and script processors.

Hightlights of check-in include:
- Introduction of script processor 
- Neutralisation of script and template models
- The notion of a processor extension introduced
- Extensions applied to processor implementation rather than the services
- Auto selection of processor based on file extension of template or script

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5519 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2007-04-20 17:13:34 +00:00
parent 9f0e52e205
commit c8cf88179a
7 changed files with 14 additions and 28 deletions

View File

@@ -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)
{