<?xml version="1.0" encoding="UTF-8"?>
<!--
 ~ Copyright (c) 2023, WSO2 LLC. (https://www.wso2.com).
 ~
 ~ WSO2 LLC. 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"
       xmlns:jaxrs="http://cxf.apache.org/jaxrs"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
         http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">

    <import resource="classpath:META-INF/cxf/cxf.xml"/>
    <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"/>
    <bean class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"/>

    <jaxrs:server id="accountservice" address="/accounts">
        <jaxrs:serviceBeans>
            <ref bean="accServiceBean"/>
        </jaxrs:serviceBeans>
    </jaxrs:server>
    <jaxrs:server id="fundsConfirmationService" address="/fundsConfirmation">
        <jaxrs:serviceBeans>
            <ref bean="fundsConfServiceBean"/>
        </jaxrs:serviceBeans>
    </jaxrs:server>

    <jaxrs:server id="paymentService" address="/payments">
        <jaxrs:serviceBeans>
            <ref bean="paymentServiceBean"/>
        </jaxrs:serviceBeans>
    </jaxrs:server>

    <jaxrs:server id="vrpService" address="/domestic-vrps">
        <jaxrs:serviceBeans>
            <ref bean="vrpServiceBean"/>
        </jaxrs:serviceBeans>
    </jaxrs:server>


    <bean id="accServiceBean" class="com.wso2.openbanking.accelerator.demo.backend.services.AccountService"/>
    <bean id="fundsConfServiceBean" class="com.wso2.openbanking.accelerator.demo.backend.services.FundsConfirmationService"/>
    <bean id="paymentServiceBean" class="com.wso2.openbanking.accelerator.demo.backend.services.PaymentService"/>
    <bean id="vrpServiceBean" class="com.wso2.openbanking.accelerator.demo.backend.services.VrpService"/>

</beans>
