Network topology and inventory init
[transportpce.git] / inventory / src / main / resources / org / opendaylight / blueprint / inventory-blueprint.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!-- Copyright © 2016 Orange and others. All rights reserved. This program and the accompanying materials 
4     are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, 
5     and is available at http://www.eclipse.org/legal/epl-v10.html -->
6 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
7     odl:use-default-for-reference-types="true" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0">
8
9     <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
10         odl:type="default" />
11     <reference id="schemaServiceImpl" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService" />
12     <reference id="dataSource" interface="javax.sql.DataSource" />
13     <reference id="deviceTransactionManager" interface="org.opendaylight.transportpce.common.device.DeviceTransactionManager" />
14
15     <cm:property-placeholder persistent-id="org.opendaylight.transportpce.job" />
16
17     <bean id="deviceInventory" class="org.opendaylight.transportpce.inventory.DeviceInventory">
18         <argument ref="dataSource" />
19         <argument ref="iNodeImpl" />
20         <argument ref="deviceTransactionManager" />
21     </bean>
22     
23     <bean id="periodicDeviceBackupJob" class="org.opendaylight.transportpce.inventory.job.PeriodicDeviceBackupJob">
24         <argument ref="dataBroker"/>
25         <argument ref="schemaServiceImpl" />
26         <argument ref="deviceTransactionManager" />
27         <property name="folder" value="${deviceBackupFolder}" />
28         <property name="filePrefix" value="${deviceBackupPrefix}" />
29     </bean>
30
31     <bean id="iNodeImpl" class="org.opendaylight.transportpce.inventory.INode">
32         <argument ref="dataSource" />
33         <argument ref="deviceTransactionManager" />
34     </bean>
35     
36     <bean id="overlayNetworkChangeListener" class="org.opendaylight.transportpce.inventory.listener.OverlayNetworkChangeListener" />
37     <bean id="underlayNetworkChangeListener" class="org.opendaylight.transportpce.inventory.listener.UnderlayNetworkChangeListener" />
38     <bean id="clliNetworkChangeListener" class="org.opendaylight.transportpce.inventory.listener.ClliNetworkChangeListener" />
39     <bean id="serviceListener" class="org.opendaylight.transportpce.inventory.listener.ServiceListener">
40         <argument ref="dataSource" />
41     </bean>
42     <bean id="deviceListener" class="org.opendaylight.transportpce.inventory.listener.DeviceListener">
43         <argument ref="deviceInventory" />
44     </bean>
45
46     <bean id="listenerProvider" class="org.opendaylight.transportpce.inventory.ListenerProvider" init-method="initialize">
47         <argument ref="dataBroker" />
48         <argument ref="overlayNetworkChangeListener" />
49         <argument ref="underlayNetworkChangeListener" />
50         <argument ref="clliNetworkChangeListener" />
51         <argument ref="serviceListener" />
52         <argument ref="deviceListener" />
53     </bean>
54     
55     <service ref="periodicDeviceBackupJob" interface="java.lang.Runnable">
56         <service-properties>
57             <entry key="scheduler.period">
58                 <value type="java.lang.Long">${deviceBackupPeriod}</value>
59             </entry>
60             <entry key="scheduler.name">
61                 <value type="java.lang.String">org-openroadmdevice-backup-job</value>
62             </entry>
63         </service-properties>
64     </service>
65 </blueprint>