mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
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:
@@ -3,7 +3,25 @@
|
||||
|
||||
<beans>
|
||||
|
||||
<bean id="scriptService" class="org.alfresco.repo.jscript.RhinoScriptService">
|
||||
<bean id="scriptService" class="org.alfresco.repo.processor.ScriptServiceImpl">
|
||||
<property name="defaultScriptProcessor">
|
||||
<value>javascript</value>
|
||||
</property>
|
||||
<property name="nodeService">
|
||||
<ref bean="NodeService"/>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="javaScriptProcessor" class="org.alfresco.repo.jscript.RhinoScriptProcessor" init-method="register">
|
||||
<property name="name">
|
||||
<value>javascript</value>
|
||||
</property>
|
||||
<property name="extension">
|
||||
<value>js</value>
|
||||
</property>
|
||||
<property name="scriptService">
|
||||
<ref bean="scriptService"/>
|
||||
</property>
|
||||
<property name="serviceRegistry">
|
||||
<ref bean="ServiceRegistry"/>
|
||||
</property>
|
||||
@@ -20,20 +38,20 @@
|
||||
|
||||
<!-- base config implementation that script extension beans extend from - for auto registration
|
||||
as a global script with the ScriptService -->
|
||||
<bean id="baseScriptImplementation" abstract="true" init-method="register">
|
||||
<property name="scriptService">
|
||||
<ref bean="scriptService"/>
|
||||
<bean id="baseJavaScriptExtension" abstract="true" init-method="register">
|
||||
<property name="processor">
|
||||
<ref bean="javaScriptProcessor"/>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="loggerScript" parent="baseScriptImplementation" class="org.alfresco.repo.jscript.ScriptLogger">
|
||||
<property name="scriptName">
|
||||
<bean id="loggerScript" parent="baseJavaScriptExtension" class="org.alfresco.repo.jscript.ScriptLogger">
|
||||
<property name="extensionName">
|
||||
<value>logger</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="utilsScript" parent="baseScriptImplementation" class="org.alfresco.repo.jscript.ScriptUtils">
|
||||
<property name="scriptName">
|
||||
<bean id="utilsScript" parent="baseJavaScriptExtension" class="org.alfresco.repo.jscript.ScriptUtils">
|
||||
<property name="extensionName">
|
||||
<value>utils</value>
|
||||
</property>
|
||||
<property name="serviceRegistry">
|
||||
@@ -41,8 +59,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="actionsScript" parent="baseScriptImplementation" class="org.alfresco.repo.jscript.Actions">
|
||||
<property name="scriptName">
|
||||
<bean id="actionsScript" parent="baseJavaScriptExtension" class="org.alfresco.repo.jscript.Actions">
|
||||
<property name="extensionName">
|
||||
<value>actions</value>
|
||||
</property>
|
||||
<property name="serviceRegistry">
|
||||
@@ -50,8 +68,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="searchScript" parent="baseScriptImplementation" class="org.alfresco.repo.jscript.Search">
|
||||
<property name="scriptName">
|
||||
<bean id="searchScript" parent="baseJavaScriptExtension" class="org.alfresco.repo.jscript.Search">
|
||||
<property name="extensionName">
|
||||
<value>search</value>
|
||||
</property>
|
||||
<property name="serviceRegistry">
|
||||
@@ -62,8 +80,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="classificationScript" parent="baseScriptImplementation" class="org.alfresco.repo.jscript.Classification">
|
||||
<property name="scriptName">
|
||||
<bean id="classificationScript" parent="baseJavaScriptExtension" class="org.alfresco.repo.jscript.Classification">
|
||||
<property name="extensionName">
|
||||
<value>classification</value>
|
||||
</property>
|
||||
<property name="serviceRegistry">
|
||||
@@ -74,8 +92,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="peopleScript" parent="baseScriptImplementation" class="org.alfresco.repo.jscript.People">
|
||||
<property name="scriptName">
|
||||
<bean id="peopleScript" parent="baseJavaScriptExtension" class="org.alfresco.repo.jscript.People">
|
||||
<property name="extensionName">
|
||||
<value>people</value>
|
||||
</property>
|
||||
<property name="serviceRegistry">
|
||||
@@ -89,8 +107,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="sessionScript" parent="baseScriptImplementation" class="org.alfresco.repo.jscript.Session">
|
||||
<property name="scriptName">
|
||||
<bean id="sessionScript" parent="baseJavaScriptExtension" class="org.alfresco.repo.jscript.Session">
|
||||
<property name="extensionName">
|
||||
<value>session</value>
|
||||
</property>
|
||||
<property name="serviceRegistry">
|
||||
@@ -104,8 +122,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="avmScript" parent="baseScriptImplementation" class="org.alfresco.repo.jscript.AVM">
|
||||
<property name="scriptName">
|
||||
<bean id="avmScript" parent="baseJavaScriptExtension" class="org.alfresco.repo.jscript.AVM">
|
||||
<property name="extensionName">
|
||||
<value>avm</value>
|
||||
</property>
|
||||
<property name="serviceRegistry">
|
||||
@@ -113,8 +131,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="crossCopyScript" parent="baseScriptImplementation" class="org.alfresco.repo.jscript.CrossRepositoryCopy">
|
||||
<property name="scriptName">
|
||||
<bean id="crossCopyScript" parent="baseJavaScriptExtension" class="org.alfresco.repo.jscript.CrossRepositoryCopy">
|
||||
<property name="extensionName">
|
||||
<value>crossRepoCopy</value>
|
||||
</property>
|
||||
<property name="serviceRegistry">
|
||||
|
@@ -3,44 +3,39 @@
|
||||
|
||||
<beans>
|
||||
|
||||
<bean id="templateService" class="org.alfresco.repo.template.TemplateServiceImpl">
|
||||
<!-- A Map of named template engines to class implementations/Spring bean IDs -->
|
||||
<!-- The key of each property is the name of the engine - this is the name that is passed in -->
|
||||
<!-- to the TemplateService by the caller. The value is either a fully qualified class name for -->
|
||||
<!-- the object to create, or the Spring bean ID if the object requires Spring service injection. -->
|
||||
<property name="templateEngines">
|
||||
<map>
|
||||
<entry key="freemarker">
|
||||
<value>freeMarkerProcessor</value>
|
||||
</entry>
|
||||
</map>
|
||||
</property>
|
||||
<bean id="templateService" class="org.alfresco.repo.processor.TemplateServiceImpl">
|
||||
<property name="defaultTemplateEngine">
|
||||
<value>freemarker</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- This engine requires Spring config setup to use Repository services -->
|
||||
<!-- The beans are not thread safe and therefore we create one per request -->
|
||||
<bean id="freeMarkerProcessor" class="org.alfresco.repo.template.FreeMarkerProcessor" singleton="false">
|
||||
<property name="nodeService">
|
||||
<property name="nodeService">
|
||||
<ref bean="NodeService"/>
|
||||
</property>
|
||||
<property name="contentService">
|
||||
<ref bean="ContentService"/>
|
||||
</property>
|
||||
<!--
|
||||
<property name="defaultEncoding">
|
||||
<value>UTF-8</value>
|
||||
</property>
|
||||
-->
|
||||
</bean>
|
||||
|
||||
<bean id="baseTemplateProcessor" abstract="true" init-method="register">
|
||||
<property name="templateService">
|
||||
<ref bean="templateService"/>
|
||||
</property>
|
||||
<property name="serviceRegistry">
|
||||
<ref bean="ServiceRegistry"/>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- The beans are not thread safe and therefore we create one per request -->
|
||||
<bean id="freeMarkerProcessor" parent="baseTemplateProcessor" class="org.alfresco.repo.template.FreeMarkerProcessor">
|
||||
<property name="name">
|
||||
<value>freemarker</value>
|
||||
</property>
|
||||
<property name="extension">
|
||||
<value>ftl</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- base config implementation that template extension beans extend from - for auto registration
|
||||
as a global template helper with the TemplateService -->
|
||||
<bean id="baseTemplateImplementation" abstract="true" init-method="register">
|
||||
<property name="templateService">
|
||||
<ref bean="templateService"/>
|
||||
<property name="processor">
|
||||
<ref bean="freeMarkerProcessor"/>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
|
Reference in New Issue
Block a user