<?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="acmArkcaseIdentityService"
        class="com.armedia.acm.service.identity.service.AcmArkcaseIdentityServiceImpl">
        <property name="localIdentityDao" ref="localIdentityDao"/>
        <property name="globalIdentityDao" ref="globalIdentityDao"/>
    </bean>

    <bean id="localIdentityDao" class="com.armedia.acm.service.identity.dao.AcmArkcaseLocalIdentityDao">
        <property name="instanceIdentityConfig" ref="acmInstanceIdentityConfig"/>
        <property name="configurationPropertyService" ref="configurationPropertyService"/>
    </bean>

    <bean id="globalIdentityDao" class="com.armedia.acm.service.identity.dao.AcmArkcaseGlobalIdentityDao"/>
    <bean class="com.armedia.acm.service.identity.state.AcmIdentityStateProvider" id="acmIdentityStateProvider">
        <property name="acmArkcaseIdentityService" ref="acmArkcaseIdentityService"/>
        <property name="applicationConfig" ref="applicationProperties"/>
    </bean>

    <bean id="acmInstanceIdentityConfig" class="com.armedia.acm.service.identity.model.AcmInstanceIdentityConfig" scope="refresh">
        <aop:scoped-proxy/>
    </bean>
</beans>
