--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2017 Pantheon technologies s.r.o. and others. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
+ xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
+ xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.4.0"
+ odl:use-default-for-reference-types="true">
+
+ <!-- Restconf providers -->
+ <!--
+ This cfg file defines the type of the DOMDataBroker service to use. 'default' indicates to use
+ the default DOMDataBroker provided by MD-SAL. This setting is useful for providing a custom
+ DOMDataBroker implementation that does, e.g., validation or additional security checking on
+ top of the default DOMDataBroker.
+ -->
+ <cm:property-placeholder persistent-id="org.opendaylight.restconf.databroker"
+ placeholder-prefix = "@{" placeholder-suffix = "}" update-strategy="reload">
+ <cm:default-properties>
+ <cm:property name="databroker-service-type" value="default"/>
+ </cm:default-properties>
+ </cm:property-placeholder>
+
+ <reference id="domRpcService" interface="org.opendaylight.mdsal.dom.api.DOMRpcService"/>
+ <reference id="domMountPointService" interface="org.opendaylight.mdsal.dom.api.DOMMountPointService"/>
+ <reference id="domNotificationService" interface="org.opendaylight.mdsal.dom.api.DOMNotificationService"/>
+ <reference id="domDataBroker" interface="org.opendaylight.mdsal.dom.api.DOMDataBroker"
+ ext:filter="(type=@{databroker-service-type})"/>
+ <reference id="domSchemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService"/>
+
+ <bean id="transactionChainHandler" class="org.opendaylight.restconf.nb.rfc8040.handlers.TransactionChainHandler"
+ destroy-method="close">
+ <argument ref="domDataBroker"/>
+ </bean>
+
+ <bean id="schemaContextHandler" class="org.opendaylight.restconf.nb.rfc8040.handlers.SchemaContextHandler"
+ factory-method="newInstance" init-method="init" destroy-method="close">
+ <argument ref="transactionChainHandler"/>
+ <argument ref="domSchemaService"/>
+ </bean>
+
+ <bean id="mountPointServiceHandler" class="org.opendaylight.restconf.nb.rfc8040.handlers.DOMMountPointServiceHandler"
+ factory-method="newInstance">
+ <argument ref="domMountPointService"/>
+ </bean>
+
+ <bean id="dataBrokerHandler" class="org.opendaylight.restconf.nb.rfc8040.handlers.DOMDataBrokerHandler">
+ <argument ref="domDataBroker"/>
+ </bean>
+
+ <bean id="rpcServiceHandler" class="org.opendaylight.restconf.nb.rfc8040.handlers.RpcServiceHandler">
+ <argument ref="domRpcService"/>
+ </bean>
+
+ <bean id="notificationServiceHandler" class="org.opendaylight.restconf.nb.rfc8040.handlers.NotificationServiceHandler">
+ <argument ref="domNotificationService"/>
+ </bean>
+
+ <bean id="servicesWrapper" class="org.opendaylight.restconf.nb.rfc8040.services.wrapper.ServicesWrapper"
+ factory-method="newInstance">
+ <argument ref="schemaContextHandler"/>
+ <argument ref="mountPointServiceHandler"/>
+ <argument ref="transactionChainHandler"/>
+ <argument ref="dataBrokerHandler"/>
+ <argument ref="rpcServiceHandler"/>
+ <argument ref="notificationServiceHandler"/>
+ <argument ref="domSchemaService"/>
+ </bean>
+
+ <bean id="restconfApplication" class="org.opendaylight.restconf.nb.rfc8040.RestconfApplication">
+ <argument ref="schemaContextHandler"/>
+ <argument ref="mountPointServiceHandler"/>
+ <argument ref="servicesWrapper"/>
+ </bean>
+
+ <!-- JSONRestconfService -->
+ <bean id="jsonRestconfService"
+ class="org.opendaylight.restconf.nb.rfc8040.rests.services.impl.JSONRestconfServiceRfc8040Impl"
+ destroy-method="close">
+ <argument ref="servicesWrapper"/>
+ <argument ref="mountPointServiceHandler"/>
+ <argument ref="schemaContextHandler"/>
+ </bean>
+
+ <service ref="jsonRestconfService" odl:type="rfc8040"
+ interface="org.opendaylight.restconf.nb.rfc8040.rests.services.api.JSONRestconfService" />
+
+ <!-- Web app registration -->
+
+ <reference id="customFilterAdapterConfig"
+ interface="org.opendaylight.aaa.filterchain.configuration.CustomFilterAdapterConfiguration"/>
+
+ <reference id="webServer" interface="org.opendaylight.aaa.web.WebServer" />
+
+ <reference id="webContextSecurer" interface="org.opendaylight.aaa.web.WebContextSecurer" />
+
+ <reference id="servletSupport" interface="org.opendaylight.aaa.web.servlet.ServletSupport" />
+
+ <bean id="webInitializer" class="org.opendaylight.restconf.nb.rfc8040.web.WebInitializer"
+ destroy-method="close">
+ <argument ref="webServer"/>
+ <argument ref="webContextSecurer"/>
+ <argument ref="servletSupport"/>
+ <argument ref="restconfApplication"/>
+ <argument ref="customFilterAdapterConfig"/>
+ </bean>
+
+</blueprint>