<?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">

    <aop:aspectj-autoproxy/>

    <!-- <cache:annotation-driven/> -->

    <bean id="portalAdminService" class="com.armedia.acm.portalgateway.service.DefaultPortalAdminService">
        <property name="ldapUserService" ref="ldapUserService"/>
        <property name="genericMessagesChannel" ref="genericMessagesChannel"/>
    </bean>

    <bean id="portalGatewayRequestService" class="com.armedia.acm.portalgateway.service.DefaultPluggablePortalRequestService">
        <property name="springContextHolder" ref="acmContextHolder"/>
    </bean>

    <bean id="portalUserService" class="com.armedia.acm.portalgateway.service.DefaultPluggablePortalUserService">
        <property name="springContextHolder" ref="acmContextHolder"/>
        <property name="userDao" ref="userJpaDao"/>
    </bean>

    <bean id="checkPortalUserService" class="com.armedia.acm.portalgateway.service.DefaultPortalCheckUserAssignementService">
        <property name="portalConfigurationService" ref="portalConfigurationService"/>
    </bean>

    <bean id="checkPortalUserAssignementAspect" class="com.armedia.acm.portalgateway.service.CheckPortalUserAssignementAspect">
        <property name="checkUserAssignementService" ref="checkPortalUserService"/>
    </bean>

    <bean id="portalConfigurationService" class="com.armedia.acm.portalgateway.service.PortalConfigurationServiceImpl">
        <property name="portalConfig" ref="arkcasePortalConfig"/>
        <property name="configurationPropertyService" ref="configurationPropertyService"/>
    </bean>

    <bean id="portalUserConfigurationService" class="com.armedia.acm.portalgateway.service.PortalUserConfigurationServiceImpl">
        <property name="portalUserConfig" ref="arkcasePortalUserConfig"/>
    </bean>

    <bean id="arkcasePortalUserConfig" class="com.armedia.acm.portalgateway.model.PortalUserConfig" scope="refresh">
        <aop:scoped-proxy/>
    </bean>

    <bean id="arkcasePortalConfig" class="com.armedia.acm.portalgateway.model.PortalConfig" scope="refresh">
        <aop:scoped-proxy/>
    </bean>

</beans>