adfcbf01659404b3b4bb09fd17a26a19b9d636e8
[netconf.git] / restconf / restconf-nb / src / main / resources / OSGI-INF / blueprint / restconf-bp.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  Copyright (c) 2017 Pantheon technologies s.r.o. 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:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0">
11   <!-- Restconf providers -->
12   <cm:property-placeholder persistent-id="org.opendaylight.restconf.nb.rfc8040">
13     <cm:default-properties>
14       <cm:property name="maximum-fragment-length" value="0"/>
15       <cm:property name="heartbeat-interval" value="10000"/>
16       <cm:property name="idle-timeout" value="30000"/>
17       <cm:property name="ping-executor-name-prefix" value="ping-executor"/>
18       <cm:property name="max-thread-count" value="1"/>
19       <cm:property name="use-sse" value="true"/>
20     </cm:default-properties>
21   </cm:property-placeholder>
22
23   <bean id="threadPoolFactory"
24         class="org.opendaylight.controller.config.threadpool.util.NamingThreadPoolFactory">
25     <argument value="${ping-executor-name-prefix}"/>
26   </bean>
27
28   <bean id="scheduledThreadPool"
29         class="org.opendaylight.controller.config.threadpool.util.ScheduledThreadPoolWrapper">
30     <argument value="${max-thread-count}"/>
31     <argument ref="threadPoolFactory"/>
32   </bean>
33
34   <bean id="configuration"
35         class="org.opendaylight.restconf.nb.rfc8040.streams.Configuration">
36     <argument value="${maximum-fragment-length}"/>
37     <argument value="${idle-timeout}"/>
38     <argument value="${heartbeat-interval}"/>
39     <argument value="${use-sse}" />
40   </bean>
41
42   <bean id="dataStreamApplication" class="org.opendaylight.restconf.nb.rfc8040.DataStreamApplication">
43     <argument ref="databindProvider"/>
44     <argument ref="dOMMountPointService"/>
45     <argument ref="restconfDataStreamServiceImpl"/>
46   </bean>
47   <bean id="restconfApplication" class="org.opendaylight.restconf.nb.rfc8040.RestconfApplication">
48     <argument ref="databindProvider"/>
49     <argument ref="dOMMountPointService"/>
50     <argument ref="dOMDataBroker"/>
51     <argument ref="dOMRpcService"/>
52     <argument ref="dOMActionService"/>
53     <argument ref="dOMNotificationService"/>
54     <argument ref="dOMSchemaService"/>
55     <argument ref="configuration"/>
56   </bean>
57   <bean id="restconfDataStreamServiceImpl" class="org.opendaylight.restconf.nb.rfc8040.rests.services.impl.RestconfDataStreamServiceImpl">
58     <argument ref="scheduledThreadPool"/>
59     <argument ref="configuration"/>
60   </bean>
61   <bean id="webInitializer" class="org.opendaylight.restconf.nb.rfc8040.web.WebInitializer" destroy-method="close">
62     <argument ref="webServer"/>
63     <argument ref="webContextSecurer"/>
64     <argument ref="servletSupport"/>
65     <argument ref="restconfApplication"/>
66     <argument ref="dataStreamApplication"/>
67     <argument ref="customFilterAdapterConfiguration"/>
68     <argument ref="webSocketInitializer"/>
69   </bean>
70   <bean id="webSocketInitializer" class="org.opendaylight.restconf.nb.rfc8040.streams.WebSocketInitializer">
71     <argument ref="scheduledThreadPool"/>
72     <argument ref="configuration"/>
73   </bean>
74   <reference id="databindProvider" interface="org.opendaylight.restconf.nb.rfc8040.databind.DatabindProvider"/>
75   <reference id="customFilterAdapterConfiguration" interface="org.opendaylight.aaa.filterchain.configuration.CustomFilterAdapterConfiguration"/>
76   <reference id="webContextSecurer" interface="org.opendaylight.aaa.web.WebContextSecurer"/>
77   <reference id="webServer" interface="org.opendaylight.aaa.web.WebServer"/>
78   <reference id="servletSupport" interface="org.opendaylight.aaa.web.servlet.ServletSupport"/>
79   <reference id="dOMActionService" interface="org.opendaylight.mdsal.dom.api.DOMActionService"/>
80   <reference id="dOMDataBroker" interface="org.opendaylight.mdsal.dom.api.DOMDataBroker"/>
81   <reference id="dOMMountPointService" interface="org.opendaylight.mdsal.dom.api.DOMMountPointService"/>
82   <reference id="dOMNotificationService" interface="org.opendaylight.mdsal.dom.api.DOMNotificationService"/>
83   <reference id="dOMRpcService" interface="org.opendaylight.mdsal.dom.api.DOMRpcService"/>
84   <reference id="dOMSchemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService"/>
85 </blueprint>