X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcompatibility%2Fsal-compatibility%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcompatibility%2FComponentActivator.xtend;h=3d19c986327154cace3b76fe06d4fed9d6718549;hp=2156a81787b9906b46cdcd4f83138d33feb67de1;hb=f20d0ba697acfceccf8283db0c1d32619b421e11;hpb=a59d844ae2a4482c052399f5cb2cadd2b9581402 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 2156a81787..3d19c98632 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 @@ -28,8 +28,10 @@ import org.opendaylight.controller.sal.utils.GlobalConstants import org.opendaylight.controller.sal.utils.INodeConnectorFactory import org.opendaylight.controller.sal.utils.INodeFactory import org.opendaylight.controller.clustering.services.IClusterGlobalServices +import org.opendaylight.controller.sal.packet.IPluginInDataPacketService import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService +import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.OpendaylightFlowStatisticsService import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.table.statistics.rev131215.OpendaylightFlowTableStatisticsService import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.FlowTopologyDiscoveryService @@ -38,6 +40,7 @@ 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 class ComponentActivator extends ComponentActivatorAbstractBase implements BindingAwareConsumer { @@ -64,6 +67,10 @@ class ComponentActivator extends ComponentActivatorAbstractBase implements Bindi @Property TopologyProvider tpProvider = new TopologyProvider() + @Property + DataPacketServiceAdapter dataPacketService = new DataPacketServiceAdapter() + + override protected init() { Node.NodeIDType.registerIDType(MD_SAL_TYPE, String); @@ -89,6 +96,7 @@ class ComponentActivator extends ComponentActivatorAbstractBase implements Bindi // Data Packet Service subscribe.registerNotificationListener(inventory); + dataPacketService.delegate = session.getRpcService(PacketProcessingService) // Inventory Service inventory.dataService = session.getSALService(DataBrokerService); @@ -99,6 +107,8 @@ class ComponentActivator extends ComponentActivatorAbstractBase implements Bindi inventory.dataProviderService = session.getSALService(DataProviderService) topology.dataService = session.getSALService(DataProviderService) tpProvider.dataService = session.getSALService(DataProviderService) + + tpProvider.start(); subscribe.registerNotificationListener(dataPacket) @@ -113,6 +123,14 @@ class ComponentActivator extends ComponentActivatorAbstractBase implements Bindi configure(imp, c); } + override protected getImplementations() { + return Arrays.asList(dataPacketService) + } + + override protected configureInstance(Component c, Object imp, String containerName) { + instanceConfigure(imp, c, containerName); + } + private def dispatch configure(MDSalNodeFactory imp, Component it) { setInterface(INodeFactory.name, properties); } @@ -154,6 +172,14 @@ class ComponentActivator extends ComponentActivatorAbstractBase implements Bindi } + private def dispatch instanceConfigure(DataPacketServiceAdapter imp, Component it, String containerName) { + setInterface(IPluginInDataPacketService.name, properties) + } + + private def dispatch instanceConfigure(ComponentActivator imp, Component it, String containerName) { + } + + private def dispatch configure(InventoryAndReadAdapter imp, Component it) { setInterface(Arrays.asList(IPluginInInventoryService.name, IPluginInReadService.name), properties) add( @@ -164,7 +190,7 @@ class ComponentActivator extends ComponentActivatorAbstractBase implements Bindi add( createServiceDependency() // .setService(IPluginOutInventoryService) // - .setCallbacks("setInventoryPublisher", "setInventoryPublisher") // + .setCallbacks("setInventoryPublisher", "unsetInventoryPublisher") // .setRequired(false)) add( createServiceDependency() //