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

    <context:annotation-config/>
    <context:component-scan base-package="com.armedia.acm.configuration.api,
                                          com.armedia.acm.configuration.client,
                                          com.armedia.acm.configuration.core,
                                          com.armedia.acm.configuration.scope,
                                          com.armedia.acm.configuration.service,
                                          com.armedia.acm.configuration.yaml,
                                          com.armedia.acm.configuration.refresher.jms,
                                          com.armedia.acm.configuration.refresher.jmx,
                                          com.armedia.acm.configuration.annotations"/>

    <bean id="fileConfigurationServiceImpl" class="com.armedia.acm.configuration.service.FileConfigurationServiceImpl">
        <property name="customFilesLocation" value="#{ systemProperties ['user.home'] }/.arkcase/custom/"/>
        <property name="configurationClientConfig" ref="configurationClientConfig"/>
        <property name="configRestTemplate" ref="configRestTemplate"/>
    </bean>

    <bean id="brandingFileConfigurationService"
          class="com.armedia.acm.configuration.core.initialization.BrandingConfigurationInitialization">
        <property name="customFilesLocation" value="#{ systemProperties ['user.home'] }/.arkcase/custom/"/>
        <property name="fileConfigurationService" ref="fileConfigurationServiceImpl"/>
        <property name="clientConfig" ref="configurationClientConfig"/>
    </bean>

    <bean id="acmLdapBeanSyncEventPublisher"
          class="com.armedia.acm.configuration.core.propertysource.AcmLdapBeanSyncEventPublisher"/>

    <bean id="configurationClientConfig" class="com.armedia.acm.configuration.model.ConfigurationClientConfig"
          scope="refresh">
        <aop:scoped-proxy/>
    </bean>

</beans>
