Cleanup warnings in hwvtepsouthbound-impl 75/94575/4
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 9 Jan 2021 17:54:54 +0000 (18:54 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 10 Jan 2021 08:53:06 +0000 (09:53 +0100)
Use BindingMap to reduce warnings about deprecated use of lists.

Change-Id: Ib47f8b3de614aae8e56af35533eb4934ba047c0b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/reconciliation/configuration/GlobalConfigOperationalChangeGetter.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepLogicalRouterUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepLogicalSwitchUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepManagerUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepPhysicalPortUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepPhysicalSwitchUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepTunnelUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepUcastMacsLocalUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepUcastMacsRemoteUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/test/java/org/opendaylight/ovsdb/hwvtepsouthbound/DataChangeListenerTestBase.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/test/java/org/opendaylight/ovsdb/hwvtepsouthbound/TestBuilders.java

index 4b731b9ce4f31dd1e19ce47df200871a87cf0bcc..9e6928cfa9fbda18d130fe5ac3d30f912f79875c 100644 (file)
@@ -8,12 +8,9 @@
 package org.opendaylight.ovsdb.hwvtepsouthbound.reconciliation.configuration;
 
 import com.google.common.collect.Sets;
-import java.util.ArrayList;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.stream.Collectors;
 import org.opendaylight.mdsal.binding.api.DataTreeModification;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentationBuilder;
@@ -26,6 +23,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 
 public final class GlobalConfigOperationalChangeGetter {
 
@@ -53,16 +51,15 @@ public final class GlobalConfigOperationalChangeGetter {
     static void fillLocalMacsToBeRemoved(final HwvtepGlobalAugmentationBuilder oldAugmentation, final Node configNode,
             final Node opNode) {
         Set<String> logicalSwitchNamesToBeRemoved = getLogicalSwitchesToBeRemoved(configNode, opNode);
-        List<LocalUcastMacs> localUcastMacsToBeRemoved = getLocalUcastMacsToBeRemoved(opNode,
-                logicalSwitchNamesToBeRemoved);
-        List<LocalMcastMacs> localMcastMacsToBeRemoved = getLocalMcastMacsToBeRemoved(opNode,
-                logicalSwitchNamesToBeRemoved);
+        var localUcastMacsToBeRemoved = getLocalUcastMacsToBeRemoved(opNode, logicalSwitchNamesToBeRemoved);
+        var localMcastMacsToBeRemoved = getLocalMcastMacsToBeRemoved(opNode, logicalSwitchNamesToBeRemoved);
 
         oldAugmentation.setLocalUcastMacs(localUcastMacsToBeRemoved);
         oldAugmentation.setLocalMcastMacs(localMcastMacsToBeRemoved);
     }
 
-    static List<LocalUcastMacs> getLocalUcastMacsToBeRemoved(final Node opNode, final Set<String> removedSwitchNames) {
+    static Map<LocalUcastMacsKey, LocalUcastMacs> getLocalUcastMacsToBeRemoved(final Node opNode,
+            final Set<String> removedSwitchNames) {
         if (opNode == null || opNode.augmentation(HwvtepGlobalAugmentation.class) == null) {
             return null;
         }
@@ -75,10 +72,11 @@ public final class GlobalConfigOperationalChangeGetter {
                 .filter(mac -> removedSwitchNames.contains(
                         mac.getLogicalSwitchRef().getValue().firstKeyOf(
                                 LogicalSwitches.class).getHwvtepNodeName().getValue()))
-                .collect(Collectors.toList());
+                .collect(BindingMap.toOrderedMap());
     }
 
-    static List<LocalMcastMacs> getLocalMcastMacsToBeRemoved(final Node opNode, final Set<String> removedSwitchNames) {
+    static Map<LocalMcastMacsKey, LocalMcastMacs> getLocalMcastMacsToBeRemoved(final Node opNode,
+            final Set<String> removedSwitchNames) {
         if (opNode == null || opNode.augmentation(HwvtepGlobalAugmentation.class) == null) {
             return null;
         }
@@ -91,7 +89,7 @@ public final class GlobalConfigOperationalChangeGetter {
                 .filter(mac -> removedSwitchNames.contains(
                         mac.getLogicalSwitchRef().getValue().firstKeyOf(
                                 LogicalSwitches.class).getHwvtepNodeName().getValue()))
-                .collect(Collectors.toList());
+                .collect(BindingMap.toOrderedMap());
     }
 
     static  Set<String> getLogicalSwitchesToBeRemoved(final Node configNode, final Node opNode) {
@@ -142,7 +140,7 @@ public final class GlobalConfigOperationalChangeGetter {
         } else {
             newNodeBuilder = new NodeBuilder();
         }
-        newNodeBuilder.setTerminationPoint(new ArrayList<>());
+        newNodeBuilder.setTerminationPoint(Map.of());
         return newNodeBuilder;
     }
 }
index 7207ab475401de4bf39716b55a7649f78d9969ca..44f49e2a6b1dcaaed1d18b5792a1e24edb703189 100644 (file)
@@ -42,6 +42,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.LogicalSwitches;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.logical.router.attributes.AclBindings;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.logical.router.attributes.AclBindingsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.logical.router.attributes.AclBindingsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.logical.router.attributes.StaticRoutes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.logical.router.attributes.StaticRoutesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.logical.router.attributes.SwitchBindings;
@@ -49,6 +50,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -100,9 +102,10 @@ public class HwvtepLogicalRouterUpdateCommand extends AbstractTransactionCommand
         setStaticRoutes(router, lrBuilder);
         setAclBindings(router, lrBuilder);
 
-        List<LogicalRouters> routers = new ArrayList<>();
-        routers.add(lrBuilder.build());
-        connectionNode.addAugmentation(new HwvtepGlobalAugmentationBuilder().setLogicalRouters(routers).build());
+
+        connectionNode.addAugmentation(new HwvtepGlobalAugmentationBuilder()
+            .setLogicalRouters(BindingMap.of(lrBuilder.build()))
+            .build());
         return connectionNode.build();
     }
 
@@ -127,7 +130,7 @@ public class HwvtepLogicalRouterUpdateCommand extends AbstractTransactionCommand
 
     private void setAclBindings(final LogicalRouter router, final LogicalRoutersBuilder builder) {
         if (isRouterHasAcls(router)) {
-            List<AclBindings> bindings = new ArrayList<>();
+            var bindings = BindingMap.<AclBindingsKey, AclBindings>orderedBuilder();
             for (Entry<String, UUID> entry : router.getAclBindingColumn().getData().entrySet()) {
                 AclBindingsBuilder aclBindingBuiler = new AclBindingsBuilder();
                 UUID aclUUID = entry.getValue();
@@ -139,7 +142,7 @@ public class HwvtepLogicalRouterUpdateCommand extends AbstractTransactionCommand
                     aclBindingBuiler.setRouterInterface(new IpPrefix(new Ipv4Prefix(entry.getKey())));
                     bindings.add(aclBindingBuiler.build());
                 }
-                builder.setAclBindings(bindings);
+                builder.setAclBindings(bindings.build());
             }
         }
     }
index 05e486c7c4f9bb320c03811939973a6f3f94234b..b2064d9c9ae011b60d53d9a652d074b03786276a 100644 (file)
@@ -8,8 +8,6 @@
 
 package org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md;
 
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Optional;
@@ -34,6 +32,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -98,10 +97,10 @@ public class HwvtepLogicalSwitchUpdateCommand extends AbstractTransactionCommand
             lsBuilder.setTunnelKey(logicalSwitch.getTunnelKeyColumn().getData().iterator().next().toString());
         }
 
-        List<LogicalSwitches> switches = new ArrayList<>();
-        switches.add(lsBuilder.build());
-
-        connectionNode.addAugmentation(new HwvtepGlobalAugmentationBuilder().setLogicalSwitches(switches).build());
-        return connectionNode.build();
+        return connectionNode
+            .addAugmentation(new HwvtepGlobalAugmentationBuilder()
+                .setLogicalSwitches(BindingMap.of(lsBuilder.build()))
+                .build())
+            .build();
     }
 }
index 5c6a6e7984a597a80f89d2504a120d8d3d6c39b7..0099e42c466a283760b834512c1d11b1ad87221b 100644 (file)
@@ -8,8 +8,6 @@
 
 package org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md;
 
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Optional;
@@ -26,13 +24,14 @@ import org.opendaylight.ovsdb.utils.mdsal.utils.TransactionType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.Managers;
 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.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;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -81,21 +80,22 @@ public class HwvtepManagerUpdateCommand extends AbstractTransactionCommand {
         }
         ManagerOtherConfigsBuilder mocBuilder = new ManagerOtherConfigsBuilder();
         if (manager.getOtherConfigColumn().getData() != null && !manager.getOtherConfigColumn().getData().isEmpty()) {
-            List<ManagerOtherConfigs> mocList = new ArrayList<>();
+            var mocList = BindingMap.<ManagerOtherConfigsKey, ManagerOtherConfigs>orderedBuilder();
             Map<String, String> ocList = manager.getOtherConfigColumn().getData();
             for (Entry<String, String> otherConfigEntry : ocList.entrySet()) {
                 mocBuilder.setOtherConfigKey(otherConfigEntry.getKey());
                 mocBuilder.setOtherConfigValue(otherConfigEntry.getValue());
                 mocList.add(mocBuilder.build());
             }
-            managersBuilder.setManagerOtherConfigs(mocList);
+            managersBuilder.setManagerOtherConfigs(mocList.build());
         }
         managersBuilder.setManagerUuid(new Uuid(manager.getUuid().toString()));
-        List<Managers> managersList = new ArrayList<>();
-        managersList.add(managersBuilder.build());
 
-        connectionNode.addAugmentation(new HwvtepGlobalAugmentationBuilder().setManagers(managersList).build());
-        return connectionNode.build();
+        return connectionNode
+            .addAugmentation(new HwvtepGlobalAugmentationBuilder()
+                .setManagers(BindingMap.of(managersBuilder.build()))
+                .build())
+            .build();
         // TODO Deletion of other config
     }
 }
