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

    <bean id="costsheetRuleHandler" class="com.armedia.acm.services.costsheet.pipeline.postsave.CostsheetRuleHandler">
        <property name="costsheetBusinessRule" ref="saveCostsheetBusinessRule"/>
    </bean>

    <bean id="costsheetEventHandler" class="com.armedia.acm.services.costsheet.pipeline.postsave.CostsheetEventHandler">
        <property name="costsheetEventPublisher" ref="costsheetEventPublisher"/>
        <property name="costsheetService" ref="costsheetService"/>
        <property name="ecmFileDao" ref="ecmFileDao"/>
        <property name="formsTypeCheckService" ref="formsTypeCheckService"/>
    </bean>

    <bean id="costsheetContainerHandler" class="com.armedia.acm.services.costsheet.pipeline.postsave.CostsheetContainerHandler">
        <property name="fileParticipantService" ref="fileParticipantService"/>
    </bean>

    <bean id="costsheetEcmFolderHandler" class="com.armedia.acm.services.costsheet.pipeline.postsave.CostsheetEcmFolderHandler">
        <property name="ecmFileService" ref="ecmFileService"/>
    </bean>

    <bean id="costsheetDocumentHandler" class="com.armedia.acm.services.costsheet.pipeline.postsave.CostsheetDocumentHandler"
        parent="pdfCostsheetDocumentGenerator">
        <property name="dao" ref="acmCostsheetDao"/>
        <property name="formsTypeCheckService" ref="formsTypeCheckService"/>
    </bean>

    <bean id="costsheetPipelineManager" class="com.armedia.acm.services.pipeline.PipelineManager">
        <property name="preSaveHandlers">
            <list value-type="com.armedia.acm.services.pipeline.handler.PipelineHandler">
            </list>
        </property>
        <property name="postSaveHandlers">
            <list value-type="com.armedia.acm.services.pipeline.handler.PipelineHandler">
                <ref bean="costsheetRuleHandler"/>
                <ref bean="costsheetContainerHandler"/>
                <ref bean="costsheetEcmFolderHandler"/>
                <ref bean="costsheetDocumentHandler"/>
                <ref bean="costsheetEventHandler"/>
            </list>
        </property>
    </bean>

    <bean id="pdfCostsheetDocumentGenerator" class="com.armedia.acm.services.costsheet.service.PDFCostsheetDocumentGenerator"
        parent="pdfDocumentGenerator">
        <property name="lookupDao" ref="lookupDao"/>
        <property name="translationService" ref="translationService"/>
    </bean>
</beans>