Consolidate blueprint XML files for openflowplugin-impl
[openflowplugin.git] / openflowplugin-impl / src / main / resources / OSGI-INF / blueprint / openflowplugin-impl.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
3            xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
4            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
5            xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
6            odl:use-default-for-reference-types="true">
7
8   <bean id="openFlowPluginProviderImpl"
9         class="org.opendaylight.openflowplugin.impl.OpenFlowPluginProviderImpl"
10         init-method="initialize"
11         destroy-method="close">
12     <argument ref="configurationService"/>
13     <argument ref="switchConnectionProviderList"/>
14     <argument ref="pingPongDataBroker"/>
15     <argument ref="rpcProviderService"/>
16     <argument ref="notificationPublishService"/>
17     <argument ref="clusterSingletonServiceProvider"/>
18     <argument ref="entityOwnershipService"/>
19     <argument ref="mastershipChangeServiceManagerImpl"/>
20     <argument ref="openflowDiagStatusProvider"/>
21     <argument ref="systemReadyMonitor"/>
22   </bean>
23   <service ref="openFlowPluginProviderImpl">
24     <interfaces>
25       <value>org.opendaylight.openflowplugin.api.openflow.OpenFlowPluginProvider</value>
26       <value>org.opendaylight.openflowplugin.extension.api.OpenFlowPluginExtensionRegistratorProvider</value>
27       <value>org.opendaylight.openflowplugin.api.openflow.FlowGroupInfoHistories</value>
28     </interfaces>
29   </service>
30
31   <bean id="flowGroupCacheManagerImpl"
32         class="org.opendaylight.openflowplugin.impl.services.cache.FlowGroupCacheManagerImpl"/>
33   <service ref="flowGroupCacheManagerImpl"
34            interface="org.opendaylight.openflowplugin.api.openflow.FlowGroupCacheManager"/>
35
36   <bean id="configurationService"
37         factory-ref="configurationServiceFactory"
38         factory-method="newInstance"
39         destroy-method="close">
40     <argument ref="openflowProviderConfig" />
41     <cm:managed-properties persistent-id="org.opendaylight.openflowplugin"
42                            update-strategy="component-managed"
43                            update-method="update"/>
44   </bean>
45   <service ref="configurationService"
46            interface="org.opendaylight.openflowplugin.api.openflow.configuration.ConfigurationService"/>
47   <bean id="configurationServiceFactory"
48         class="org.opendaylight.openflowplugin.impl.configuration.ConfigurationServiceFactoryOsgiImpl">
49     <argument ref="blueprintBundleContext"/>
50   </bean>
51   <service ref="configurationServiceFactory"
52            interface="org.opendaylight.openflowplugin.api.openflow.configuration.ConfigurationServiceFactory"/>
53   <odl:clustered-app-config id="openflowProviderConfig"
54                             binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow.provider.config.rev160510.OpenflowProviderConfig"/>
55
56   <bean id="pingPongDataBroker"
57         class="org.opendaylight.openflowplugin.impl.ForwardingPingPongDataBroker">
58     <argument ref="ppDB"/>
59   </bean>
60   <reference id="ppDB"
61              interface="org.opendaylight.mdsal.binding.api.DataBroker"/>
62
63   <bean id="mastershipChangeServiceManagerImpl"
64         class="org.opendaylight.openflowplugin.impl.mastership.MastershipChangeServiceManagerImpl"/>
65   <service ref="mastershipChangeServiceManagerImpl"
66            interface="org.opendaylight.openflowplugin.api.openflow.mastership.MastershipChangeServiceManager"/>
67
68   <reference id="switchConnectionProviderList"
69              interface="org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProviderList"
70              ext:proxy-method="classes"/>
71   <reference id="rpcProviderService"
72              interface="org.opendaylight.mdsal.binding.api.RpcProviderService"/>
73   <reference id="notificationPublishService"
74              interface="org.opendaylight.mdsal.binding.api.NotificationPublishService"/>
75   <reference id="clusterSingletonServiceProvider"
76              interface="org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider"/>
77   <reference id="entityOwnershipService"
78              interface="org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService"/>
79   <reference id="openflowDiagStatusProvider"
80              interface="org.opendaylight.openflowjava.protocol.api.connection.OpenflowDiagStatusProvider"/>
81   <reference id="systemReadyMonitor"
82              interface="org.opendaylight.infrautils.ready.SystemReadyMonitor"/>
83
84   <odl:action-provider interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService"/>
85 </blueprint>