<!--
  ~ Copyright (c) 2020, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
  ~
  ~ WSO2 Inc. licenses this file to you under the Apache License,
  ~ Version 2.0 (the "License"); you may not use this file except
  ~ in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->

<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-3.0.xsd">
    <bean class="org.wso2.carbon.identity.api.server.notification.sender.v1.core.NotificationSenderManagementService"/>
    <bean class="org.wso2.carbon.identity.api.server.notification.sender.v1.impl.NotificationSendersApiServiceImpl"/>
    <bean id="configurationManagerFactoryBean" class="org.wso2.carbon.identity.api.server.notification.sender.common.factory.ConfigurationMgtOSGiServiceFactory"/>
    <bean id="resourceManagerFactoryBean" class="org.wso2.carbon.identity.api.server.notification.sender.common.factory.ResourceMgtOSGiServiceFactory"/>
    <bean id="eventPublisherServiceFactoryBean" class="org.wso2.carbon.identity.api.server.notification.sender.common.factory.EventPublisherOSGiServiceFactory"/>
    <bean id="smsProviderPayloadTemplateManagerFactoryBean" class="org.wso2.carbon.identity.api.server.notification.sender.common.factory.SMSProviderPayloadTemplateMgtOSSGiServiceFactory"/>
    <bean id="notificationSenderServiceImplDataHolderBean" class="org.wso2.carbon.identity.api.server.notification.sender.common.NotificationSenderServiceHolder">
        <property name="notificationSenderConfigManager" ref="configurationManagerFactoryBean"/>
        <property name="eventPublisherService" ref="eventPublisherServiceFactoryBean"/>
        <property name="smsProviderPayloadTemplateManager" ref="smsProviderPayloadTemplateManagerFactoryBean"/>
        <property name="resourceManager" ref="resourceManagerFactoryBean"/>
    </bean>
</beans>