index 12a355e3be05e15afe5983c703ea7d1bef074ac6..64c55230b67149dc2203f832df045c3ff74309b0 100644 (file)
@@ -61,6 +61,7 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointKey;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -246,7 +247,7 @@ public class HwvtepPhysicalPortUpdateCommand extends AbstractTransactionCommand
             final HwvtepPhysicalPortAugmentationBuilder tpAugmentationBuilder) {
         Map<Long, UUID> vlanBindings = portUpdate.getVlanBindingsColumn().getData();
         if (vlanBindings != null && !vlanBindings.isEmpty()) {
-            List<VlanBindings> vlanBindingsList = new ArrayList<>();
+            var vlanBindingsList = BindingMap.<VlanBindingsKey, VlanBindings>orderedBuilder();
             for (Map.Entry<Long, UUID> vlanBindingEntry : vlanBindings.entrySet()) {
                 Long vlanBindingKey = vlanBindingEntry.getKey();
                 UUID vlanBindingValue = vlanBindingEntry.getValue();
@@ -254,7 +255,7 @@ public class HwvtepPhysicalPortUpdateCommand extends AbstractTransactionCommand
                     vlanBindingsList.add(createVlanBinding(vlanBindingKey, vlanBindingValue));
                 }
             }
-            tpAugmentationBuilder.setVlanBindings(vlanBindingsList);
+            tpAugmentationBuilder.setVlanBindings(vlanBindingsList.build());
         }
     }
 
