Merge Web Scripts from BRANCHES/DEV/DAVE

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5362 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2007-03-08 19:02:48 +00:00
parent 55e9a1fbaf
commit 27b8639a52
7 changed files with 208 additions and 202 deletions

View File

@@ -1,191 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- -->
<!-- API Definition & Implementation Storage -->
<!-- -->
<bean id="web.api.framework.repository" class="org.alfresco.web.api.framework.APIRepositoryContext">
<property name="transactionService" ref="transactionComponent" />
<property name="namespaceService" ref="namespaceService" />
<property name="nodeService" ref="nodeService" />
<property name="personService" ref="personService" />
<property name="searchService" ref="searchService" />
<property name="companyHomeStore"><value>${spaces.store}</value></property>
<property name="companyHomePath"><value>/${spaces.company_home.childname}</value></property>
</bean>
<bean id="web.api.framework.stores" class="org.alfresco.web.api.framework.APIStores">
<property name="templateProcessor" ref="web.api.framework.templateprocessor" />
<property name="scriptProcessor" ref="web.api.framework.scriptprocessor" />
</bean>
<bean id="web.api.framework.templateprocessor" class="org.alfresco.web.api.framework.APITemplateProcessor">
<!-- <property name="defaultEncoding"><value>UTF-8</value></property> -->
</bean>
<bean id="web.api.framework.scriptprocessor" class="org.alfresco.web.api.framework.APIScriptProcessor">
<property name="scriptService" ref="ScriptService" />
</bean>
<!-- TODO: Provide abstract definitions for repo & class path stores -->
<!-- TODO: Define repo web folder for API templates + appropriate patches -->
<!-- TODO: Provide repo extension, classpath extension, repo, classpath search order -->
<!--
<bean id="web.api.framework.store.repopath" class="org.alfresco.web.api.framework.RepoPathAPIStore">
<property name="transactionService" ref="transactionComponent" />
<property name="nodeService" ref="nodeService" />
<property name="namespaceService" ref="namespaceService" />
<property name="contentService" ref="contentService" />
<property name="searchService" ref="SearchService" />
<property name="store"><value>workspace://SpacesStore</value></property>
<property name="path"><value>/app:company_home/app:dictionary/cm:WebAPI</value></property>
</bean>
-->
<bean id="web.api.framework.store.classpath" class="org.alfresco.web.api.framework.ClassPathAPIStore">
<property name="classPath"><value>alfresco/templates/web/api</value></property>
</bean>
<!-- -->
<!-- API Service Registry -->
<!-- -->
<bean id="web.api.framework.registry" class="org.alfresco.web.api.framework.DeclarativeAPIRegistry">
<property name="stores" ref="web.api.framework.stores" />
<property name="authenticator" ref="web.api.framework.authenticator.webclient" />
<property name="serviceLogger" ref="web.api.framework.servicelogger" />
<property name="serviceTransaction" ref="web.api.framework.servicetransaction" />
<property name="formatRegistry" ref="web.api.framework.formatregistry" />
<property name="defaultServiceImpl"><value>web.api.framework.scriptedservice</value></property>
</bean>
<!-- Service Logger -->
<bean id="web.api.framework.servicelogger" class="org.alfresco.web.api.framework.ServiceLogger" />
<!-- Service Transaction -->
<bean id="web.api.framework.servicetransaction" class="org.alfresco.web.api.framework.ServiceTransaction">
<property name="transactionService" ref="transactionComponent" />
</bean>
<!-- Alfresco Web Client Authenticator -->
<bean id="web.api.framework.authenticator.webclient" class="org.alfresco.web.api.framework.AlfWebClientAuthenticator">
<property name="authenticationService" ref="AuthenticationService" />
</bean>
<!-- HTTP Basic Authenticator -->
<bean id="web.api.framework.authenticator.basic" class="org.alfresco.web.api.framework.BasicAuthenticator">
<property name="authenticationService" ref="AuthenticationService" />
</bean>
<!-- System Authenticator -->
<bean id="web.api.framework.authenticator.system" class="org.alfresco.web.api.framework.SystemAuthenticator" />
<!-- Trusted Authenticator -->
<bean id="web.api.framework.authenticator.trusted" class="org.alfresco.web.api.framework.TrustedAuthenticator" />
<!-- -->
<!-- API Response Formats -->
<!-- -->
<!-- Format Registry -->
<bean id="web.api.framework.formatregistry" class="org.alfresco.web.api.framework.FormatRegistry" />
<!-- Format Map -->
<bean id="web.api.framework.formatmap" class="org.alfresco.web.api.framework.FormatMap" abstract="true">
<property name="registry" ref="web.api.framework.formatregistry" />
</bean>
<!-- Default set of API Formats -->
<bean id="web.api.framework.formats" parent="web.api.framework.formatmap">
<property name="formats">
<props>
<prop key="html">text/html</prop>
<prop key="xml">text/xml</prop>
<prop key="atom">application/atom+xml</prop>
<prop key="rss">application/rss+xml</prop>
<prop key="json">application/json</prop>
<prop key="opensearchdescription">application/opensearchdescription+xml</prop>
</props>
</property>
</bean>
<!-- IE Specific set of API Formats -->
<bean id="web.api.framework.formats.IE" parent="web.api.framework.formatmap">
<property name="agent"><value>MSIE</value></property>
<property name="formats">
<props>
<prop key="atom">text/xml</prop>
<prop key="rss">text/xml</prop>
</props>
</property>
</bean>
<!-- -->
<!-- API Configuration -->
<!-- -->
<bean id="web.api.framework.configsource" class="org.alfresco.config.source.UrlConfigSource">
<constructor-arg>
<list>
<value>classpath:alfresco/web-api-config.xml</value>
<value>classpath:alfresco/extension/web-api-config-custom.xml</value>
</list>
</constructor-arg>
</bean>
<bean id="web.api.framework.config" class="org.alfresco.config.xml.XMLConfigService" init-method="init">
<constructor-arg>
<ref bean="web.api.framework.configsource" />
</constructor-arg>
</bean>
<!-- -->
<!-- Base implementations of a Web API Backing Bean -->
<!-- -->
<!-- Abstract API Service -->
<bean id="web.api.framework.service" abstract="true">
<property name="repositoryContext" ref="web.api.framework.repository" />
<property name="serviceRegistry" ref="ServiceRegistry" />
<property name="descriptorService" ref="DescriptorService" />
</bean>
<!-- Scripted API Service -->
<bean id="web.api.framework.scriptedservice" parent="web.api.framework.service" class="org.alfresco.web.api.framework.ScriptedAPIService" singleton="false" />
<!-- -->
<!-- Custom Java Web API Backing Beans -->
<!-- -->
<!-- List of available Web APIs -->
<bean id="web.api.org.alfresco.service.index_get" class="org.alfresco.web.api.Index" parent="web.api.framework.service" />
<!-- Maintain list of available Web APIs -->
<bean id="web.api.org.alfresco.service.index_post" class="org.alfresco.web.api.IndexUpdate" parent="web.api.framework.service" />
<!-- List of registered (OpenSearch) search engines -->
<bean id="web.api.org.alfresco.repository.searchengines_get" class="org.alfresco.web.api.SearchEngines" parent="web.api.framework.service">
<property name="configService" ref="web.api.framework.config" />
<property name="searchProxy" ref="web.api.org.alfresco.repository.searchproxy_get" />
</bean>
<!-- Alfresco Web Client Keyword Search (OpenSearch) -->
<bean id="web.api.org.alfresco.repository.keywordsearch_get" class="org.alfresco.web.api.KeywordSearch" parent="web.api.framework.service">
<property name="searchService" ref="SearchService" />
</bean>
<!-- Alfresco (OpenSearch) Proxy -->
<bean id="web.api.org.alfresco.repository.searchproxy_get" class="org.alfresco.web.api.SearchProxy" parent="web.api.framework.service">
<property name="configService" ref="web.api.framework.config" />
<property name="formatRegistry" ref="web.api.framework.formatregistry" />
</bean>
</beans>

