X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcompatibility%2Fsal-compatibility%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcompatibility%2FComponentActivator.xtend;h=4587cc59edc9dfd587daaa68d7d2b40be023166a;hb=d71e327e51db32e967f7ebcb186e148f37f28117;hp=3d19c986327154cace3b76fe06d4fed9d6718549;hpb=1dd1433d1e2f30855b098cca7cc48039a9747df8;p=controller.git diff --git a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/ComponentActivator.xtend b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/ComponentActivator.xtend index 3d19c98632..4587cc59ed 100644 --- a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/ComponentActivator.xtend +++ b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/ComponentActivator.xtend @@ -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) + } +}