Migrate elanmanager to use LoggingFutures
[netvirt.git] / elanmanager / impl / src / main / java / org / opendaylight / netvirt / elan / l2gw / ha / handlers / NodeCopier.java
index d03465597f28491c2f0cf35afc115862bafa7d42..b82bf3e27fa4a7a0572d6359a288f1ed62fcb4c3 100644 (file)
@@ -24,7 +24,7 @@ import org.opendaylight.genius.infra.Datastore.Operational;
 import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
 import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.infrautils.utils.concurrent.ListenableFutures;
+import org.opendaylight.infrautils.utils.concurrent.LoggingFutures;
 import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil;
 import org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAJobScheduler;
 import org.opendaylight.netvirt.elan.l2gw.ha.merge.GlobalAugmentationMerger;
@@ -44,7 +44,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @Singleton
-public class NodeCopier implements INodeCopier {
+public class NodeCopier {
 
     private static final Logger LOG = LoggerFactory.getLogger(NodeCopier.class);
 
@@ -59,7 +59,6 @@ public class NodeCopier implements INodeCopier {
         this.txRunner = new ManagedNewTransactionRunnerImpl(db);
     }
 
-    @Override
     public <D extends Datastore> void copyGlobalNode(Optional<Node> srcGlobalNodeOptional,
                                InstanceIdentifier<Node> srcPath,
                                InstanceIdentifier<Node> dstPath,
@@ -70,7 +69,7 @@ public class NodeCopier implements INodeCopier {
             Futures.addCallback(tx.read(srcPath), new FutureCallback<Optional<Node>>() {
                 @Override
                 public void onSuccess(Optional<Node> nodeOptional) {
-                    HAJobScheduler.getInstance().submitJob(() -> ListenableFutures.addErrorLogging(
+                    HAJobScheduler.getInstance().submitJob(() -> LoggingFutures.addErrorLogging(
                         txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> {
                             if (nodeOptional.isPresent()) {
                                 copyGlobalNode(nodeOptional, srcPath, dstPath, datastoreType, tx);
@@ -123,7 +122,7 @@ public class NodeCopier implements INodeCopier {
             haBuilder.setManagers(HwvtepHAUtil.buildManagersForHANode(srcGlobalNodeOptional.get(),
                     existingDstGlobalNodeOptional));
             //Also update the manager section in config which helps in cluster reboot scenarios
-            ListenableFutures.addErrorLogging(
+            LoggingFutures.addErrorLogging(
                 txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
                     confTx -> haBuilder.getManagers().forEach(manager -> {
                         InstanceIdentifier<Managers> managerIid =
@@ -142,7 +141,6 @@ public class NodeCopier implements INodeCopier {
         }
     }
 
-    @Override
     public <D extends Datastore> void copyPSNode(Optional<Node> srcPsNodeOptional,
                            InstanceIdentifier<Node> srcPsPath,
                            InstanceIdentifier<Node> dstPsPath,
@@ -155,7 +153,7 @@ public class NodeCopier implements INodeCopier {
                 @Override
                 public void onSuccess(Optional<Node> nodeOptional) {
                     HAJobScheduler.getInstance().submitJob(() -> {
-                        ListenableFutures.addErrorLogging(
+                        LoggingFutures.addErrorLogging(
                             txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> {
                                 if (nodeOptional.isPresent()) {
                                     copyPSNode(nodeOptional,
@@ -166,14 +164,14 @@ public class NodeCopier implements INodeCopier {
                                      */
                                     HwvtepHAUtil.deleteNodeIfPresent(tx, dstPsPath);
                                 }
-                            }), LOG, "Failed to read source node {}", srcPsNodeOptional.get());
+                            }), LOG, "Failed to read source node {}", srcPsPath);
                     });
                 }
 
                 @Override
                 public void onFailure(Throwable throwable) {
                 }
-            });
+            }, MoreExecutors.directExecutor());
             return;
         }
         NodeBuilder dstPsNodeBuilder = HwvtepHAUtil.getNodeBuilderForPath(dstPsPath);