Initial tapi notification implementation
[transportpce.git] / tapi / src / main / resources / OSGI-INF / blueprint / tapi-blueprint.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!--
4 Copyright © 2018 Orange and others. All rights reserved.
5
6 This program and the accompanying materials are made available under the
7 terms of the Eclipse Public License v1.0 which accompanies this distribution,
8 and is available at http://www.eclipse.org/legal/epl-v10.html
9
10 Author: Gilles Thouenon <gilles.thouenon@orange.com>
11 -->
12 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
13   xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
14   odl:use-default-for-reference-types="true">
15
16     <reference id="dataBroker"
17           interface="org.opendaylight.mdsal.binding.api.DataBroker"/>
18
19     <reference id="deviceTransactionManager"
20                interface="org.opendaylight.transportpce.common.device.DeviceTransactionManager" />
21
22     <reference id="notificationService"
23                interface="org.opendaylight.mdsal.binding.api.NotificationService"/>
24
25     <reference id="notificationPublishService"
26                interface="org.opendaylight.mdsal.binding.api.NotificationPublishService"/>
27
28     <reference id="rpcProviderService"
29           interface="org.opendaylight.mdsal.binding.api.RpcProviderService"/>
30
31     <reference id="serviceHandlerService"
32           interface="org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.OrgOpenroadmServiceService" />
33
34     <reference id="networkTransactionImpl"
35           interface="org.opendaylight.transportpce.common.network.NetworkTransactionService" />
36
37     <reference id="serviceDatastoreOperation"
38                interface="org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations" />
39
40     <bean id="tapiListener"
41           class="org.opendaylight.transportpce.tapi.utils.TapiListener">
42     </bean>
43
44     <bean id="tapiLink"
45           class="org.opendaylight.transportpce.tapi.utils.TapiLink">
46         <argument ref="networkTransactionImpl" />
47     </bean>
48
49     <bean id="tapiPceListener" class="org.opendaylight.transportpce.tapi.listeners.TapiPceListenerImpl">
50         <argument ref="dataBroker" />
51     </bean>
52
53     <bean id="tapiRendererListener" class="org.opendaylight.transportpce.tapi.listeners.TapiRendererListenerImpl">
54         <argument ref="dataBroker" />
55         <argument ref="notificationPublishService" />
56     </bean>
57
58     <bean id="tapiServiceHandlerListener" class="org.opendaylight.transportpce.tapi.listeners.TapiServiceHandlerListenerImpl">
59         <argument ref="dataBroker" />
60     </bean>
61
62     <bean id="tapiNetworkModelListenerImpl" class="org.opendaylight.transportpce.tapi.listeners.TapiNetworkModelListenerImpl">
63         <argument ref="networkTransactionImpl" />
64         <argument ref="notificationPublishService" />
65     </bean>
66
67     <bean id="tapiNetworkModelService" class="org.opendaylight.transportpce.tapi.topology.TapiNetworkModelServiceImpl">
68         <argument ref="tapilinkDiscoveryImpl" />
69         <argument ref="networkTransactionImpl" />
70         <argument ref="tapiLink" />
71         <argument ref="notificationPublishService" />
72     </bean>
73
74     <bean id="tapiNetconfTopologyListener" class="org.opendaylight.transportpce.tapi.topology.TapiNetconfTopologyListener">
75         <argument ref="tapiNetworkModelService" />
76     </bean>
77
78     <bean id="tapiOrLinkListener" class="org.opendaylight.transportpce.tapi.topology.TapiOrLinkListener">
79         <argument ref="tapiLink" />
80         <argument ref="networkTransactionImpl" />
81     </bean>
82
83     <bean id="tapiNetworkUtilsImpl" class="org.opendaylight.transportpce.tapi.topology.TapiNetworkUtilsImpl">
84         <argument ref="networkTransactionImpl" />
85         <argument ref="tapiLink" />
86     </bean>
87
88     <bean id="tapiProvider"
89           class="org.opendaylight.transportpce.tapi.impl.TapiProvider"
90           init-method="init" destroy-method="close">
91         <argument ref="dataBroker" />
92         <argument ref="rpcProviderService" />
93         <argument ref="serviceHandlerService" />
94         <argument ref="serviceDatastoreOperation" />
95         <argument ref="tapiListener" />
96         <argument ref="networkTransactionImpl" />
97         <argument ref="tapiNetconfTopologyListener" />
98         <argument ref="tapiPortMappingListener" />
99         <argument ref="tapiNetworkUtilsImpl" />
100         <argument ref="tapiPceListener" />
101         <argument ref="tapiRendererListener" />
102         <argument ref="tapiServiceHandlerListener" />
103         <argument ref="notificationService" />
104         <argument ref="tapiOrLinkListener" />
105         <argument ref="tapiNetworkModelListenerImpl" />
106     </bean>
107
108     <bean id="tapiPortMappingListener" class="org.opendaylight.transportpce.tapi.topology.TapiPortMappingListener">
109         <argument ref="tapiNetworkModelService" />
110     </bean>
111
112     <bean id="tapilinkDiscoveryImpl" class="org.opendaylight.transportpce.tapi.R2RTapiLinkDiscovery">
113         <argument ref="networkTransactionImpl" />
114         <argument ref="deviceTransactionManager" />
115         <argument ref="tapiLink" />
116     </bean>
117
118     <service ref="tapiNetworkModelService" interface="org.opendaylight.transportpce.tapi.topology.TapiNetworkModelService" />
119
120 </blueprint>