Fix findbugs violations in hwvtepsouthbound-impl
[ovsdb.git] / hwvtepsouthbound / hwvtepsouthbound-impl / src / main / java / org / opendaylight / ovsdb / hwvtepsouthbound / reconciliation / configuration / HwvtepReconciliationTask.java
index 38379f54fb5d3632322cab09dc36b3abb99a30cf..939ebef1f1d50bffb1476c269d737eced09fcd05 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
+ * Copyright (c) 2016, 2017 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
@@ -7,9 +7,13 @@
  */
 package org.opendaylight.ovsdb.hwvtepsouthbound.reconciliation.configuration;
 
+import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.CONFIGURATION;
+import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.OPERATIONAL;
+
+import java.util.ArrayList;
+import java.util.Collection;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
 import org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepConnectionInstance;
 import org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepConnectionManager;
 import org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepSouthboundMapper;
@@ -22,22 +26,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LogicalSwitches;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.CONFIGURATION;
-import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.OPERATIONAL;
 
 public class HwvtepReconciliationTask extends ReconciliationTask {
-
-    private static final Logger LOG = LoggerFactory.getLogger(HwvtepReconciliationTask.class);
-    private HwvtepConnectionInstance connectionInstance;
-    private DataBroker db;
-    private Node psNode;
-    private MdsalUtils mdsalUtils;
+    private final HwvtepConnectionInstance connectionInstance;
+    private final DataBroker db;
+    private final Node psNode;
+    private final MdsalUtils mdsalUtils;
 
     public HwvtepReconciliationTask(ReconciliationManager reconciliationManager,
                                     HwvtepConnectionManager connectionManager,
@@ -52,16 +46,20 @@ public class HwvtepReconciliationTask extends ReconciliationTask {
         this.mdsalUtils = new MdsalUtils(db);
     }
 
-    private void transactChangesToDevice(Collection<DataTreeModification<Node>> changes) {
-        HwvtepOperationalState hwvtepOperationalState = new HwvtepOperationalState(db, connectionInstance, changes);
-        connectionInstance.transact(new TransactCommandAggregator(hwvtepOperationalState,changes));
+    private void transactChangesToDevice(final Collection<DataTreeModification<Node>> changes,
+                                         final Node globalOperNode,
+                                         final Node node) {
+        HwvtepOperationalState hwvtepOperationalState = new HwvtepOperationalState(db, connectionInstance, changes,
+                globalOperNode, node);
+        hwvtepOperationalState.setInReconciliation(true);
+        boolean reconcile = true;
+        connectionInstance.transact(new TransactCommandAggregator(hwvtepOperationalState,changes), reconcile);
     }
 
     @Override
     public boolean reconcileConfiguration(HwvtepConnectionManager connectionManagerOfDevice) {
         InstanceIdentifier<Node> psNodeIid = HwvtepSouthboundMapper.createInstanceIdentifier(psNode.getNodeId());
         InstanceIdentifier<Node> nodeId = (InstanceIdentifier<Node>)nodeIid;
-        ReadOnlyTransaction tx = reconciliationManager.getDb().newReadOnlyTransaction();
 
         Node globalConfigNode = mdsalUtils.read(CONFIGURATION, nodeId);
         Node globalOpNode = mdsalUtils.read(OPERATIONAL, nodeId);
@@ -87,7 +85,7 @@ public class HwvtepReconciliationTask extends ReconciliationTask {
                 }
             }
         }
-        transactChangesToDevice(changes);
+        transactChangesToDevice(changes, globalOpNode, psNode);
         return true;
     }
 
@@ -103,5 +101,4 @@ public class HwvtepReconciliationTask extends ReconciliationTask {
     public long retryDelayInMills() {
         return 0;
     }
-
 }