MRI version bumpup for Aluminium
[netvirt.git] / elanmanager / impl / src / main / java / org / opendaylight / netvirt / elan / l2gw / ha / HwvtepHAUtil.java
index 24828d809fac6d2f0c818bb54ecd42f0702f6017..3862bb65c968f591b0907850b77d4cfc3791b8e9 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.netvirt.elan.l2gw.ha;
 
-import static org.opendaylight.mdsal.binding.api.WriteTransaction.CREATE_MISSING_PARENTS;
 
 import com.google.common.base.Strings;
 import java.nio.charset.StandardCharsets;
@@ -16,6 +15,7 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
@@ -43,6 +43,7 @@ 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.ManagersBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.ManagersKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.Switches;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.SwitchesKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.managers.ManagerOtherConfigs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.managers.ManagerOtherConfigsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.managers.ManagerOtherConfigsKey;
@@ -294,9 +295,9 @@ public final class HwvtepHAUtil {
         }
         HwvtepGlobalAugmentation globalAugmentation = node.augmentation(HwvtepGlobalAugmentation.class);
         if (globalAugmentation != null) {
-            List<Managers> managers = globalAugmentation.getManagers();
+            List<Managers> managers = new ArrayList<Managers>(globalAugmentation.getManagers().values());
             if (managers != null && !managers.isEmpty() && managers.get(0).getManagerOtherConfigs() != null) {
-                for (ManagerOtherConfigs configs : managers.get(0).getManagerOtherConfigs()) {
+                for (ManagerOtherConfigs configs : managers.get(0).getManagerOtherConfigs().values()) {
                     if (HA_ID.equals(configs.getOtherConfigKey())) {
                         return configs.getOtherConfigValue();
                     }
@@ -321,11 +322,11 @@ public final class HwvtepHAUtil {
                 haGlobalConfigNodeOptional.get().augmentation(HwvtepGlobalAugmentation.class);
         if (augmentation != null && augmentation.getManagers() != null
                 && augmentation.getManagers().size() > 0) {
-            Managers managers = augmentation.getManagers().get(0);
+            Managers managers = new ArrayList<Managers>(augmentation.getManagers().values()).get(0);
             if (null == managers.getManagerOtherConfigs()) {
                 return childNodeIds;
             }
-            for (ManagerOtherConfigs otherConfigs : managers.getManagerOtherConfigs()) {
+            for (ManagerOtherConfigs otherConfigs : managers.getManagerOtherConfigs().values()) {
                 if (HA_CHILDREN.equals(otherConfigs.getOtherConfigKey())) {
                     String nodeIdsVal = otherConfigs.getOtherConfigValue();
                     if (nodeIdsVal != null) {
@@ -416,7 +417,7 @@ public final class HwvtepHAUtil {
         if (!switchesAlreadyPresent) {
             HwvtepGlobalAugmentation augmentation = childNode.augmentation(HwvtepGlobalAugmentation.class);
             if (augmentation != null && augmentation.getSwitches() != null) {
-                List<Switches> src = augmentation.getSwitches();
+                List<Switches> src = new ArrayList<Switches>(augmentation.getSwitches().values());
                 if (src != null && src.size() > 0) {
                     psList.add(new SwitchesCmd().transform(haNodePath, src.get(0)));
                 }
@@ -446,7 +447,7 @@ public final class HwvtepHAUtil {
         nodeBuilder.setNodeId(haNodePath.firstKeyOf(Node.class).getNodeId());
         nodeBuilder.addAugmentation(HwvtepGlobalAugmentation.class, hwvtepGlobalBuilder.build());
         Node configHANode = nodeBuilder.build();
-        tx.merge(haNodePath, configHANode, CREATE_MISSING_PARENTS);
+        tx.mergeParentStructureMerge(haNodePath, configHANode);
     }
 
     public static <D extends Datastore> void deleteNodeIfPresent(TypedReadWriteTransaction<D> tx,
@@ -472,9 +473,9 @@ public final class HwvtepHAUtil {
             return;
         }
         HashMap<InstanceIdentifier<Node>,Boolean> deleted = new HashMap<>();
-        List<Switches> switches = globalAugmentation.getSwitches();
+        Map<SwitchesKey, Switches> switches = globalAugmentation.getSwitches();
         if (switches != null) {
-            for (Switches switche : switches) {
+            for (Switches switche : switches.values()) {
                 InstanceIdentifier<Node> psId = (InstanceIdentifier<Node>)switche.getSwitchRef().getValue();
                 deleteNodeIfPresent(tx, psId);
                 deleted.put(psId, Boolean.TRUE);
@@ -486,7 +487,7 @@ public final class HwvtepHAUtil {
         if (topologyOptional.isPresent()) {
             Topology topology = topologyOptional.get();
             if (topology.getNode() != null) {
-                for (Node psNode : topology.getNode()) {
+                for (Node psNode : topology.getNode().values()) {
                     PhysicalSwitchAugmentation ps = psNode.augmentation(PhysicalSwitchAugmentation.class);
                     if (ps != null) {
                         InstanceIdentifier<Node> iid = (InstanceIdentifier<Node>)ps.getManagedBy().getValue();