Files
alfresco-community-repo/config/alfresco/blog-context.xml

185 lines
8.7 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>
<!-- Blog Service (Alfresco internal storage of blog-related content) -->
<bean id="BlogService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.service.cmr.blog.BlogService</value>
</property>
<property name="target">
<ref bean="blogService" />
</property>
<property name="interceptorNames">
<list>
<idref local="BlogService_transaction" />
<idref bean="AuditMethodInterceptor" />
<idref bean="exceptionTranslator" />
<idref bean="BlogService_security" />
</list>
</property>
</bean>
<!-- Blog service transaction bean -->
<bean id="BlogService_transaction"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="*">${server.transaction.mode.default}</prop>
</props>
</property>
</bean>
<bean id="BlogService_security_getDrafts" class="org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityBean">
<property name="methodSecurityInterceptor" ref="BlogService_security" />
<property name="service" value="org.alfresco.service.cmr.blog.BlogService" />
<property name="methodName" value="getDrafts" />
</bean>
<bean id="BlogService_security_getPublished" class="org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityBean">
<property name="methodSecurityInterceptor" ref="BlogService_security" />
<property name="service" value="org.alfresco.service.cmr.blog.BlogService" />
<property name="methodName" value="getPublished" />
</bean>
<bean id="BlogService_security_getPublishedExternally" class="org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityBean">
<property name="methodSecurityInterceptor" ref="BlogService_security" />
<property name="service" value="org.alfresco.service.cmr.blog.BlogService" />
<property name="methodName" value="getPublishedExternally" />
</bean>
<bean id="BlogService_security_getMyDraftsAndAllPublished" class="org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityBean">
<property name="methodSecurityInterceptor" ref="BlogService_security" />
<property name="service" value="org.alfresco.service.cmr.blog.BlogService" />
<property name="methodName" value="getMyDraftsAndAllPublished" />
</bean>
<!-- Blog Service base bean -->
<bean id="blogService" class="org.alfresco.repo.blog.BlogServiceImpl">
<property name="cannedQueryRegistry" ref="cannedQueryRegistry"/>
<property name="contentService" ref="ContentService"/>
<property name="dictionaryService" ref="DictionaryService"/>
<property name="namespaceService" ref="NamespaceService"/>
<property name="nodeService" ref="NodeService"/>
<property name="siteService" ref="SiteService"/>
<property name="searchService" ref="SearchService"/>
<property name="taggingService" ref="TaggingService"/>
<property name="permissionService" ref="PermissionService"/>
<property name="transactionService" ref="transactionService" />
<property name="draftBlogPostsCannedQueryFactory" ref="getDraftBlogPostsCannedQueryFactory"/>
<property name="publishedBlogPostsCannedQueryFactory" ref="getPublishedBlogPostsCannedQueryFactory"/>
<property name="publishedExternallyBlogPostsCannedQueryFactory" ref="getPublishedExternallyBlogPostsCannedQueryFactory"/>
<property name="draftsAndPublishedBlogPostsCannedQueryFactory" ref="getDraftsAndPublishedBlogPostsCannedQueryFactory"/>
</bean>
<!-- Canned Queries -->
<!-- We currently need one CQFactory per CQ in order to support interception at each of the different methods -->
<bean name="parentBlogPostsCannedQueryFactory" abstract="true">
<property name="registry" ref="cannedQueryRegistry"/>
<property name="tenantService" ref="tenantService"/>
<property name="nodeDAO" ref="nodeDAO"/>
<property name="qnameDAO" ref="qnameDAO"/>
<property name="cannedQueryDAO" ref="cannedQueryDAO"/>
</bean>
<bean name="getDraftBlogPostsCannedQueryFactory" parent="parentBlogPostsCannedQueryFactory"
class="org.alfresco.repo.blog.cannedqueries.GetBlogPostsCannedQueryFactory">
<property name="methodSecurity" ref="BlogService_security_getDrafts"/>
</bean>
<bean name="getPublishedExternallyBlogPostsCannedQueryFactory" parent="parentBlogPostsCannedQueryFactory"
class="org.alfresco.repo.blog.cannedqueries.GetBlogPostsCannedQueryFactory">
<property name="methodSecurity" ref="BlogService_security_getPublishedExternally"/>
</bean>
<bean name="getPublishedBlogPostsCannedQueryFactory" parent="parentBlogPostsCannedQueryFactory"
class="org.alfresco.repo.blog.cannedqueries.GetBlogPostsCannedQueryFactory">
<property name="methodSecurity" ref="BlogService_security_getPublished"/>
</bean>
<bean name="getDraftsAndPublishedBlogPostsCannedQueryFactory" parent="parentBlogPostsCannedQueryFactory"
class="org.alfresco.repo.blog.cannedqueries.DraftsAndPublishedBlogPostsCannedQueryFactory">
<property name="methodSecurity" ref="BlogService_security_getMyDraftsAndAllPublished"/>
</bean>
<!-- Blog Integration Service (Integration with external blog hosting sites) -->
<bean id="BlogIntegrationService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.repo.blog.BlogIntegrationService</value>
</property>
<property name="target">
<ref bean="blogIntegrationService"/>
</property>
<property name="interceptorNames">
<list>
<idref local="BlogIntegrationService_transaction"/>
<idref bean="AuditMethodInterceptor"/>
<idref bean="exceptionTranslator"/>
<idref local="BlogIntegrationService_security"/>
</list>
</property>
</bean>
<bean id="BlogIntegrationService_transaction" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="*">${server.transaction.mode.default}</prop>
</props>
</property>
</bean>
<bean id="BlogIntegrationService_security" class="org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor" />
<bean id="blogIntegrationService" class="org.alfresco.repo.blog.BlogIntegrationServiceImpl">
<property name="nodeService" ref="NodeService"/>
<property name="contentService" ref="ContentService"/>
</bean>
<!-- Blog Integration Implementations -->
<bean id="baseBlogIntegrationImplmentation" abstract="true" init-method="register">
<property name="blogIntegrationService" ref="blogIntegrationService"/>
</bean>
<bean id="wordPressBlogIntegration" parent="baseBlogIntegrationImplmentation" class="org.alfresco.repo.blog.wordpress.WordPressIntegration">
<property name="name" value="wordpress"/>
<property name="displayName" value="WordPress"/>
</bean>
<bean id="typePadBlogIntegration" parent="baseBlogIntegrationImplmentation" class="org.alfresco.repo.blog.typepad.TypepadIntegration">
<property name="name" value="typepad"/>
<property name="displayName" value="Typepad"/>
</bean>
<!-- Blog Repository Actions -->
<bean id="blog-post" class="org.alfresco.repo.action.executer.BlogAction" parent="action-executer">
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="blogIntegrationService">
<ref bean="blogIntegrationService" />
</property>
<property name="applicableTypes">
<list>
<value>{http://www.alfresco.org/model/content/1.0}null</value>
</list>
</property>
</bean>
</beans>