@@ -316,11 +317,9 @@ public class HwvtepPhysicalPortUpdateCommand extends AbstractTransactionCommand
             final PhysicalPort portUpdate) {
         if (portUpdate.getPortFaultStatusColumn() != null && portUpdate.getPortFaultStatusColumn().getData() != null
                 && !portUpdate.getPortFaultStatusColumn().getData().isEmpty()) {
-            List<PortFaultStatus> portFaultStatusLst = new ArrayList<>();
-            for (String portFaultStatus : portUpdate.getPortFaultStatusColumn().getData()) {
-                portFaultStatusLst.add(new PortFaultStatusBuilder().withKey(new PortFaultStatusKey(portFaultStatus))
-                        .setPortFaultStatusKey(portFaultStatus).build());
-            }
+            var portFaultStatusLst = portUpdate.getPortFaultStatusColumn().getData().stream()
+                .map(portFaultStatus -> new PortFaultStatusBuilder().setPortFaultStatusKey(portFaultStatus).build())
+                .collect(BindingMap.toOrderedMap());
             tpAugmentationBuilder.setPortFaultStatus(portFaultStatusLst);
         }
     }
index 1295604b36d107f933c74ffab98a8ce5c315f877..2b62bc5a00fb4567a0ac701d8faf396762ab3a23 100644 (file)
@@ -41,9 +41,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.PhysicalSwitchAugmentationBuilder;
 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.SwitchesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes.ManagementIps;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes.ManagementIpsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes.ManagementIpsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes.SwitchFaultStatus;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes.SwitchFaultStatusBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes.SwitchFaultStatusKey;
