Files
alfresco-community-repo/config/alfresco/web-api-application-context.xml
2007-03-08 14:47:01 +00:00

177 lines
7.3 KiB
XML

<?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>
<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>
<!-- TODO: classpath extension directory -->
<!-- TODO: repository paths -->
<!-- -->
<!-- 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" />
<!-- 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>