import org.opendaylight.mdsal.dom.api.DOMMountPointService;
import org.opendaylight.mdsal.dom.api.DOMNotificationService;
import org.opendaylight.mdsal.dom.broker.DOMMountPointServiceImpl;
+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;
import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipService;
@Singleton DataBroker getDataBroker(DOMDataBroker domDataBroker, BindingToNormalizedNodeCodec codec) {
return new BindingDOMDataBrokerAdapter(domDataBroker, codec);
}
-/*
- @Provides
- @Singleton
- @PingPong DataBroker getPingPongDataBroker(
- @PingPong org.opendaylight.controller.md.sal.binding.api.DataBroker controllerDB) {
- return new DataBrokerAdapter(controllerDB);
- }
-*/
@Provides
@Singleton DOMDataBroker getDOMDataBroker(org.opendaylight.controller.md.sal.dom.api.DOMDataBroker controllerDDB) {
@Provides
@Singleton
- @PingPong DOMDataBroker getPingPongDOMDataBroker(
- @PingPong org.opendaylight.controller.md.sal.dom.api.DOMDataBroker controllerDDB) {
- return new DOMDataBrokerAdapter(controllerDDB);
+ @PingPong DOMDataBroker getDOMPingPongDataBroker(DOMDataBroker domDataBroker) {
+ return new PingPongDataBroker(domDataBroker);
+ }
+
+ @Provides
+ @Singleton
+ @PingPong
+ DataBroker getPingPongDOMDataBroker(@PingPong DOMDataBroker domDataBroker, BindingToNormalizedNodeCodec codec) {
+ return new BindingDOMDataBrokerAdapter(domDataBroker, codec);
}
@Provides
*/
package org.opendaylight.mdsal.simple;
+import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
@Qualifier
@Documented
@Retention(RUNTIME)
-@Target({ PARAMETER, METHOD })
+@Target({ PARAMETER, METHOD, FIELD })
public @interface PingPong {
}
import org.opendaylight.infrautils.inject.guice.testutils.AnnotationsModule;
import org.opendaylight.infrautils.inject.guice.testutils.GuiceRule2;
import org.opendaylight.infrautils.simple.testutils.AbstractSimpleDistributionTest;
+import org.opendaylight.mdsal.simple.PingPong;
public class InMemoryControllerModuleTest extends AbstractSimpleDistributionTest {
public @Rule GuiceRule2 guice = new GuiceRule2(InMemoryControllerModule.class, AnnotationsModule.class);
@Inject DataBroker dataBroker;
+ @Inject @PingPong DataBroker pingPongDataBroker;
@Inject NotificationService notificationService;
@Test public void testDataBroker() throws InterruptedException, ExecutionException {
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.simple.PingPong;
public class InMemoryMdsalModuleTest extends AbstractSimpleDistributionTest {
public @Rule GuiceRule2 guice = new GuiceRule2(InMemoryControllerModule.class, AnnotationsModule.class);
+ @Inject @PingPong DataBroker pingPongDataBroker;
@Inject DataBroker dataBroker;
@Test public void testDataBroker() throws InterruptedException, ExecutionException {