@@ -56,6 +54,7 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -194,12 +193,11 @@ public class HwvtepPhysicalSwitchUpdateCommand extends AbstractTransactionComman
             PhysicalSwitch phySwitch) {
         if (phySwitch.getManagementIpsColumn() != null && phySwitch.getManagementIpsColumn().getData() != null
                 && !phySwitch.getManagementIpsColumn().getData().isEmpty()) {
-            List<ManagementIps> mgmtIps = new ArrayList<>();
-            for (String mgmtIp : phySwitch.getManagementIpsColumn().getData()) {
-                IpAddress ip = IpAddressBuilder.getDefaultInstance(mgmtIp);
-                mgmtIps.add(
-                        new ManagementIpsBuilder().withKey(new ManagementIpsKey(ip)).setManagementIpsKey(ip).build());
-            }
+            var mgmtIps = phySwitch.getManagementIpsColumn().getData().stream()
+                .map(ip -> new ManagementIpsBuilder()
+                    .setManagementIpsKey(IpAddressBuilder.getDefaultInstance(ip))
+                    .build())
+                .collect(BindingMap.toMap());
             psAugmentationBuilder.setManagementIps(mgmtIps);
         }
     }
@@ -260,12 +258,11 @@ public class HwvtepPhysicalSwitchUpdateCommand extends AbstractTransactionComman
             PhysicalSwitch phySwitch) {
         if (phySwitch.getSwitchFaultStatusColumn() != null && phySwitch.getSwitchFaultStatusColumn().getData() != null
                 && !phySwitch.getSwitchFaultStatusColumn().getData().isEmpty()) {
-            List<SwitchFaultStatus> switchFaultStatusLst = new ArrayList<>();
-            for (String switchFaultStatus : phySwitch.getSwitchFaultStatusColumn().getData()) {
-                switchFaultStatusLst
-                        .add(new SwitchFaultStatusBuilder().withKey(new SwitchFaultStatusKey(switchFaultStatus))
-                                .setSwitchFaultStatusKey(switchFaultStatus).build());
-            }
+            var switchFaultStatusLst = phySwitch.getSwitchFaultStatusColumn().getData().stream()
+                .map(switchFaultStatus -> new SwitchFaultStatusBuilder()
+                    .setSwitchFaultStatusKey(switchFaultStatus)
+                    .build())
+                .collect(BindingMap.toOrderedMap());
             psAugmentationBuilder.setSwitchFaultStatus(switchFaultStatusLst);
         }
     }
index bc5414a914ab88858e0559ff2c0565553f94ce03..c84b958762c08c04b512eec3e116e5167942ff47 100644 (file)
@@ -9,10 +9,8 @@ package org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md;
 
 import static java.util.Objects.requireNonNull;
 
-import java.util.List;
 import java.util.Map;
 import java.util.Optional;
-import java.util.stream.Collectors;
 import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepConnectionInstance;