View File

@@ -7,10 +7,10 @@
<!-- API Testing --> <!-- API Testing -->
<!-- --> <!-- -->
<bean id="web.api.framework.test" class="org.alfresco.web.api.framework.TestAPIServer"> <bean id="webscripts.test" class="org.alfresco.web.scripts.TestWebScriptServer">
<property name="APIRegistry"> <property name="registry">
<bean id="web.api.framework.testregistry" parent="web.api.framework.registry"> <bean parent="webscripts.registry">
<property name="authenticator" ref="web.api.framework.authenticator.trusted" /> <property name="authenticator" ref="webscripts.authenticator.trusted" />
</bean> </bean>
</property> </property>
<property name="transactionService" ref="transactionComponent" /> <property name="transactionService" ref="transactionComponent" />

View File

@@ -0,0 +1,197 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- -->
<!-- API Definition & Implementation Storage -->
<!-- -->
<bean id="webscripts.context" class="org.alfresco.web.scripts.WebScriptContext">
<property name="transactionService" ref="transactionComponent" />
<property name="namespaceService" ref="namespaceService" />
<property name="nodeService" ref="nodeService" />
<property name="personService" ref="personService" />
<property name="searchService" ref="searchService" />
<property name="companyHomeStore"><value>${spaces.store}</value></property>
<property name="companyHomePath"><value>/${spaces.company_home.childname}</value></property>
</bean>
<bean id="webscripts.storage" class="org.alfresco.web.scripts.WebScriptStorage">
<property name="templateProcessor" ref="webscripts.templateprocessor" />
<property name="scriptProcessor" ref="webscripts.scriptprocessor" />
</bean>
<bean id="webscripts.templateprocessor" class="org.alfresco.web.scripts.TemplateProcessor">
<!-- <property name="defaultEncoding"><value>UTF-8</value></property> -->
</bean>
<bean id="webscripts.scriptprocessor" class="org.alfresco.web.scripts.ScriptProcessor">
<property name="scriptService" ref="ScriptService" />
</bean>
<bean id="webscripts.repostore" class="org.alfresco.web.scripts.RepoStore" abstract="true">
<property name="transactionService" ref="transactionComponent" />
<property name="nodeService" ref="nodeService" />
<property name="namespaceService" ref="namespaceService" />
<property name="contentService" ref="contentService" />
<property name="searchService" ref="SearchService" />
</bean>
<bean id="webscripts.classpathstore" class="org.alfresco.web.scripts.ClassPathStore" abstract="true" />
<!-- -->
<!-- Web Script Search Paths -->
<!-- -->
<bean parent="webscripts.repostore">
<property name="store"><value>workspace://SpacesStore</value></property>
<property name="path"><value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/cm:webscripts</value></property>
</bean>
<bean parent="webscripts.classpathstore">
<property name="classPath"><value>alfresco/templates/webscripts</value></property>
</bean>
<!-- -->
<!-- API Service Registry -->
<!-- -->
<bean id="webscripts.registry" class="org.alfresco.web.scripts.DeclarativeWebScriptRegistry">
<property name="storage" ref="webscripts.storage" />
<property name="authenticator" ref="webscripts.authenticator.webclient" />
<property name="serviceLogger" ref="webscripts.logger" />
<property name="serviceTransaction" ref="webscripts.transaction" />
<property name="formatRegistry" ref="webscripts.formatregistry" />
<property name="defaultWebScript"><value>webscript_default</value></property>
</bean>
<!-- Service Logger -->
<bean id="webscripts.logger" class="org.alfresco.web.scripts.WebScriptLogger" />
<!-- Service Transaction -->
<bean id="webscripts.transaction" class="org.alfresco.web.scripts.WebScriptTransaction">
<property name="transactionService" ref="transactionComponent" />
</bean>
<!-- Alfresco Web Client Authenticator -->
<bean id="webscripts.authenticator.webclient" class="org.alfresco.web.scripts.WebClientAuthenticator">
<property name="authenticationService" ref="AuthenticationService" />
</bean>
<!-- HTTP Basic Authenticator -->
<bean id="webscripts.authenticator.basic" class="org.alfresco.web.scripts.BasicAuthenticator">
<property name="authenticationService" ref="AuthenticationService" />
</bean>
<!-- System Authenticator -->
<bean id="webscripts.authenticator.system" class="org.alfresco.web.scripts.SystemAuthenticator" />
<!-- Trusted Authenticator -->
<bean id="webscripts.authenticator.trusted" class="org.alfresco.web.scripts.TrustedAuthenticator" />
<!-- -->
<!-- API Response Formats -->
<!-- -->
<!-- Format Registry -->
<bean id="webscripts.formatregistry" class="org.alfresco.web.scripts.FormatRegistry" />
<!-- Format Map -->
<bean id="webscripts.formatmap" class="org.alfresco.web.scripts.FormatMap" abstract="true">
<property name="registry" ref="webscripts.formatregistry" />
</bean>
<!-- Default set of API Formats -->
<bean id="webscripts.formats" parent="webscripts.formatmap">
<property name="formats">
<props>
<prop key="html">text/html</prop>
<prop key="xml">text/xml</prop>
<prop key="atom">application/atom+xml</prop>
<prop key="rss">application/rss+xml</prop>
<prop key="json">application/json</prop>
<prop key="opensearchdescription">application/opensearchdescription+xml</prop>
</props>
</property>
</bean>
<!-- IE Specific set of API Formats -->
<bean id="webscripts.formats.IE" parent="webscripts.formatmap">
<property name="agent"><value>MSIE</value></property>
<property name="formats">
<props>
<prop key="atom">text/xml</prop>
<prop key="rss">text/xml</prop>
</props>
</property>
</bean>
<!-- -->
<!-- API Configuration -->
<!-- -->
<bean id="webscripts.configsource" class="org.alfresco.config.source.UrlConfigSource">
<constructor-arg>
<list>
<value>classpath:alfresco/web-scripts-config.xml</value>
<value>classpath:alfresco/extension/web-api-config-custom.xml</value> <!-- for backwards compatibility -->
<value>classpath:alfresco/extension/web-scripts-config-custom.xml</value>
</list>
</constructor-arg>
</bean>
<bean id="webscripts.config" class="org.alfresco.config.xml.XMLConfigService" init-method="init">
<constructor-arg>
<ref bean="webscripts.configsource" />
</constructor-arg>
</bean>
<!-- -->
<!-- Base implementations of a Web API Backing Bean -->
<!-- -->
<!-- Abstract API Service -->
<bean id="webscript" abstract="true">
<property name="scriptContext" ref="webscripts.context" />
<property name="serviceRegistry" ref="ServiceRegistry" />
<property name="descriptorService" ref="DescriptorService" />
</bean>
<!-- Scripted API Service -->
<bean id="webscript_default" parent="webscript" class="org.alfresco.web.scripts.DeclarativeWebScript" singleton="false" />
<!-- -->
<!-- Custom Java Web API Backing Beans -->
<!-- -->
<!-- List of available Web APIs -->
<bean id="webscript.org.alfresco.index_get" class="org.alfresco.web.scripts.bean.Index" parent="webscript" />
<!-- Maintain list of available Web APIs -->
<bean id="webscript.org.alfresco.index_post" class="org.alfresco.web.scripts.bean.IndexUpdate" parent="webscript" />
<!-- List of registered (OpenSearch) search engines -->
<bean id="webscript.org.alfresco.repository.searchengines_get" class="org.alfresco.web.scripts.bean.SearchEngines" parent="webscript">
<property name="configService" ref="webscripts.config" />
<property name="searchProxy" ref="webscript.org.alfresco.repository.searchproxy_get" />
</bean>
<!-- Alfresco Web Client Keyword Search (OpenSearch) -->
<bean id="webscript.org.alfresco.repository.keywordsearch_get" class="org.alfresco.web.scripts.bean.KeywordSearch" parent="webscript">
<property name="searchService" ref="SearchService" />
</bean>
<!-- Alfresco (OpenSearch) Proxy -->
<bean id="webscript.org.alfresco.repository.searchproxy_get" class="org.alfresco.web.scripts.bean.SearchProxy" parent="webscript">
<property name="configService" ref="webscripts.config" />
<property name="formatRegistry" ref="webscripts.formatregistry" />
</bean>
</beans>

