Make 'bindService' transaction-embeddable
[genius.git] / interfacemanager / interfacemanager-impl / src / main / java / org / opendaylight / genius / interfacemanager / InterfacemgrProvider.java
index e386e0cb9bc37aaf96bb8ec53a581b0c125b7574..1b50eb55901ad8ab360d80e850598fcf3fd91b07 100644 (file)
@@ -549,10 +549,19 @@ public class InterfacemgrProvider implements BindingAwareProvider, AutoCloseable
     }
 
     @Override
-    public void bindService(String interfaceName, Class<? extends ServiceModeBase> serviceMode, BoundServices serviceInfo) {
-        WriteTransaction t = dataBroker.newWriteOnlyTransaction();
+    public void bindService(String interfaceName, Class<? extends ServiceModeBase> serviceMode,
+                            BoundServices serviceInfo) {
+        bindService(interfaceName, serviceMode, serviceInfo, /*WriteTransaction*/ null);
+    }
+
+    @Override
+    public void bindService(String interfaceName, Class<? extends ServiceModeBase> serviceMode,
+                            BoundServices serviceInfo, WriteTransaction tx) {
+        WriteTransaction t = (tx != null) ? tx : dataBroker.newWriteOnlyTransaction();
         IfmUtil.bindService(t, interfaceName, serviceInfo, serviceMode);
-        t.submit();
+        if (tx == null) {
+            t.submit();
+        }
     }
 
     @Override