e95c26948a8b40d39d0e81d398ae9e0ceae812fe
[netconf.git] / netconf / netconf-topology-impl / src / main / resources / OSGI-INF / blueprint / netconf-topology.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  Copyright (c) 2016 Inocybe Technologies Inc. and others.  All rights reserved.
4
5  This program and the accompanying materials are made available under the
6  terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  and is available at http://www.eclipse.org/legal/epl-v10.html
8 -->
9 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
10            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
11            xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
12            odl:use-default-for-reference-types="true">
13
14     <reference id="clientDispatcherDependency"
15                interface="org.opendaylight.netconf.client.NetconfClientDispatcher"
16                odl:type="netconf-client-dispatcher"/>
17     <reference id="keepAliveExecutor"
18                interface="org.opendaylight.controller.config.threadpool.ScheduledThreadPool"
19                odl:type="global-netconf-ssh-scheduled-executor"/>
20     <reference id="processingExecutor"
21                interface="org.opendaylight.controller.config.threadpool.ThreadPool"
22                odl:type="global-netconf-processing-executor"/>
23     <reference id="eventExecutor"
24                interface="io.netty.util.concurrent.EventExecutor"
25                odl:type="global-event-executor"/>
26     <reference id="dataBroker"
27                interface="org.opendaylight.mdsal.binding.api.DataBroker"/>
28     <reference id="mountPointService"
29                interface="org.opendaylight.mdsal.dom.api.DOMMountPointService"
30                odl:type="default"/>
31     <reference id="encryptionService"
32                interface="org.opendaylight.aaa.encrypt.AAAEncryptionService" />
33     <reference id="deviceActionFactory"
34                interface="org.opendaylight.netconf.sal.connect.api.DeviceActionFactory"/>
35
36     <bean id="schemaRepository" class="org.opendaylight.netconf.topology.spi.SharedSchemaRepositoryProvider">
37         <argument value="netconf-topology-schemas"/>
38     </bean>
39
40     <cm:property-placeholder persistent-id="org.opendaylight.netconf.topology.sb.keypair" update-strategy="none">
41       <cm:default-properties>
42         <cm:property name="private-key-path" value=""/>
43         <cm:property name="private-key-passphrase" value=""/>
44       </cm:default-properties>
45     </cm:property-placeholder>
46
47     <bean id="netconfTopology" class="org.opendaylight.netconf.topology.impl.NetconfTopologyImpl"
48           init-method="init"
49           destroy-method="close">
50         <cm:managed-properties persistent-id="org.opendaylight.netconf.topology.sb.keypair"
51                            update-strategy="container-managed"/>
52         <argument value="topology-netconf"/>
53         <argument ref="clientDispatcherDependency"/>
54         <argument ref="eventExecutor"/>
55         <argument ref="keepAliveExecutor"/>
56         <argument ref="processingExecutor"/>
57         <argument ref="schemaRepository"/>
58         <argument ref="dataBroker"/>
59         <argument ref="mountPointService"/>
60         <property name="privateKeyPath" value="${private-key-path}"/>
61         <property name="privateKeyPassphrase" value="${private-key-passphrase}"/>
62         <argument ref="encryptionService" />
63         <argument ref="deviceActionFactory"/>
64     </bean>
65
66     <bean id="netconfConnectorFactory" class="org.opendaylight.netconf.topology.impl.NetconfConnectorFactoryImpl"/>
67     <service ref="netconfConnectorFactory" interface="org.opendaylight.netconf.topology.api.NetconfConnectorFactory"
68              odl:type="default"/>
69
70     <bean id="netconfNodeRegisterEncryptedRPC"
71           class="org.opendaylight.netconf.sal.connect.util.NetconfTopologyRPCProvider">
72         <argument value="topology-netconf"/>
73         <argument ref="dataBroker"/>
74         <argument ref="encryptionService"/>
75     </bean>
76
77     <odl:rpc-implementation ref="netconfNodeRegisterEncryptedRPC"/>
78
79     <bean id="netconfKeystoreProvider"
80           class="org.opendaylight.netconf.sal.connect.util.NetconfSalKeystoreService">
81         <argument ref="dataBroker"/>
82         <argument ref="encryptionService"/>
83     </bean>
84
85     <odl:rpc-implementation ref="netconfKeystoreProvider"/>
86
87 </blueprint>