Skip to content
This repository has been archived by the owner on Jul 13, 2020. It is now read-only.

Commit

Permalink
bind missing Routed RPC PacketProcessingService (see OPNFLWPLUG-1059)
Browse files Browse the repository at this point in the history
  • Loading branch information
vorburger committed Jan 23, 2019
1 parent 3e4c07d commit b9abb1d
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ protected void configureCloseables() {
bind(DOMMountPointService.class).to(DOMMountPointServiceImpl.class);

DOMRpcRouter domRpcRouter = DOMRpcRouter.newInstance(domSchemaService);
bind(DOMRpcRouter.class).toInstance(domRpcRouter);

DOMRpcService rpcService = domRpcRouter.getRpcService();
bind(DOMRpcService.class).toInstance(rpcService);

Expand Down
26 changes: 24 additions & 2 deletions src/main/java/org/opendaylight/mdsal/simple/MdsalModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,20 @@
import org.opendaylight.controller.sal.core.compat.DOMDataBrokerAdapter;
import org.opendaylight.controller.sal.core.compat.DOMNotificationServiceAdapter;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry;
import org.opendaylight.mdsal.binding.api.RpcProviderService;
import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMDataBrokerAdapter;
import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMRpcProviderServiceAdapter;
import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMRpcServiceAdapter;
import org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec;
import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
import org.opendaylight.mdsal.dom.api.DOMDataBroker;
import org.opendaylight.mdsal.dom.api.DOMMountPointService;
import org.opendaylight.mdsal.dom.api.DOMNotificationService;
import org.opendaylight.mdsal.dom.api.DOMRpcProviderService;
import org.opendaylight.mdsal.dom.api.DOMRpcService;
import org.opendaylight.mdsal.dom.broker.DOMMountPointServiceImpl;
import org.opendaylight.mdsal.dom.broker.DOMRpcRouter;
import org.opendaylight.mdsal.dom.broker.pingpong.PingPongDataBroker;
import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService;
import org.opendaylight.mdsal.eos.binding.dom.adapter.BindingDOMEntityOwnershipServiceAdapter;
Expand Down Expand Up @@ -96,11 +103,26 @@ BindingToNormalizedNodeCodec getBindingToNormalizedNodeCodec(
@Singleton ClusterSingletonServiceProvider getClusterSingletonServiceProvider(DOMEntityOwnershipService eos) {
return new DOMClusterSingletonServiceProviderImpl(eos);
}
/*

// @Provides
// @Singleton DOMRpcService getDOMService(org.opendaylight.controller.md.sal.dom.api.DOMRpcService controllerDRSA) {
// return new DOMRpcServiceAdapter(controllerDRSA);
// }

@Provides
@Singleton
RpcConsumerRegistry getRpcConsumerRegistry(DOMRpcService domService, BindingToNormalizedNodeCodec codec) {
return new BindingDOMRpcServiceAdapter(domService, codec);
}

@Provides
@Singleton
RpcProviderService getRpcProviderService(DOMRpcProviderService domRpcRegistry, BindingToNormalizedNodeCodec codec) {
return new BindingDOMRpcProviderServiceAdapter(domRpcRegistry, codec);
}
*/

@Provides
@Singleton DOMRpcProviderService getDOMRpcProviderService(DOMRpcRouter domRpcRouter) {
return domRpcRouter.getRpcProviderService();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.opendaylight.controller.simple.ConfigReader;
import org.opendaylight.infrautils.inject.guice.AutoWiringModule;
import org.opendaylight.infrautils.inject.guice.GuiceClassPathBinder;
import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry;
import org.opendaylight.mdsal.simple.PingPong;
import org.opendaylight.openflowjava.protocol.impl.core.SwitchConnectionProviderFactoryImpl;
import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProviderFactory;
Expand All @@ -22,6 +23,7 @@
import org.opendaylight.openflowplugin.impl.ForwardingPingPongDataBroker;
import org.opendaylight.openflowplugin.impl.PingPongDataBroker;
import org.opendaylight.openflowplugin.impl.configuration.ConfigurationServiceFactoryImpl;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow.provider.config.rev160510.OpenflowProviderConfig;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflowplugin.app.forwardingrules.manager.config.rev160511.ForwardingRulesManagerConfig;

Expand All @@ -37,6 +39,11 @@ protected void configureMore() {
bind(SwitchConnectionProviderFactory.class).to(SwitchConnectionProviderFactoryImpl.class);
}

@Provides
@Singleton PacketProcessingService getPacketProcessingService(RpcConsumerRegistry rpcConsumerRegistry) {
return rpcConsumerRegistry.getRpcService(PacketProcessingService.class);
}

@Provides
@Singleton PingPongDataBroker getPingPongDataBroker(@PingPong DataBroker pingPongDataBroker) {
return new ForwardingPingPongDataBroker(pingPongDataBroker);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
import org.opendaylight.infrautils.inject.guice.testutils.GuiceRule2;
import org.opendaylight.infrautils.simple.testutils.AbstractSimpleDistributionTest;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry;
import org.opendaylight.mdsal.binding.api.RpcProviderService;
import org.opendaylight.mdsal.simple.PingPong;

public class InMemoryMdsalModuleTest extends AbstractSimpleDistributionTest {
Expand All @@ -25,7 +27,11 @@ public class InMemoryMdsalModuleTest extends AbstractSimpleDistributionTest {
@Inject @PingPong DataBroker pingPongDataBroker;
@Inject DataBroker dataBroker;

@Inject RpcProviderService rpcProviderService;
@Inject RpcConsumerRegistry rpcConsumerRegistry;

@Test public void testDataBroker() throws InterruptedException, ExecutionException {
dataBroker.newReadWriteTransaction().commit().get();
}

}

0 comments on commit b9abb1d

Please sign in to comment.