bind mdsal @PingPong DataBroker
authorMichael Vorburger <mike@vorburger.ch>
Sat, 22 Dec 2018 00:17:30 +0000 (01:17 +0100)
committerMichael Vorburger <mike@vorburger.ch>
Wed, 1 Jul 2020 23:38:09 +0000 (01:38 +0200)
Signed-off-by: Michael Vorburger <mike@vorburger.ch>
src/main/java/org/opendaylight/mdsal/simple/MdsalModule.java
src/main/java/org/opendaylight/mdsal/simple/PingPong.java
src/test/java/org/opendaylight/controller/simple/test/InMemoryControllerModuleTest.java
src/test/java/org/opendaylight/mdsal/simple/test/InMemoryMdsalModuleTest.java

index 83a585b47528794eb7230ddf824bfb890ec849a5..00a1b00a3e05c2296d2f5c21bf4e1f90a9b55c16 100644 (file)
@@ -20,6 +20,7 @@ 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.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;
@@ -40,14 +41,6 @@ public class MdsalModule extends AbstractModule {
     @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) {
@@ -56,9 +49,15 @@ public class MdsalModule extends AbstractModule {
 
     @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
index d194a57b2f44923ec0a7c4ec296a6de68fae5011..4ab83f9258f723f38709f040483174e24b16ef53 100644 (file)
@@ -7,6 +7,7 @@
  */
 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;
@@ -33,7 +34,7 @@ import org.opendaylight.mdsal.binding.api.DataBroker;
 @Qualifier
 @Documented
 @Retention(RUNTIME)
-@Target({ PARAMETER, METHOD })
+@Target({ PARAMETER, METHOD, FIELD })
 public @interface PingPong {
 
 }
index ab942ba6d40f3151bf3ae0fd1b5e7f8fef1320b8..c71dd2725d6897d18f919080995a0791f1f6d637 100644 (file)
@@ -17,12 +17,14 @@ import org.opendaylight.controller.simple.InMemoryControllerModule;
 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 {
index 76946f9022b5492b3a30d0f60cc7b6ab2d3eff6e..61db4ff8b0f31efd4f3d2d67dab15bb044cb6e4f 100644 (file)
@@ -16,11 +16,13 @@ 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.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 {