<?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="createComplaintAPIController" class="com.armedia.acm.plugins.complaint.web.api.CreateComplaintAPIController">
        <property name="eventPublisher" ref="complaintEventPublisher"/>
        <property name="objectConverter" ref="objectConverter"/>
        <property name="complaintService" ref="complaintService"/>
        <property name="formsTypeCheckService" ref="formsTypeCheckService"/>
    </bean>

    <bean id="getComplaintTypesAPIController" class="com.armedia.acm.plugins.complaint.web.api.GetComplaintListOfValuesAPIController">
        <property name="lookupDao" ref="lookupDao"/>
    </bean>

    <bean id="findComplaintsByUserAPIController" class="com.armedia.acm.plugins.complaint.web.api.FindComplaintsByUserAPIController">
        <property name="complaintDao" ref="acmComplaintDao"/>
        <property name="eventPublisher" ref="complaintEventPublisher"/>
    </bean>

    <bean id="complaintWorkflowAPIController" class="com.armedia.acm.plugins.complaint.web.api.ComplaintWorkflowAPIController">
        <property name="eventPublisher" ref="complaintEventPublisher"/>
    </bean>

    <bean id="closeComplaintAPIController"
        class="com.armedia.acm.plugins.complaint.web.api.CloseComplaintFormAPIController">
        <property name="closeComplaintService" ref="closeComplaint"/>
    </bean>

    <bean id="findComplaintByIdAPIController" class="com.armedia.acm.plugins.complaint.web.api.FindComplaintByIdAPIController">
        <property name="complaintDao" ref="acmComplaintDao"/>
        <property name="eventPublisher" ref="complaintEventPublisher"/>
    </bean>

    <bean id="complaintBillingInvoiceEmailSenderAPIController"
        class="com.armedia.acm.plugins.complaint.web.api.ComplaintBillingInvoiceEmailSenderAPIController">
        <property name="complaintBillingInvoiceEmailSenderService" ref="billingInvoiceEmailSenderService"/>
        <property name="getComplaintService" ref="getComplaintService"/>
    </bean>

    <bean id="findComplaintByNumberAPIController" class="com.armedia.acm.plugins.complaint.web.api.FindComplaintByNumberAPIController">
        <property name="getComplaintByNumberService" ref="getComplaintByNumberService"/>
        <property name="arkPermissionEvaluator" ref="arkPermissionEvaluator"/>
    </bean>
</beans>