View File

@@ -36,10 +36,10 @@ import javax.faces.context.ResponseWriter;
import org.alfresco.config.Config; import org.alfresco.config.Config;
import org.alfresco.config.ConfigService; import org.alfresco.config.ConfigService;
import org.alfresco.repo.content.MimetypeMap; import org.alfresco.repo.content.MimetypeMap;
import org.alfresco.web.api.SearchProxy;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.config.OpenSearchConfigElement; import org.alfresco.web.config.OpenSearchConfigElement;
import org.alfresco.web.config.OpenSearchConfigElement.EngineConfig; import org.alfresco.web.config.OpenSearchConfigElement.EngineConfig;
import org.alfresco.web.scripts.bean.SearchProxy;
import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.Utils;
import org.alfresco.web.ui.common.component.SelfRenderingComponent; import org.alfresco.web.ui.common.component.SelfRenderingComponent;
import org.springframework.web.jsf.FacesContextUtils; import org.springframework.web.jsf.FacesContextUtils;
@@ -266,9 +266,9 @@ public class UIOpenSearch extends SelfRenderingComponent
// get the web api config service object from spring // get the web api config service object from spring
ConfigService cfgSvc = (ConfigService)FacesContextUtils. ConfigService cfgSvc = (ConfigService)FacesContextUtils.
getRequiredWebApplicationContext(context).getBean("web.api.framework.config"); getRequiredWebApplicationContext(context).getBean("webscripts.config");
SearchProxy searchProxy = (SearchProxy)FacesContextUtils. SearchProxy searchProxy = (SearchProxy)FacesContextUtils.
getRequiredWebApplicationContext(context).getBean("web.api.org.alfresco.repository.searchproxy_get"); getRequiredWebApplicationContext(context).getBean("webscript.org.alfresco.repository.searchproxy_get");
if (cfgSvc != null) if (cfgSvc != null)
{ {
// get the OpenSearch configuration // get the OpenSearch configuration

View File

@@ -63,10 +63,10 @@
<context-param> <context-param>
<param-name>contextConfigLocation</param-name> <param-name>contextConfigLocation</param-name>
<param-value> <param-value>
classpath:alfresco/web-client-application-context.xml
classpath:web-services-application-context.xml
classpath:alfresco/web-api-application-context.xml
classpath:alfresco/application-context.xml classpath:alfresco/application-context.xml
classpath:alfresco/web-client-application-context.xml
classpath:alfresco/web-scripts-application-context.xml
classpath:web-services-application-context.xml
</param-value> </param-value>
<description>Spring config file locations</description> <description>Spring config file locations</description>
</context-param> </context-param>
@@ -249,7 +249,7 @@
<servlet> <servlet>
<servlet-name>apiServlet</servlet-name> <servlet-name>apiServlet</servlet-name>
<servlet-class>org.alfresco.web.api.framework.APIServlet</servlet-class> <servlet-class>org.alfresco.web.scripts.WebScriptServlet</servlet-class>
</servlet> </servlet>
<servlet> <servlet>