Merge changes from topic 'rem_web_xml'
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / resources / org / opendaylight / blueprint / restconf-bp.xml
index 7eda5a376f618816915aae124b01a89dd852ab8d..022982962ffc2fc00b4f53fbd2bc62c76b1257f1 100644 (file)
   <!-- We need the AAAService available even though we don't use it -->
   <reference interface="org.opendaylight.aaa.api.AAAService"/>
 
-  <reference id="schemaService" interface="org.opendaylight.controller.sal.core.api.model.SchemaService"/>
   <reference id="domRpcService" interface="org.opendaylight.controller.md.sal.dom.api.DOMRpcService"/>
   <reference id="domMountPointService" interface="org.opendaylight.controller.md.sal.dom.api.DOMMountPointService"/>
   <reference id="domNotificationService" interface="org.opendaylight.controller.md.sal.dom.api.DOMNotificationService"/>
   <reference id="domDataBroker" interface="org.opendaylight.controller.md.sal.dom.api.DOMDataBroker"
           ext:filter="(type=@{databroker-service-type})"/>
+  <reference id="domSchemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService"/>
 
-  <bean id="restconfProvider" class="org.opendaylight.restconf.nb.rfc8040.RestConnectorProvider"
-          init-method="start" destroy-method="close">
+  <bean id="transactionChainHandler" class="org.opendaylight.restconf.nb.rfc8040.handlers.TransactionChainHandler"
+          destroy-method="close">
     <argument ref="domDataBroker"/>
-    <argument ref="schemaService"/>
+  </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"/>
-    <argument ref="domMountPointService"/>
   </bean>
 
-  <service ref="restconfProvider"
-      interface="org.opendaylight.restconf.nb.rfc8040.RestconfConnector" />
+  <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>
 
   <!-- JSONRestconfService -->
-  <bean id="jsonRestconfService" depends-on="restconfProvider"
+  <bean id="jsonRestconfService"
       class="org.opendaylight.restconf.nb.rfc8040.rests.services.impl.JSONRestconfServiceRfc8040Impl"
       destroy-method="close">
-    <argument>
-      <bean class="org.opendaylight.restconf.nb.rfc8040.services.wrapper.ServicesWrapperImpl"
-          factory-method="getInstance" />
-    </argument>
-    <argument>
-      <bean factory-ref="restconfProvider" factory-method="getMountPointServiceHandler" />
-    </argument>
+    <argument ref="servicesWrapper"/>
+    <argument ref="mountPointServiceHandler"/>
+    <argument ref="schemaContextHandler"/>
   </bean>
 
   <service ref="jsonRestconfService" odl:type="rfc8040"