1 <?xml version="1.0" encoding="UTF-8"?>
3 Copyright (c) 2017 Inocybe Technologies Inc. and others. All rights reserved.
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
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 xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.4.0"
13 odl:use-default-for-reference-types="true">
15 <!-- Restconf providers -->
17 <cm:property-placeholder persistent-id="org.opendaylight.restconf" update-strategy="reload">
18 <cm:default-properties>
19 <cm:property name="websocket-address" value="0.0.0.0"/>
20 <cm:property name="websocket-port" value="8185"/>
21 </cm:default-properties>
22 </cm:property-placeholder>
25 This cfg file defines the type of the DOMDataBroker service to use. 'default' indicates to use
26 the default DOMDataBroker provided by MD-SAL. This setting is useful for providing a custom
27 DOMDataBroker implementation that does, e.g., validation or additional security checking on
28 top of the default DOMDataBroker.
30 <cm:property-placeholder persistent-id="org.opendaylight.restconf.databroker"
31 placeholder-prefix = "@{" placeholder-suffix = "}" update-strategy="reload">
32 <cm:default-properties>
33 <cm:property name="databroker-service-type" value="default"/>
34 </cm:default-properties>
35 </cm:property-placeholder>
37 <reference id="schemaService" interface="org.opendaylight.controller.sal.core.api.model.SchemaService"/>
38 <reference id="domRpcService" interface="org.opendaylight.controller.md.sal.dom.api.DOMRpcService"/>
39 <reference id="domMountPointService" interface="org.opendaylight.controller.md.sal.dom.api.DOMMountPointService"/>
40 <reference id="domNotificationService" interface="org.opendaylight.controller.md.sal.dom.api.DOMNotificationService"/>
41 <reference id="domDataBroker" interface="org.opendaylight.controller.md.sal.dom.api.DOMDataBroker"
42 ext:filter="(type=@{databroker-service-type})"/>
43 <reference id="domSchemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService"/>
45 <bean id="webSocketPort" class="org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber">
46 <argument value="${websocket-port}"/>
49 <bean id="webSocketAddress" class="org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress">
50 <argument value="${websocket-address}"/>
53 <bean id="controllerContext" class="org.opendaylight.netconf.sal.restconf.impl.ControllerContext"
54 factory-method="newInstance" destroy-method="close">
55 <argument ref="schemaService"/>
56 <argument ref="domMountPointService"/>
57 <argument ref="domSchemaService"/>
60 <bean id="brokerFacade" class="org.opendaylight.netconf.sal.restconf.impl.BrokerFacade"
61 factory-method="newInstance" destroy-method="close">
62 <argument ref="domRpcService"/>
63 <argument ref="domDataBroker"/>
64 <argument ref="domNotificationService"/>
65 <argument ref="controllerContext"/>
68 <bean id="restconfImpl" class="org.opendaylight.netconf.sal.restconf.impl.RestconfImpl"
69 factory-method="newInstance">
70 <argument ref="brokerFacade"/>
71 <argument ref="controllerContext"/>
74 <bean id="statsServiceWrapper" class="org.opendaylight.netconf.sal.restconf.impl.StatisticsRestconfServiceWrapper"
75 factory-method="newInstance">
76 <argument ref="restconfImpl"/>
79 <bean id="restconfProviderDraft02" class="org.opendaylight.netconf.sal.restconf.impl.RestconfProviderImpl"
80 init-method="start" destroy-method="close">
81 <argument ref="statsServiceWrapper"/>
82 <argument ref="webSocketAddress"/>
83 <argument ref="webSocketPort"/>
86 <bean id="restconfApplication" class="org.opendaylight.netconf.sal.rest.impl.RestconfApplication">
87 <argument ref="controllerContext"/>
88 <argument ref="statsServiceWrapper"/>
91 <!-- JSONRestconfService -->
92 <bean id="jsonRestconfServiceDraft02"
93 class="org.opendaylight.netconf.sal.restconf.impl.JSONRestconfServiceImpl"
94 destroy-method="close">
95 <argument ref="controllerContext"/>
96 <argument ref="restconfImpl"/>
99 <service ref="jsonRestconfServiceDraft02" odl:type="default"
100 interface="org.opendaylight.netconf.sal.restconf.api.JSONRestconfService" />
102 <!-- Bierman02WebRegistrar -->
104 <reference id="customFilterAdapterConfig"
105 interface="org.opendaylight.aaa.filterchain.configuration.CustomFilterAdapterConfiguration"/>
107 <reference id="webServer" interface="org.opendaylight.aaa.web.WebServer" />
109 <reference id="webContextSecurer" interface="org.opendaylight.aaa.web.WebContextSecurer" />
111 <reference id="servletSupport" interface="org.opendaylight.aaa.web.servlet.ServletSupport" />
113 <bean id="webRegistrar" class="org.opendaylight.netconf.sal.restconf.web.Bierman02WebRegistrarImpl"
114 destroy-method="close">
115 <argument ref="webServer"/>
116 <argument ref="webContextSecurer"/>
117 <argument ref="servletSupport"/>
118 <argument ref="restconfApplication"/>
119 <argument ref="customFilterAdapterConfig"/>
122 <service ref="webRegistrar"
123 interface="org.opendaylight.netconf.sal.restconf.web.Bierman02WebRegistrar" />