<?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="tagPlugin" class="com.armedia.acm.pluginmanager.model.AcmPlugin">
        <property name="pluginName" value="Tag Plugin"/>
        <property name="configurationPropertyService" ref="configurationPropertyService"/>
    </bean>

    <bean id="associatedTagDao" class="com.armedia.acm.services.tag.dao.AssociatedTagDao"/>

    <bean id="tagDao" class="com.armedia.acm.services.tag.dao.TagDao"/>

    <bean id="associatedTagEventPublisher" class="com.armedia.acm.services.tag.service.AssociatedTagEventPublisher"/>

    <bean id="tagEventPublisher" class="com.armedia.acm.services.tag.service.TagEventPublisher"/>

    <bean id="tagService" class="com.armedia.acm.services.tag.service.TagService">
        <property name="tagDao" ref="tagDao"/>
        <property name="tagConfig" ref="tagConfig"/>
    </bean>

    <bean id="associatedTagService" class="com.armedia.acm.services.tag.service.AssociatedTagService">
        <property name="tagDao" ref="tagDao"/>
        <property name="associatedTagDao" ref="associatedTagDao"/>
        <property name="executeSolrQuery" ref="executeSolrQuery"/>
        <property name="tagConfig" ref="tagConfig"/>
    </bean>

    <bean id="associatedTagToSolrTransformer" class="com.armedia.acm.services.tag.service.AssociatedTagToSolrTransformer">
        <property name="associatedTagDao" ref="associatedTagDao"/>
        <property name="userDao" ref="userJpaDao"/>
    </bean>

    <bean id="tagToSolrTransformer" class="com.armedia.acm.services.tag.service.TagToSolrTransformer">
        <property name="tagDao" ref="tagDao"/>
        <property name="userDao" ref="userJpaDao"/>
    </bean>

    <bean id="tagConfig" class="com.armedia.acm.services.tag.model.TagConfig" scope="refresh">
        <aop:scoped-proxy/>
    </bean>
</beans>