<?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="saveCaseFileAPIController" class="com.armedia.acm.plugins.casefile.web.api.SaveCaseFileAPIController">
        <property name="saveCaseService" ref="saveCaseService"/>
        <property name="caseFileEventUtility" ref="caseFileEventUtility"/>
        <property name="userTrackerService" ref="userTrackerService"/>
    </bean>

    <bean id="findCaseByIdAPIController" class="com.armedia.acm.plugins.casefile.web.api.FindCaseByIdAPIController">
        <property name="caseFileDao" ref="caseFileDao"/>
        <property name="changeCaseStatusDao" ref="changeCaseStatusDao"/>
        <property name="caseFileEventUtility" ref="caseFileEventUtility"/>
    </bean>

    <bean id="findCasesByTitleAPIController"
        class="com.armedia.acm.plugins.casefile.web.api.FindCasesByTitleAPIController">
        <property name="caseFileDao" ref="caseFileDao"/>
    </bean>

    <bean id="getCaseByNumberAPIController"
        class="com.armedia.acm.plugins.casefile.web.api.GetCaseByNumberAPIController">
        <property name="getCaseByNumberService" ref="getCaseByNumberService"/>
        <property name="arkPermissionEvaluator" ref="arkPermissionEvaluator"/>
    </bean>

    <bean id="getCasesByStatusAPIController"
        class="com.armedia.acm.plugins.casefile.web.api.GetCasesByStatusAPIController">
        <property name="executeSolrQuery" ref="executeSolrQuery"/>
    </bean>

    <bean id="listCaseFilesByUserAPIController"
        class="com.armedia.acm.plugins.casefile.web.api.ListCaseFilesByUserAPIController">
        <property name="caseFileDao" ref="caseFileDao"/>
        <property name="caseFileEventUtility" ref="caseFileEventUtility"/>
    </bean>

    <bean id="getCaseFileStatusSummaryAPIController"
        class="com.armedia.acm.plugins.casefile.web.api.GetCaseFileStatusSummaryAPIController">
        <property name="caseFileDao" ref="caseFileDao"/>
        <property name="caseFileEventUtility" ref="caseFileEventUtility"/>
    </bean>

    <bean id="getCaseTypesAPIController" class="com.armedia.acm.plugins.casefile.web.api.GetCaseTypesAPIController">
        <property name="lookupDao" ref="lookupDao"/>
    </bean>

    <bean id="mergeCaseFileAPIController" class="com.armedia.acm.plugins.casefile.web.api.MergeCaseFilesAPIController">
        <property name="mergeCaseService" ref="mergeCaseService"/>
    </bean>
    <bean id="splitCaseFileAPIController" class="com.armedia.acm.plugins.casefile.web.api.SplitCaseFilesAPIController">
        <property name="splitCaseService" ref="splitCaseService"/>
    </bean>
    <bean id="getQueuesApiController" class="com.armedia.acm.plugins.casefile.web.api.GetQueuesAPIController">
        <property name="acmQueueService" ref="acmQueueService"/>
    </bean>

    <bean id="getNumberOfActiveCaseFilesByQueueAPIController"
        class="com.armedia.acm.plugins.casefile.web.api.GetNumberOfActiveCaseFilesByQueueAPIController">
        <property name="activeCaseFileByQueueService" ref="activeCaseFileByQueueService"/>
    </bean>

    <bean id="caseFileNextPossibleQueuesAPIController"
        class="com.armedia.acm.plugins.casefile.web.api.CaseFileNextPossibleQueuesAPIController">
        <property name="queueService" ref="queueService"/>
        <property name="businessRule" ref="caseFileNextPossibleQueuesBusinessRule"/>
        <property name="caseFileDao" ref="caseFileDao"/>
    </bean>

    <bean id="caseFileEnqueueAPIController"
        class="com.armedia.acm.plugins.casefile.web.api.CaseFileEnqueueAPIController">
        <property name="enqueueCaseFileService" ref="enqueueCaseFileService"/>
        <property name="userTrackerService" ref="userTrackerService"/>
        <property name="caseFileDao" ref="caseFileDao"/>
        <property name="caseFileEventUtility" ref="caseFileEventUtility"/>
    </bean>

    <bean class="com.armedia.acm.plugins.casefile.web.api.ChangeCaseStatusApiController">
        <property name="changeCaseFileStateService" ref="changeCaseFileStateService"/>
        <property name="caseFileEventUtility" ref="caseFileEventUtility"/>
        <property name="dao" ref="caseFileDao"/>
    </bean>

    <bean id="caseFileBillingInvoiceEmailSenderAPIController"
        class="com.armedia.acm.plugins.casefile.web.api.CaseFileBillingInvoiceEmailSenderAPIController">
        <property name="caseFileBillingInvoiceEmailSenderService" ref="billingInvoiceEmailSenderService"/>
        <property name="getCaseService" ref="getCaseService"/>
    </bean>

    <bean id="queryCaseFileChildrenTasksAPIController"
        class="com.armedia.acm.plugins.casefile.web.api.QueryCaseFileChildrenTasksAPIController">
        <property name="childDocumentsSearchService" ref="childDocumentsSearchService"/>
        <property name="caseFileTasksService" ref="caseFileTasksService"/>
    </bean>
</beans>