Changed sal-compatibility from Consumer to Provider 02/4302/2
authorTony Tkacik <ttkacik@cisco.com>
Thu, 16 Jan 2014 12:59:16 +0000 (13:59 +0100)
committerTony Tkacik <ttkacik@cisco.com>
Thu, 16 Jan 2014 12:59:16 +0000 (13:59 +0100)
sal-compatibility project uses DataProviderService
and registers commit handler thus it is
Provider contracts.

Change-Id: I6389167ae1727cc7f4d821bfc388c7bf978a4060
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/ComponentActivator.xtend

index 3d19c986327154cace3b76fe06d4fed9d6718549..4587cc59edc9dfd587daaa68d7d2b40be023166a 100644 (file)
@@ -41,8 +41,10 @@ import org.osgi.framework.BundleContext
 import static org.opendaylight.controller.sal.compatibility.NodeMapping.*
 import org.opendaylight.controller.sal.compatibility.topology.TopologyProvider
 import org.opendaylight.controller.sal.compatibility.adsal.DataPacketServiceAdapter
+import org.opendaylight.controller.sal.binding.api.BindingAwareProvider
+import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext
 
-class ComponentActivator extends ComponentActivatorAbstractBase implements BindingAwareConsumer {
+class ComponentActivator extends ComponentActivatorAbstractBase {
 
     private BundleContext context;
 
@@ -83,37 +85,9 @@ class ComponentActivator extends ComponentActivatorAbstractBase implements Bindi
     }
 
     def setBroker(BindingAwareBroker broker) {
-        broker.registerConsumer(this, context)
+        broker.registerProvider(new SalCompatibilityProvider(this), context)
     }
 
-    override onSessionInitialized(ConsumerContext session) {
-        val subscribe = session.getSALService(NotificationService)
-
-        // Registration of Flow Service
-        flow.delegate = session.getRpcService(SalFlowService)
-        flow.dataBrokerService = session.getSALService(DataBrokerService);
-        subscribe.registerNotificationListener(flow);
-
-        // Data Packet Service
-        subscribe.registerNotificationListener(inventory);
-        dataPacketService.delegate = session.getRpcService(PacketProcessingService)
-
-        // Inventory Service
-        inventory.dataService = session.getSALService(DataBrokerService);
-        inventory.flowStatisticsService = session.getRpcService(OpendaylightFlowStatisticsService);
-        inventory.flowTableStatisticsService = session.getRpcService(OpendaylightFlowTableStatisticsService);
-        inventory.nodeConnectorStatisticsService = session.getRpcService(OpendaylightPortStatisticsService);
-        inventory.topologyDiscovery = session.getRpcService(FlowTopologyDiscoveryService);
-               inventory.dataProviderService = session.getSALService(DataProviderService)
-               topology.dataService = session.getSALService(DataProviderService)
-               tpProvider.dataService = session.getSALService(DataProviderService)
-
-
-               tpProvider.start();
-
-        subscribe.registerNotificationListener(dataPacket)
-
-    }
 
     override protected getGlobalImplementations() {
         return Arrays.asList(this, flow, inventory, dataPacket, nodeFactory, nodeConnectorFactory,topology,tpProvider)
@@ -225,3 +199,54 @@ class ComponentActivator extends ComponentActivatorAbstractBase implements Bindi
         return props;
     }
 }
+package class SalCompatibilityProvider implements BindingAwareProvider {
+    
+    private val ComponentActivator activator;
+    
+    new(ComponentActivator cmpAct) {
+        activator = cmpAct;
+    }
+    
+    override getFunctionality() {
+        // Noop
+    }
+    
+    override getImplementations() {
+        // Noop
+    }
+    
+    
+    override onSessionInitialized(ConsumerContext session) {
+        // Noop
+    }
+    
+    
+    override onSessionInitiated(ProviderContext session) {
+        val it = activator
+                val subscribe = session.getSALService(NotificationService)
+
+        // Registration of Flow Service
+        flow.delegate = session.getRpcService(SalFlowService)
+        flow.dataBrokerService = session.getSALService(DataBrokerService);
+        subscribe.registerNotificationListener(flow);
+
+        // Data Packet Service
+        subscribe.registerNotificationListener(inventory);
+        dataPacketService.delegate = session.getRpcService(PacketProcessingService)
+
+        // Inventory Service
+        inventory.dataService = session.getSALService(DataBrokerService);
+        inventory.flowStatisticsService = session.getRpcService(OpendaylightFlowStatisticsService);
+        inventory.flowTableStatisticsService = session.getRpcService(OpendaylightFlowTableStatisticsService);
+        inventory.nodeConnectorStatisticsService = session.getRpcService(OpendaylightPortStatisticsService);
+        inventory.topologyDiscovery = session.getRpcService(FlowTopologyDiscoveryService);
+        inventory.dataProviderService = session.getSALService(DataProviderService)
+        topology.dataService = session.getSALService(DataProviderService)
+        tpProvider.dataService = session.getSALService(DataProviderService)
+
+
+        tpProvider.start();
+
+        subscribe.registerNotificationListener(dataPacket)
+    }
+}