@@ -29,17 +27,14 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepPhysicalLocatorRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes.Tunnels;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes.TunnelsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.tunnel.attributes.BfdLocalConfigs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.tunnel.attributes.BfdLocalConfigsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.tunnel.attributes.BfdParams;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.tunnel.attributes.BfdParamsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.tunnel.attributes.BfdRemoteConfigs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.tunnel.attributes.BfdRemoteConfigsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.tunnel.attributes.BfdStatus;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.tunnel.attributes.BfdStatusBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -110,10 +105,12 @@ public class HwvtepTunnelUpdateCommand extends AbstractTransactionCommand {
     private static void setBfdLocalConfigs(TunnelsBuilder tunnelsBuilder, Tunnel tunnel) {
         Map<String, String> localConfigs = tunnel.getBfdConfigLocalColumn().getData();
         if (localConfigs != null && !localConfigs.isEmpty()) {
-            List<BfdLocalConfigs> localConfigsList = localConfigs.entrySet().stream().map(
-                entry -> new BfdLocalConfigsBuilder().setBfdLocalConfigKey(entry.getKey())
-                    .setBfdLocalConfigValue(entry.getValue()).build()).collect(Collectors.toList());
-
+            var localConfigsList = localConfigs.entrySet().stream()
+                .map(entry -> new BfdLocalConfigsBuilder()
+                    .setBfdLocalConfigKey(entry.getKey())
+                    .setBfdLocalConfigValue(entry.getValue())
+                    .build())
+                .collect(BindingMap.toMap());
             tunnelsBuilder.setBfdLocalConfigs(localConfigsList);
         }
     }
@@ -121,10 +118,12 @@ public class HwvtepTunnelUpdateCommand extends AbstractTransactionCommand {
     private static void setBfdRemoteConfigs(TunnelsBuilder tunnelsBuilder, Tunnel tunnel) {
         Map<String, String> remoteConfigs = tunnel.getBfdConfigRemoteColumn().getData();
         if (remoteConfigs != null && !remoteConfigs.isEmpty()) {
-            List<BfdRemoteConfigs> remoteConfigsList = remoteConfigs.entrySet().stream().map(
-                entry -> new BfdRemoteConfigsBuilder().setBfdRemoteConfigKey(entry.getKey())
-                    .setBfdRemoteConfigValue(entry.getValue()).build()).collect(Collectors.toList());
-
+            var remoteConfigsList = remoteConfigs.entrySet().stream()
+                .map(entry -> new BfdRemoteConfigsBuilder()
+                    .setBfdRemoteConfigKey(entry.getKey())
+                    .setBfdRemoteConfigValue(entry.getValue())
+                    .build())
+                .collect(BindingMap.toMap());
             tunnelsBuilder.setBfdRemoteConfigs(remoteConfigsList);
         }
     }
@@ -133,10 +132,12 @@ public class HwvtepTunnelUpdateCommand extends AbstractTransactionCommand {
     private static void setBfdParams(TunnelsBuilder tunnelsBuilder, Tunnel tunnel) {
         Map<String, String> params = tunnel.getBfdParamsColumn().getData();
         if (params != null && !params.isEmpty()) {
-            List<BfdParams> paramsList = params.entrySet().stream().map(
-                entry -> new BfdParamsBuilder().setBfdParamKey(entry.getKey())
-                    .setBfdParamValue(entry.getValue()).build()).collect(Collectors.toList());
-
+            var paramsList = params.entrySet().stream()
+                .map(entry -> new BfdParamsBuilder()
+                    .setBfdParamKey(entry.getKey())
+                    .setBfdParamValue(entry.getValue())
+                    .build())
+                .collect(BindingMap.toMap());
             tunnelsBuilder.setBfdParams(paramsList);
         }
     }
@@ -144,10 +145,12 @@ public class HwvtepTunnelUpdateCommand extends AbstractTransactionCommand {
     private static void setBfdStatus(TunnelsBuilder tunnelsBuilder, Tunnel tunnel) {
         Map<String, String> status = tunnel.getBfdStatusColumn().getData();
         if (status != null && !status.isEmpty()) {
-            List<BfdStatus> statusList = status.entrySet().stream().map(
-                entry -> new BfdStatusBuilder().setBfdStatusKey(entry.getKey())
-                    .setBfdStatusValue(entry.getValue()).build()).collect(Collectors.toList());
-
+            var statusList = status.entrySet().stream()
+                .map(entry -> new BfdStatusBuilder()
+                    .setBfdStatusKey(entry.getKey())
+                    .setBfdStatusValue(entry.getValue())
+                    .build())
+                .collect(BindingMap.toMap());
             tunnelsBuilder.setBfdStatus(statusList);
         }
     }
index 0d73a3aa07a1778430088a8c8bf860b4c5d9ea13..8c034373bd0076df33ebfe887e46c1985994530b 100644 (file)
@@ -8,9 +8,7 @@
 
 package org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md;
 
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.List;
 import java.util.Map;
 import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
@@ -38,6 +36,7 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -73,8 +72,7 @@ public class HwvtepUcastMacsLocalUpdateCommand extends AbstractTransactionComman
         //Update node with UcastMacsLocal reference
         NodeBuilder connectionNode = new NodeBuilder();
         connectionNode.setNodeId(getOvsdbConnectionInstance().getNodeId());
-        List<LocalUcastMacs> umclList = new ArrayList<>();
-        ucml.forEach(mac -> umclList.add(buildLocalUcastMac(mac)));
+        var umclList = ucml.stream().map(this::buildLocalUcastMac).collect(BindingMap.toOrderedMap());
         connectionNode.addAugmentation(new HwvtepGlobalAugmentationBuilder().setLocalUcastMacs(umclList).build());
         return connectionNode.build();
     }
index 158bb578c2cd8319cf307901221e4a7aabee1a90..b66c822e67de2d3d810900f33c7015d24218569c 100644 (file)
@@ -8,9 +8,7 @@
 
 package org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md;
 
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.List;
 import java.util.Map;
 import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
@@ -37,6 +35,7 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 
 public class HwvtepUcastMacsRemoteUpdateCommand extends AbstractTransactionCommand {
 
@@ -64,12 +63,12 @@ public class HwvtepUcastMacsRemoteUpdateCommand extends AbstractTransactionComma
     }
 
     private Node buildConnectionNode(final Collection<UcastMacsRemote> macRemotes) {
-        NodeBuilder connectionNode = new NodeBuilder();
-        connectionNode.setNodeId(getOvsdbConnectionInstance().getNodeId());
-        List<RemoteUcastMacs> remoteUMacs = new ArrayList<>();
-        macRemotes.forEach(mac -> remoteUMacs.add(buildRemoteUcast(mac)));
-        connectionNode.addAugmentation(new HwvtepGlobalAugmentationBuilder().setRemoteUcastMacs(remoteUMacs).build());
-        return connectionNode.build();
+        var remoteUMacs = macRemotes.stream().map(this::buildRemoteUcast).collect(BindingMap.toOrderedMap());
+
+        return new NodeBuilder()
+            .setNodeId(getOvsdbConnectionInstance().getNodeId())
+            .addAugmentation(new HwvtepGlobalAugmentationBuilder().setRemoteUcastMacs(remoteUMacs).build())
+            .build();
     }
 
     private RemoteUcastMacs buildRemoteUcast(final UcastMacsRemote macRemote) {
index c95bdc3bdd07ff294bfb27907244c6fa509d11fa..f0c631a7c3bd2768c046e1d22b1780df7f4cae2b 100644 (file)
@@ -58,7 +58,9 @@ 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.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LogicalSwitchesKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteMcastMacs;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteMcastMacsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteUcastMacs;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteUcastMacsKey;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
@@ -244,16 +246,16 @@ public class DataChangeListenerTestBase extends AbstractDataBrokerTest {
         NodeBuilder nodeBuilder = prepareNode(nodeIid);
         HwvtepGlobalAugmentationBuilder builder = new HwvtepGlobalAugmentationBuilder();
         if (LogicalSwitches.class == dataObject) {
-            TestBuilders.addLogicalSwitches(builder, data);
+            builder.setLogicalSwitches(TestBuilders.logicalSwitches(data));
         }
         if (TerminationPoint.class == dataObject) {
-            TestBuilders.addGlobalTerminationPoints(nodeBuilder, nodeIid, data);
+            nodeBuilder.setTerminationPoint(TestBuilders.globalTerminationPoints(nodeIid, data));
         }
         if (RemoteUcastMacs.class == dataObject) {
-            TestBuilders.addRemoteUcastMacs(nodeIid, builder, data);
+            builder.setRemoteUcastMacs(TestBuilders.remoteUcastMacs(nodeIid, data));
         }
         if (RemoteMcastMacs.class == dataObject) {
-            TestBuilders.addRemoteMcastMacs(nodeIid, builder, data);
+            builder.setRemoteMcastMacs(TestBuilders.remoteMcastMacs(nodeIid, data));
         }
         nodeBuilder.addAugmentation(builder.build());
         return mergeNode(logicalDatastoreType, nodeIid, nodeBuilder);
@@ -269,44 +271,35 @@ public class DataChangeListenerTestBase extends AbstractDataBrokerTest {
 
     void deleteData(final LogicalDatastoreType logicalDatastoreType, final Class<? extends DataObject> dataObject,
             final String[]... data) {
-        NodeBuilder nodeBuilder = prepareNode(nodeIid);
         ReadWriteTransaction tx = dataBroker.newReadWriteTransaction();
-        HwvtepGlobalAugmentationBuilder builder = new HwvtepGlobalAugmentationBuilder();
         if (LogicalSwitches.class == dataObject) {
-            List<LogicalSwitches> logicalSwitches = TestBuilders.addLogicalSwitches(builder, data);
-
-            for (LogicalSwitches ls : logicalSwitches) {
-                InstanceIdentifier<LogicalSwitches> key =
-                        nodeIid.augmentation(HwvtepGlobalAugmentation.class).child(LogicalSwitches.class, ls.key());
-                tx.delete(logicalDatastoreType, key);
+            for (LogicalSwitchesKey key : TestBuilders.logicalSwitches(data).keySet()) {
+                tx.delete(logicalDatastoreType,
+                    nodeIid.augmentation(HwvtepGlobalAugmentation.class).child(LogicalSwitches.class, key));
             }
         }
         if (TerminationPoint.class == dataObject) {
-            TestBuilders.addGlobalTerminationPoints(nodeBuilder, nodeIid, data);
+            // FIXME: this is a no-op
+            prepareNode(nodeIid)
+                .setTerminationPoint(TestBuilders.globalTerminationPoints(nodeIid, data));
         }
         if (RemoteUcastMacs.class == dataObject) {
-            List<RemoteUcastMacs> macs = TestBuilders.addRemoteUcastMacs(nodeIid, builder, data);
-            for (RemoteUcastMacs mac : macs) {
-                InstanceIdentifier<RemoteUcastMacs> key =
-                        nodeIid.augmentation(HwvtepGlobalAugmentation.class).child(RemoteUcastMacs.class, mac.key());
-                tx.delete(logicalDatastoreType, key);
+            for (RemoteUcastMacsKey key : TestBuilders.remoteUcastMacs(nodeIid, data).keySet()) {
+                tx.delete(logicalDatastoreType,
+                    nodeIid.augmentation(HwvtepGlobalAugmentation.class).child(RemoteUcastMacs.class, key));
             }
         }
         if (RemoteMcastMacs.class == dataObject) {
-            List<RemoteMcastMacs> macs = TestBuilders.addRemoteMcastMacs(nodeIid, builder, data);
-            for (RemoteMcastMacs mac : macs) {
-                InstanceIdentifier<RemoteMcastMacs> key =
-                        nodeIid.augmentation(HwvtepGlobalAugmentation.class).child(RemoteMcastMacs.class, mac.key());
-                tx.delete(logicalDatastoreType, key);
+            for (RemoteMcastMacsKey key : TestBuilders.remoteMcastMacs(nodeIid, data).keySet()) {
+                tx.delete(logicalDatastoreType,
+                    nodeIid.augmentation(HwvtepGlobalAugmentation.class).child(RemoteMcastMacs.class, key));
             }
         }
         tx.commit();
     }
 
     NodeBuilder prepareNode(final InstanceIdentifier<Node> iid) {
-        NodeBuilder nodeBuilder = new NodeBuilder();
-        nodeBuilder.setNodeId(iid.firstKeyOf(Node.class).getNodeId());
-        return nodeBuilder;
+        return new NodeBuilder().setNodeId(iid.firstKeyOf(Node.class).getNodeId());
     }
 
     Node mergeNode(final LogicalDatastoreType datastoreType, final InstanceIdentifier<Node> id,
index c8427b890f911ec542ae39af551ee131b5304afe..f75e88cad29f391d8518bffb4984898f013fe6d4 100644 (file)
@@ -5,18 +5,17 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.ovsdb.hwvtepsouthbound;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 import java.util.UUID;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepLogicalSwitchRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepNodeName;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepPhysicalLocatorAugmentationBuilder;
@@ -26,17 +25,19 @@ 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.LogicalSwitchesKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteMcastMacs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteMcastMacsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteMcastMacsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteUcastMacs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteUcastMacsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteUcastMacsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical.locator.set.attributes.LocatorSet;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical.locator.set.attributes.LocatorSetBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TpId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 
 public final class TestBuilders {
 
@@ -45,45 +46,29 @@ public final class TestBuilders {
     private TestBuilders() {
     }
 
-    public static List<LogicalSwitches> addLogicalSwitches(HwvtepGlobalAugmentationBuilder augmentationBuilder,
-            String[]... data) {
-        List<LogicalSwitches> logicalSwitcheses = new ArrayList<>();
-        for (String[] row : data) {
-            logicalSwitcheses.add(TestBuilders.buildLogicalSwitch(row));
-        }
-        augmentationBuilder.setLogicalSwitches(logicalSwitcheses);
-        return logicalSwitcheses;
+    public static Map<LogicalSwitchesKey, LogicalSwitches> logicalSwitches(String[]... data) {
+        return Arrays.stream(data).map(TestBuilders::buildLogicalSwitch).collect(BindingMap.toOrderedMap());
     }
 
-    public static List<RemoteMcastMacs> addRemoteMcastMacs(InstanceIdentifier<Node> iid,
-                                          HwvtepGlobalAugmentationBuilder augmentationBuilder, String[]... data) {
-        List<RemoteMcastMacs> remoteMcastMacses = new ArrayList<>();
-        for (String[] row : data) {
-            String[] teps = Arrays.copyOfRange(row, 2, row.length);
-            remoteMcastMacses.add(TestBuilders.buildRemoteMcastMacs(iid, row[0], row[1], teps));
-        }
-        augmentationBuilder.setRemoteMcastMacs(remoteMcastMacses);
-        return remoteMcastMacses;
+    public static Map<RemoteMcastMacsKey, RemoteMcastMacs> remoteMcastMacs(InstanceIdentifier<Node> iid,
+                                                                           String[]... data) {
+        return Arrays.stream(data)
+            .map(row -> TestBuilders.buildRemoteMcastMacs(iid, row[0], row[1], Arrays.copyOfRange(row, 2, row.length)))
+            .collect(BindingMap.toOrderedMap());
     }
 
-    public static List<RemoteUcastMacs> addRemoteUcastMacs(InstanceIdentifier<Node> iid,
-                                                           HwvtepGlobalAugmentationBuilder augmentationBuilder,
-                                                           String[]... data) {
-        List<RemoteUcastMacs> remoteUcastMacses = new ArrayList<>();
-        for (String[] row : data) {
-            remoteUcastMacses.add(TestBuilders.buildRemoteUcastMacs(iid, row[0], row[1], row[2], row[3]));
-        }
-        augmentationBuilder.setRemoteUcastMacs(remoteUcastMacses);
-        return remoteUcastMacses;
+    public static Map<RemoteUcastMacsKey, RemoteUcastMacs> remoteUcastMacs(InstanceIdentifier<Node> iid,
+                                                                           String[]... data) {
+        return Arrays.stream(data)
+            .map(row -> TestBuilders.buildRemoteUcastMacs(iid, row[0], row[1], row[2], row[3]))
+            .collect(BindingMap.toOrderedMap());
     }
 
-    public static void addGlobalTerminationPoints(NodeBuilder nodeBuilder, InstanceIdentifier<Node> nodeIid,
-                                                  String[]... data) {
-        List<TerminationPoint> terminationPoints = new ArrayList<>();
-        for (String[] row : data) {
-            terminationPoints.add(TestBuilders.buildTerminationPoint(nodeIid, row[0]));
-        }
-        nodeBuilder.setTerminationPoint(terminationPoints);
+    public static Map<TerminationPointKey, TerminationPoint> globalTerminationPoints(InstanceIdentifier<Node> nodeIid,
+                                                                                     String[]... data) {
+        return Arrays.stream(data)
+            .map(row -> TestBuilders.buildTerminationPoint(nodeIid, row[0]))
+            .collect(BindingMap.toOrderedMap());
     }
 
     public static HwvtepLogicalSwitchRef buildLogicalSwitchesRef(InstanceIdentifier<Node> nodeIid,