<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">

    <bean id="acmComplaintFolderListener" class="com.armedia.acm.plugins.alfrescorma.service.AcmComplaintFolderListener">
        <property name="alfrescoRecordsService" ref="alfrescoRecordsService"/>
    </bean>

    <bean id="acmFileListener" class="com.armedia.acm.plugins.alfrescorma.service.AcmFileListener">
        <property name="alfrescoRecordsService" ref="alfrescoRecordsService"/>
    </bean>

    <bean id="alfrescoRecordsService" class="com.armedia.acm.plugins.alfrescorma.service.AlfrescoRecordsService">
        <property name="ecmFileService" ref="ecmFileService"/>
        <property name="ecmFileDao" ref="ecmFileDao"/>
        <property name="completeRecordService" ref="completeRecordService"/>
        <property name="moveToRecordFolderService" ref="moveToRecordFolderService"/>
        <property name="createOrFindRecordFolderOrRecordCategoryService" ref="createOrFindRecordFolderOrRecordCategoryService"/>
        <property name="declareRecordService" ref="declareRecordService"/>
        <property name="findFolderService" ref="findFolderService"/>
        <property name="setRecordMetadataService" ref="setRecordMetadataService"/>
        <property name="rmaConfig" ref="rmaConfig"/>
        <property name="auditPropertyEntityAdapter" ref="auditPropertyEntityAdapter"/>
        <aop:scoped-proxy proxy-target-class="true"/>
    </bean>

    <bean id="acmComplaintCloseListener" class="com.armedia.acm.plugins.alfrescorma.service.AcmComplaintClosedListener">
        <property name="alfrescoRecordsService" ref="alfrescoRecordsService"/>
        <property name="authenticationMapper" ref="acmAuthenticationMapper"/>
    </bean>

    <bean id="acmCaseFileStatusChangedListener" class="com.armedia.acm.plugins.alfrescorma.service.AcmCaseFileStatusChangedListener">
        <property name="alfrescoRecordsService" ref="alfrescoRecordsService"/>
        <property name="authenticationMapper" ref="acmAuthenticationMapper"/>
    </bean>

    <bean id="acmCaseFileClosedListener" class="com.armedia.acm.plugins.alfrescorma.service.AcmCaseFileClosedListener">
        <property name="alfrescoRecordsService" ref="alfrescoRecordsService"/>
        <property name="authenticationMapper" ref="acmAuthenticationMapper"/>
    </bean>

    <bean id="acmFileDeclarationListener" class="com.armedia.acm.plugins.alfrescorma.service.AcmFileDeclareRequestListener">
        <property name="alfrescoRecordsService" ref="alfrescoRecordsService"/>
    </bean>

    <bean id="acmFolderDeclarationListener" class="com.armedia.acm.plugins.alfrescorma.service.AcmFolderDeclareRequestListener">
        <property name="alfrescoRecordsService" ref="alfrescoRecordsService"/>
        <property name="acmFolderDao" ref="acmFolderDao"/>
        <property name="acmFolderService" ref="acmFolderService"/>
    </bean>

    <bean id="rmaConfig" class="com.armedia.acm.plugins.alfrescorma.model.AlfrescoRmaConfig" scope="refresh">
        <aop:scoped-proxy/>
    </bean>
</beans>