Fix deprecation warnings is southbound-impl 72/94572/4
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 9 Jan 2021 16:37:42 +0000 (17:37 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 9 Jan 2021 19:41:29 +0000 (20:41 +0100)
Use BindingMap.Builder to replace ArrayList, which maintains
is almost a drop-in replacement. While we are in the area, also
fix duplicate invocations of SouthboundMapper.

Since the interactions take advantage of what builders provide,
also ditch a ton of mocking in favor of using provided builder
implementation.

Change-Id: I4bd4a86039b8ef3159091565be2581b9fe23aefc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OpenVSwitchUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbInitialPortUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQosUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQueueUpdateCommand.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/SouthboundMapperTest.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortUpdateCommandTest.java

index e35eca7a9916cf50f8216f11c7fe2d670e5afd33..6c1174a62bcccfc3713c6a23cc790ed6e1a89bd6 100644 (file)
@@ -10,12 +10,11 @@ package org.opendaylight.ovsdb.southbound.transactions.md;
 import static org.opendaylight.ovsdb.southbound.SouthboundUtil.schemaMismatchLog;
 
 import com.google.common.annotations.VisibleForTesting;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.NoSuchElementException;
 import java.util.Set;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.ovsdb.lib.error.SchemaVersionMismatchException;
@@ -33,8 +32,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.DatapathTypeEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.DatapathTypeEntryBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.DatapathTypeEntryKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.InterfaceTypeEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.InterfaceTypeEntryBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.InterfaceTypeEntryKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.OpenvswitchExternalIds;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.OpenvswitchExternalIdsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.OpenvswitchExternalIdsKey;
@@ -50,6 +51,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.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -134,7 +136,7 @@ public class OpenVSwitchUpdateCommand extends AbstractTransactionCommand {
 
     @VisibleForTesting
     void setNewOtherConfigs(OvsdbNodeAugmentationBuilder ovsdbNodeBuilder, Map<String, String> otherConfigs) {
-        List<OpenvswitchOtherConfigs> otherConfigsList = new ArrayList<>();
+        var otherConfigsList = BindingMap.<OpenvswitchOtherConfigsKey, OpenvswitchOtherConfigs>orderedBuilder();
         for (Entry<String, String> entry : otherConfigs.entrySet()) {
             String otherConfigKey = entry.getKey();
             String otherConfigValue = entry.getValue();
@@ -143,7 +145,7 @@ public class OpenVSwitchUpdateCommand extends AbstractTransactionCommand {
                         .setOtherConfigValue(otherConfigValue).build());
             }
         }
-        ovsdbNodeBuilder.setOpenvswitchOtherConfigs(otherConfigsList);
+        ovsdbNodeBuilder.setOpenvswitchOtherConfigs(otherConfigsList.build());
     }
 
     private void setExternalIds(ReadWriteTransaction transaction,
@@ -183,7 +185,7 @@ public class OpenVSwitchUpdateCommand extends AbstractTransactionCommand {
 
     @VisibleForTesting
     void setNewExternalIds(OvsdbNodeAugmentationBuilder ovsdbNodeBuilder, Map<String, String> externalIds) {
-        List<OpenvswitchExternalIds> externalIdsList = new ArrayList<>();
+        var externalIdsList = BindingMap.<OpenvswitchExternalIdsKey, OpenvswitchExternalIds>orderedBuilder();
         for (Entry<String, String> entry : externalIds.entrySet()) {
             String externalIdKey = entry.getKey();
             String externalIdValue = entry.getValue();
@@ -192,7 +194,7 @@ public class OpenVSwitchUpdateCommand extends AbstractTransactionCommand {
                         .setExternalIdValue(externalIdValue).build());
             }
         }
-        ovsdbNodeBuilder.setOpenvswitchExternalIds(externalIdsList);
+        ovsdbNodeBuilder.setOpenvswitchExternalIds(externalIdsList.build());
     }
 
     private static void setInterfaceTypes(
@@ -200,19 +202,16 @@ public class OpenVSwitchUpdateCommand extends AbstractTransactionCommand {
             OpenVSwitch openVSwitch) {
         try {
             Set<String> iftypes = openVSwitch.getIfaceTypesColumn().getData();
-            List<InterfaceTypeEntry> ifEntryList = new ArrayList<>();
+            var ifEntryList = BindingMap.<InterfaceTypeEntryKey, InterfaceTypeEntry>orderedBuilder();
             for (String ifType : iftypes) {
-                if (SouthboundMapper.createInterfaceType(ifType) != null) {
-                    InterfaceTypeEntry ifEntry = new InterfaceTypeEntryBuilder()
-                            .setInterfaceType(
-                                    SouthboundMapper.createInterfaceType(ifType))
-                            .build();
-                    ifEntryList.add(ifEntry);
+                var interfaceType = SouthboundMapper.createInterfaceType(ifType);
+                if (interfaceType != null) {
+                    ifEntryList.add(new InterfaceTypeEntryBuilder().setInterfaceType(interfaceType).build());
                 } else {
                     LOG.warn("Interface type {} not present in model", ifType);
                 }
             }
-            ovsdbNodeBuilder.setInterfaceTypeEntry(ifEntryList);
+            ovsdbNodeBuilder.setInterfaceTypeEntry(ifEntryList.build());
         } catch (SchemaVersionMismatchException e) {
             schemaMismatchLog("iface_types", SouthboundConstants.OPEN_V_SWITCH, e);
         }
@@ -220,21 +219,17 @@ public class OpenVSwitchUpdateCommand extends AbstractTransactionCommand {
 
     private static void setDataPathTypes(OvsdbNodeAugmentationBuilder ovsdbNodeBuilder, OpenVSwitch openVSwitch) {
         try {
-            Set<String> dptypes = openVSwitch.getDatapathTypesColumn()
-                    .getData();
-            List<DatapathTypeEntry> dpEntryList = new ArrayList<>();
+            Set<String> dptypes = openVSwitch.getDatapathTypesColumn().getData();
+            var dpEntryList = BindingMap.<DatapathTypeEntryKey, DatapathTypeEntry>orderedBuilder();
             for (String dpType : dptypes) {
-                if (SouthboundMapper.createDatapathType(dpType) != null) {
-                    DatapathTypeEntry dpEntry = new DatapathTypeEntryBuilder()
-                            .setDatapathType(
-                                    SouthboundMapper.createDatapathType(dpType))
-                            .build();
-                    dpEntryList.add(dpEntry);
+                var datapathType = SouthboundMapper.createDatapathType(dpType);
+                if (datapathType != null) {
+                    dpEntryList.add(new DatapathTypeEntryBuilder().setDatapathType(datapathType).build());
                 } else {
                     LOG.warn("Datapath type {} not present in model", dpType);
                 }
             }
-            ovsdbNodeBuilder.setDatapathTypeEntry(dpEntryList);
+            ovsdbNodeBuilder.setDatapathTypeEntry(dpEntryList.build());
         } catch (SchemaVersionMismatchException e) {
             schemaMismatchLog("datapath_types", SouthboundConstants.OPEN_V_SWITCH, e);
         }
@@ -279,8 +274,7 @@ public class OpenVSwitchUpdateCommand extends AbstractTransactionCommand {
     }
 
     @VisibleForTesting
-    NodeId getNodeId(OpenVSwitch ovs) {
-        NodeKey nodeKey = getInstanceIdentifier(ovs).firstKeyOf(Node.class);
-        return nodeKey.getNodeId();
+    @NonNull NodeId getNodeId(OpenVSwitch ovs) {
+        return getInstanceIdentifier(ovs).firstKeyOf(Node.class).getNodeId();
     }
 }
index a909b7c1b3f208850bcc2b330e2ca1dfd7d92fc3..30dbc76e196d7ea26218f8588e56b336c4108ef8 100644 (file)
@@ -65,6 +65,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;
 
@@ -212,14 +213,12 @@ public class OvsdbBridgeUpdateCommand extends AbstractTransactionCommand {
         connectionNode.setNodeId(getOvsdbConnectionInstance().getNodeId());
 
         OvsdbNodeAugmentationBuilder ovsdbConnectionAugmentationBuilder = new OvsdbNodeAugmentationBuilder();
-        List<ManagedNodeEntry> managedBridges = new ArrayList<>();
         InstanceIdentifier<Node> bridgeIid =
                 SouthboundMapper.createInstanceIdentifier(instanceIdentifierCodec, getOvsdbConnectionInstance(),
                         bridge);
         ManagedNodeEntry managedBridge = new ManagedNodeEntryBuilder().setBridgeRef(
                 new OvsdbBridgeRef(bridgeIid)).build();
-        managedBridges.add(managedBridge);
-        ovsdbConnectionAugmentationBuilder.setManagedNodeEntry(managedBridges);
+        ovsdbConnectionAugmentationBuilder.setManagedNodeEntry(BindingMap.of(managedBridge));
 
         connectionNode.addAugmentation(ovsdbConnectionAugmentationBuilder.build());
 
@@ -288,11 +287,12 @@ public class OvsdbBridgeUpdateCommand extends AbstractTransactionCommand {
         }
     }
 
-    private static void setOtherConfig(OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder, Bridge bridge) {
+    @VisibleForTesting
+    static void setOtherConfig(OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder, Bridge bridge) {
         Map<String, String> otherConfigs = bridge
                 .getOtherConfigColumn().getData();
         if (otherConfigs != null && !otherConfigs.isEmpty()) {
-            List<BridgeOtherConfigs> otherConfigList = new ArrayList<>();
+            var otherConfigList = BindingMap.<BridgeOtherConfigsKey, BridgeOtherConfigs>orderedBuilder();
             for (Entry<String, String> entry : otherConfigs.entrySet()) {
                 String otherConfigKey = entry.getKey();
                 String otherConfigValue = entry.getValue();
@@ -303,15 +303,15 @@ public class OvsdbBridgeUpdateCommand extends AbstractTransactionCommand {
                             .build());
                 }
             }
-            ovsdbBridgeAugmentationBuilder.setBridgeOtherConfigs(otherConfigList);
+            ovsdbBridgeAugmentationBuilder.setBridgeOtherConfigs(otherConfigList.build());
         }
     }
 
-    private static void setExternalIds(OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder, Bridge bridge) {
-        Map<String, String> externalIds = bridge.getExternalIdsColumn()
-                .getData();
+    @VisibleForTesting
+    static void setExternalIds(OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder, Bridge bridge) {
+        Map<String, String> externalIds = bridge.getExternalIdsColumn().getData();
         if (externalIds != null && !externalIds.isEmpty()) {
-            List<BridgeExternalIds> externalIdsList = new ArrayList<>();
+            var externalIdsList = BindingMap.<BridgeExternalIdsKey, BridgeExternalIds>orderedBuilder();
             for (Entry<String, String> entry : externalIds.entrySet()) {
                 String externalIdKey = entry.getKey();
                 String externalIdValue = entry.getValue();
@@ -322,18 +322,20 @@ public class OvsdbBridgeUpdateCommand extends AbstractTransactionCommand {
                             .build());
                 }
             }
-            ovsdbBridgeAugmentationBuilder.setBridgeExternalIds(externalIdsList);
+            ovsdbBridgeAugmentationBuilder.setBridgeExternalIds(externalIdsList.build());
         }
     }
 
-    private static void setProtocol(OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder, Bridge bridge) {
-        final List<ProtocolEntry> protocols = SouthboundMapper.createMdsalProtocols(bridge);
+    @VisibleForTesting
+    static void setProtocol(OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder, Bridge bridge) {
+        List<ProtocolEntry> protocols = SouthboundMapper.createMdsalProtocols(bridge);
         if (!protocols.isEmpty()) {
-            ovsdbBridgeAugmentationBuilder.setProtocolEntry(protocols);
+            ovsdbBridgeAugmentationBuilder.setProtocolEntry(BindingMap.of(protocols));
         }
     }
 
-    private static void setDataPath(OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder, Bridge bridge) {
+    @VisibleForTesting
+    static void setDataPath(OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder, Bridge bridge) {
         DatapathId dpid = SouthboundMapper.createDatapathId(bridge);
         if (dpid != null) {
             ovsdbBridgeAugmentationBuilder.setDatapathId(dpid);
index 2497726f6269dc95c7f810b921af5d02a76352ba..40512ec51a361fc106ce4148760f74641c612954 100644 (file)
@@ -25,13 +25,16 @@ 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.TerminationPoint;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class OvsdbInitialPortUpdateCommand extends OvsdbPortUpdateCommand {
     private static final Logger LOG = LoggerFactory.getLogger(OvsdbInitialPortUpdateCommand.class);
-    private final Map<NodeId, Node>  updatedBridgeNodes;
+
+    // FIXME: we probably want to store a Map here
     private final Map<NodeId, List<TerminationPoint>> brigeToTerminationPointList = new HashMap<>();
+    private final Map<NodeId, Node>  updatedBridgeNodes;
 
     public OvsdbInitialPortUpdateCommand(InstanceIdentifierCodec instanceIdentifierCodec, OvsdbConnectionInstance key,
                                          TableUpdates updates, DatabaseSchema dbSchema,
@@ -46,6 +49,7 @@ public class OvsdbInitialPortUpdateCommand extends OvsdbPortUpdateCommand {
         mergeToBridgeNode(transaction);
     }
 
+    @Override
     @SuppressWarnings("checkstyle:IllegalCatch")
     protected void updateToDataStore(ReadWriteTransaction transaction, TerminationPointBuilder tpBuilder,
                                      InstanceIdentifier<TerminationPoint> tpPath, boolean merge) {
@@ -77,9 +81,9 @@ public class OvsdbInitialPortUpdateCommand extends OvsdbPortUpdateCommand {
             StringBuilder terminationPointList = new StringBuilder();
             Node bridgeNode = updatedBridgeNodes.get(nodeId);
             if (bridgeNode != null) {
-                NodeBuilder bridgeNodeBuilder = new NodeBuilder(bridgeNode);
-                bridgeNodeBuilder.setTerminationPoint(terminationPoints);
-                Node bridgeNodeWithTerminationPoints = bridgeNodeBuilder.build();
+                Node bridgeNodeWithTerminationPoints = new NodeBuilder(bridgeNode)
+                    .setTerminationPoint(BindingMap.ordered(terminationPoints))
+                    .build();
                 transaction.merge(LogicalDatastoreType.OPERATIONAL, bridgeIid, bridgeNodeWithTerminationPoints);
             }
             terminationPoints.forEach(terminationPoint -> {
index 38fd181b1f3ecd2eed5398daea307edd444a48b0..17d5f2ceab9adb040c2d207019124e6ac47d92c6 100644 (file)
@@ -59,18 +59,22 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceBfdStatusKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceExternalIds;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceExternalIdsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceExternalIdsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceLldp;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceLldpBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceLldpKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceOtherConfigs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceOtherConfigsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceOtherConfigsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.Options;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.OptionsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.OptionsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.PortExternalIds;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.PortExternalIdsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.PortExternalIdsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.PortOtherConfigs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.PortOtherConfigsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.PortOtherConfigsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.QosEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.QosEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.Trunks;
@@ -86,6 +90,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.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;
 import org.opendaylight.yangtools.yang.common.Uint16;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
@@ -568,17 +573,18 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
         Map<String, String> interfaceExternalIds =
                 interf.getExternalIdsColumn().getData();
         if (interfaceExternalIds != null && !interfaceExternalIds.isEmpty()) {
-            List<InterfaceExternalIds> externalIdsList = new ArrayList<>();
+            var externalIdsList = BindingMap.<InterfaceExternalIdsKey, InterfaceExternalIds>orderedBuilder();
             for (Entry<String, String> entry : interfaceExternalIds.entrySet()) {
                 String externalIdKey = entry.getKey();
                 String externalIdValue = entry.getValue();
                 if (externalIdKey != null && externalIdValue != null) {
                     externalIdsList.add(new InterfaceExternalIdsBuilder()
                             .setExternalIdKey(externalIdKey)
-                            .setExternalIdValue(externalIdValue).build());
+                            .setExternalIdValue(externalIdValue)
+                            .build());
                 }
             }
-            ovsdbTerminationPointBuilder.setInterfaceExternalIds(externalIdsList);
+            ovsdbTerminationPointBuilder.setInterfaceExternalIds(externalIdsList.build());
         }
     }
 
@@ -588,7 +594,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
 
         Map<String, String> portExternalIds = port.getExternalIdsColumn().getData();
         if (portExternalIds != null && !portExternalIds.isEmpty()) {
-            List<PortExternalIds> externalIdsList = new ArrayList<>();
+            var externalIdsList = BindingMap.<PortExternalIdsKey, PortExternalIds>orderedBuilder();
             for (Entry<String, String> entry : portExternalIds.entrySet()) {
                 String externalIdKey = entry.getKey();
                 String externalIdValue = entry.getValue();
@@ -598,7 +604,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
                             .setExternalIdValue(externalIdValue).build());
                 }
             }
-            ovsdbTerminationPointBuilder.setPortExternalIds(externalIdsList);
+            ovsdbTerminationPointBuilder.setPortExternalIds(externalIdsList.build());
         }
     }
 
@@ -608,7 +614,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
 
         Map<String, String> optionsMap = interf.getOptionsColumn().getData();
         if (optionsMap != null && !optionsMap.isEmpty()) {
-            List<Options> options = new ArrayList<>();
+            var options = BindingMap.<OptionsKey, Options>orderedBuilder();
             for (Entry<String, String> entry : optionsMap.entrySet()) {
                 String optionsKeyString = entry.getKey();
                 String optionsValueString = entry.getValue();
@@ -619,7 +625,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
                         .setValue(optionsValueString).build());
                 }
             }
-            ovsdbTerminationPointBuilder.setOptions(options);
+            ovsdbTerminationPointBuilder.setOptions(options.build());
         }
     }
 
@@ -629,7 +635,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
 
         Map<String, String> portOtherConfigMap = port.getOtherConfigColumn().getData();
         if (portOtherConfigMap != null && !portOtherConfigMap.isEmpty()) {
-            List<PortOtherConfigs> portOtherConfigs = new ArrayList<>();
+            var portOtherConfigs = BindingMap.<PortOtherConfigsKey, PortOtherConfigs>orderedBuilder();
             for (Entry<String, String> entry : portOtherConfigMap.entrySet()) {
                 String portOtherConfigKeyString = entry.getKey();
                 String portOtherConfigValueString = entry.getValue();
@@ -639,7 +645,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
                         .setOtherConfigValue(portOtherConfigValueString).build());
                 }
             }
-            ovsdbTerminationPointBuilder.setPortOtherConfigs(portOtherConfigs);
+            ovsdbTerminationPointBuilder.setPortOtherConfigs(portOtherConfigs.build());
         }
     }
 
@@ -649,7 +655,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
         try {
             Map<String, String> interfaceLldpMap = interf.getLldpColumn().getData();
             if (interfaceLldpMap != null && !interfaceLldpMap.isEmpty()) {
-                List<InterfaceLldp> interfaceLldpList = new ArrayList<>();
+                var interfaceLldpList = BindingMap.<InterfaceLldpKey, InterfaceLldp>orderedBuilder();
                 for (Entry<String, String> entry : interfaceLldpMap.entrySet()) {
                     String interfaceLldpKeyString = entry.getKey();
                     String interfaceLldpValueString = entry.getValue();
@@ -661,7 +667,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
                                 .build());
                     }
                 }
-                ovsdbTerminationPointBuilder.setInterfaceLldp(interfaceLldpList);
+                ovsdbTerminationPointBuilder.setInterfaceLldp(interfaceLldpList.build());
             }
         } catch (SchemaVersionMismatchException e) {
             schemaMismatchLog("lldp", "Interface", e);
@@ -674,7 +680,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
 
         Map<String, String> interfaceOtherConfigMap = interf.getOtherConfigColumn().getData();
         if (interfaceOtherConfigMap != null && !interfaceOtherConfigMap.isEmpty()) {
-            List<InterfaceOtherConfigs> interfaceOtherConfigs = new ArrayList<>();
+            var interfaceOtherConfigs = BindingMap.<InterfaceOtherConfigsKey, InterfaceOtherConfigs>orderedBuilder();
             for (Entry<String, String> entry : interfaceOtherConfigMap.entrySet()) {
                 String interfaceOtherConfigKeyString = entry.getKey();
                 String interfaceOtherConfigValueString = entry.getValue();
@@ -684,7 +690,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
                         .setOtherConfigValue(interfaceOtherConfigValueString).build());
                 }
             }
-            ovsdbTerminationPointBuilder.setInterfaceOtherConfigs(interfaceOtherConfigs);
+            ovsdbTerminationPointBuilder.setInterfaceOtherConfigs(interfaceOtherConfigs.build());
         }
     }
 
@@ -694,7 +700,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
         try {
             Map<String, String> interfaceBfdStatusMap = interf.getBfdStatusColumn().getData();
             if (interfaceBfdStatusMap != null && !interfaceBfdStatusMap.isEmpty()) {
-                List<InterfaceBfdStatus> interfaceBfdStatusList = new ArrayList<>();
+                var interfaceBfdStatusList = BindingMap.<InterfaceBfdStatusKey, InterfaceBfdStatus>orderedBuilder();
                 for (Entry<String, String> entry : interfaceBfdStatusMap.entrySet()) {
                     String interfaceBfdStatusKeyString = entry.getKey();
                     String interfaceBfdStatusValueString = entry.getValue();
@@ -706,7 +712,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
                                 .build());
                     }
                 }
-                ovsdbTerminationPointBuilder.setInterfaceBfdStatus(interfaceBfdStatusList);
+                ovsdbTerminationPointBuilder.setInterfaceBfdStatus(interfaceBfdStatusList.build());
             }
         } catch (SchemaVersionMismatchException e) {
             schemaMismatchLog("bfd", "Interface", e);
@@ -719,7 +725,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
         try {
             Map<String, String> interfaceBfdMap = interf.getBfdColumn().getData();
             if (interfaceBfdMap != null && !interfaceBfdMap.isEmpty()) {
-                List<InterfaceBfd> interfaceBfdList = new ArrayList<>();
+                var interfaceBfdList = BindingMap.<InterfaceBfdKey, InterfaceBfd>orderedBuilder();
                 for (Entry<String, String> entry : interfaceBfdMap.entrySet()) {
                     String interfaceBfdKeyString = entry.getKey();
                     String interfaceBfdValueString = entry.getValue();
@@ -731,7 +737,7 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
                                 .build());
                     }
                 }
-                ovsdbTerminationPointBuilder.setInterfaceBfd(interfaceBfdList);
+                ovsdbTerminationPointBuilder.setInterfaceBfd(interfaceBfdList.build());
             }
         } catch (SchemaVersionMismatchException e) {
             schemaMismatchLog("bfd", "Interface", e);
index b7182261cc78c9743e70b4bb814ba98ff7bbb34c..fd1bfade10424e527b6f9f7784b2656c0b9326a7 100644 (file)
@@ -8,9 +8,7 @@
 
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Optional;
@@ -49,6 +47,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re
 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.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -93,8 +92,7 @@ public class OvsdbQosUpdateCommand extends AbstractTransactionCommand {
      * @param newUpdatedQosRows updated {@link Qos} rows
 
      */
-    private void updateQos(ReadWriteTransaction transaction,
-                                  Map<UUID, Qos> newUpdatedQosRows) {
+    private void updateQos(ReadWriteTransaction transaction, Map<UUID, Qos> newUpdatedQosRows) {
 
         final InstanceIdentifier<Node> nodeIId = getOvsdbConnectionInstance().getInstanceIdentifier();
         final Optional<Node> ovsdbNode = SouthboundUtil.readNode(transaction, nodeIId);
@@ -218,7 +216,7 @@ public class OvsdbQosUpdateCommand extends AbstractTransactionCommand {
 
     private static void setNewOtherConfigs(QosEntriesBuilder qosEntryBuilder,
             Map<String, String> otherConfig) {
-        List<QosOtherConfig> otherConfigList = new ArrayList<>();
+        var otherConfigList = BindingMap.<QosOtherConfigKey, QosOtherConfig>orderedBuilder();
         for (Entry<String, String> entry : otherConfig.entrySet()) {
             String otherConfigKey = entry.getKey();
             String otherConfigValue = entry.getValue();
@@ -227,7 +225,7 @@ public class OvsdbQosUpdateCommand extends AbstractTransactionCommand {
                         .setOtherConfigValue(otherConfigValue).build());
             }
         }
-        qosEntryBuilder.setQosOtherConfig(otherConfigList);
+        qosEntryBuilder.setQosOtherConfig(otherConfigList.build());
     }
 
     private static void setExternalIds(ReadWriteTransaction transaction,
@@ -267,7 +265,7 @@ public class OvsdbQosUpdateCommand extends AbstractTransactionCommand {
 
     private static void setNewExternalIds(QosEntriesBuilder qosEntryBuilder,
             Map<String, String> externalIds) {
-        List<QosExternalIds> externalIdsList = new ArrayList<>();
+        var externalIdsList = BindingMap.<QosExternalIdsKey, QosExternalIds>orderedBuilder();
         for (Entry<String, String> entry : externalIds.entrySet()) {
             String extIdKey = entry.getKey();
             String extIdValue = entry.getValue();
@@ -276,7 +274,7 @@ public class OvsdbQosUpdateCommand extends AbstractTransactionCommand {
                         .setQosExternalIdValue(extIdValue).build());
             }
         }
-        qosEntryBuilder.setQosExternalIds(externalIdsList);
+        qosEntryBuilder.setQosExternalIds(externalIdsList.build());
     }
 
     private void setQueueList(ReadWriteTransaction transaction,
@@ -313,10 +311,9 @@ public class OvsdbQosUpdateCommand extends AbstractTransactionCommand {
         }
     }
 
-    private void setNewQueues(QosEntriesBuilder qosEntryBuilder,
-            Map<Long, UUID> queueList, Node ovsdbNode) {
+    private void setNewQueues(QosEntriesBuilder qosEntryBuilder, Map<Long, UUID> queueList, Node ovsdbNode) {
         Set<Entry<Long, UUID>> queueEntries = queueList.entrySet();
-        List<QueueList> newQueueList = new ArrayList<>();
+        var newQueueList = BindingMap.<QueueListKey, QueueList>orderedBuilder();
         for (Entry<Long, UUID> queueEntry : queueEntries) {
             InstanceIdentifier<Queues> queueIid = getQueueIid(queueEntry.getValue(), ovsdbNode);
             if (queueIid != null) {
@@ -327,6 +324,6 @@ public class OvsdbQosUpdateCommand extends AbstractTransactionCommand {
             }
 
         }
-        qosEntryBuilder.setQueueList(newQueueList);
+        qosEntryBuilder.setQueueList(newQueueList.build());
     }
 }
index c3e9af0bfbd722ce50dd98d6121cc63e63c2a2d5..5a5b3ed5112d7aee928d7560351b5b748fa7e9d4 100644 (file)
@@ -5,12 +5,9 @@
  * 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.southbound.transactions.md;
 
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Optional;
@@ -41,6 +38,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re
 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.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint8;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -166,9 +164,8 @@ public class OvsdbQueueUpdateCommand extends AbstractTransactionCommand {
         }
     }
 
-    private static void setNewOtherConfigs(QueuesBuilder queuesBuilder,
-            Map<String, String> otherConfig) {
-        List<QueuesOtherConfig> otherConfigList = new ArrayList<>();
+    private static void setNewOtherConfigs(QueuesBuilder queuesBuilder, Map<String, String> otherConfig) {
+        var otherConfigList = BindingMap.<QueuesOtherConfigKey, QueuesOtherConfig>orderedBuilder();
         for (Entry<String, String> entry : otherConfig.entrySet()) {
             String otherConfigKey = entry.getKey();
             String otherConfigValue = entry.getValue();
@@ -177,7 +174,7 @@ public class OvsdbQueueUpdateCommand extends AbstractTransactionCommand {
                         .setQueueOtherConfigValue(otherConfigValue).build());
             }
         }
-        queuesBuilder.setQueuesOtherConfig(otherConfigList);
+        queuesBuilder.setQueuesOtherConfig(otherConfigList.build());
     }
 
     private static void setExternalIds(ReadWriteTransaction transaction,
@@ -215,9 +212,8 @@ public class OvsdbQueueUpdateCommand extends AbstractTransactionCommand {
         }
     }
 
-    private static void setNewExternalIds(QueuesBuilder queuesBuilder,
-            Map<String, String> externalIds) {
-        List<QueuesExternalIds> externalIdsList = new ArrayList<>();
+    private static void setNewExternalIds(QueuesBuilder queuesBuilder, Map<String, String> externalIds) {
+        var externalIdsList = BindingMap.<QueuesExternalIdsKey, QueuesExternalIds>orderedBuilder();
         for (Entry<String, String> entry : externalIds.entrySet()) {
             String extIdKey = entry.getKey();
             String externalIdValue = entry.getValue();
@@ -226,7 +222,6 @@ public class OvsdbQueueUpdateCommand extends AbstractTransactionCommand {
                         .setQueuesExternalIdValue(externalIdValue).build());
             }
         }
-        queuesBuilder.setQueuesExternalIds(externalIdsList);
+        queuesBuilder.setQueuesExternalIds(externalIdsList.build());
     }
-
 }
index f6fd76cb9ae26d758510562db1ff1f83bc16c84d..9813b6a2c39b8f422c4dabfe7ff9f1a39096e87d 100644 (file)
@@ -62,6 +62,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re
 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.Node;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint32;
 
 public class SouthboundMapperTest {
@@ -279,7 +280,7 @@ public class SouthboundMapperTest {
 
             String uuidString = "7da709ff-397f-4778-a0e8-994811272fdb";
             OvsdbBridgeAugmentation omn = new OvsdbBridgeAugmentationBuilder()
-                    .setControllerEntry(Collections.singletonList(new ControllerEntryBuilder()
+                    .setControllerEntry(BindingMap.of(new ControllerEntryBuilder()
                             .setControllerUuid(Uuid.getDefaultInstance(uuidString))
                             .setTarget(Uri.getDefaultInstance("uri"))
                             .build()))
index ceed84afc33a6c55cc89ba4b6d361d45b08146d9..544bf77cf5975e558a9857811ef99361f07fed3c 100644 (file)
@@ -5,10 +5,10 @@
  * 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.southbound.transactions.md;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
@@ -55,17 +55,17 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeName;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeProtocolBase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbFailModeStandalone;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.BridgeExternalIds;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.BridgeExternalIdsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.BridgeOtherConfigs;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.BridgeOtherConfigsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ControllerEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ProtocolEntry;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ProtocolEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
@@ -250,7 +250,7 @@ public class OvsdbBridgeUpdateCommandTest {
         PowerMockito.whenNew(OvsdbBridgeRef.class).withAnyArguments().thenReturn(mock(OvsdbBridgeRef.class));
         when(managedNodeEntryBuilder.setBridgeRef(any(OvsdbBridgeRef.class))).thenReturn(managedNodeEntryBuilder);
         when(managedNodeEntryBuilder.build()).thenReturn(managedBridge);
-        when(ovsdbConnectionAugmentationBuilder.setManagedNodeEntry(any(List.class)))
+        when(ovsdbConnectionAugmentationBuilder.setManagedNodeEntry(any(Map.class)))
                 .thenReturn(ovsdbConnectionAugmentationBuilder);
 
         when(ovsdbConnectionAugmentationBuilder.build()).thenReturn(mock(OvsdbNodeAugmentation.class));
@@ -372,19 +372,13 @@ public class OvsdbBridgeUpdateCommandTest {
         map.put("key", "value");
         when(column.getData()).thenReturn(map);
 
-        BridgeOtherConfigsBuilder bridgeOtherConfigsBuilder = mock(BridgeOtherConfigsBuilder.class);
-        PowerMockito.whenNew(BridgeOtherConfigsBuilder.class).withNoArguments().thenReturn(bridgeOtherConfigsBuilder);
-        when(bridgeOtherConfigsBuilder.setBridgeOtherConfigKey(anyString())).thenReturn(bridgeOtherConfigsBuilder);
-        when(bridgeOtherConfigsBuilder.setBridgeOtherConfigValue(anyString())).thenReturn(bridgeOtherConfigsBuilder);
-        when(bridgeOtherConfigsBuilder.build()).thenReturn(mock(BridgeOtherConfigs.class));
-
-        OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder = mock(OvsdbBridgeAugmentationBuilder.class);
-        when(ovsdbBridgeAugmentationBuilder.setBridgeOtherConfigs(any(List.class)))
-                .thenReturn(ovsdbBridgeAugmentationBuilder);
-        Whitebox.invokeMethod(ovsdbBridgeUpdateCommand, "setOtherConfig", ovsdbBridgeAugmentationBuilder, bridge);
-        verify(bridge).getOtherConfigColumn();
-        verify(bridgeOtherConfigsBuilder).setBridgeOtherConfigKey(anyString());
-        verify(bridgeOtherConfigsBuilder).setBridgeOtherConfigValue(anyString());
+        var builder = new OvsdbBridgeAugmentationBuilder();
+        OvsdbBridgeUpdateCommand.setOtherConfig(builder, bridge);
+        var list = builder.build().nonnullBridgeOtherConfigs().values();
+        assertEquals(1, list.size());
+        var result = list.iterator().next();
+        assertEquals("key", result.getBridgeOtherConfigKey());
+        assertEquals("value", result.getBridgeOtherConfigValue());
     }
 
     @SuppressWarnings("unchecked")
@@ -397,45 +391,43 @@ public class OvsdbBridgeUpdateCommandTest {
         map.put("key", "value");
         when(column.getData()).thenReturn(map);
 
-        BridgeExternalIdsBuilder bridgeExternalIdsBuilder = mock(BridgeExternalIdsBuilder.class);
-        PowerMockito.whenNew(BridgeExternalIdsBuilder.class).withNoArguments().thenReturn(bridgeExternalIdsBuilder);
-        when(bridgeExternalIdsBuilder.setBridgeExternalIdKey(anyString())).thenReturn(bridgeExternalIdsBuilder);
-        when(bridgeExternalIdsBuilder.setBridgeExternalIdValue(anyString())).thenReturn(bridgeExternalIdsBuilder);
-        when(bridgeExternalIdsBuilder.build()).thenReturn(mock(BridgeExternalIds.class));
-
-        OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder = mock(OvsdbBridgeAugmentationBuilder.class);
-        when(ovsdbBridgeAugmentationBuilder.setBridgeOtherConfigs(any(List.class)))
-                .thenReturn(ovsdbBridgeAugmentationBuilder);
-        Whitebox.invokeMethod(ovsdbBridgeUpdateCommand, "setExternalIds", ovsdbBridgeAugmentationBuilder, bridge);
-        verify(bridge).getExternalIdsColumn();
-        verify(bridgeExternalIdsBuilder).setBridgeExternalIdKey(anyString());
-        verify(bridgeExternalIdsBuilder).setBridgeExternalIdValue(anyString());
+        var builder = new OvsdbBridgeAugmentationBuilder();
+        OvsdbBridgeUpdateCommand.setExternalIds(builder, bridge);
+        var list = builder.build().nonnullBridgeExternalIds().values();
+        assertEquals(1, list.size());
+        var result = list.iterator().next();
+        assertEquals("key", result.getBridgeExternalIdKey());
+        assertEquals("value", result.getBridgeExternalIdValue());
     }
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testSetProtocolAndSetDataPath() throws Exception {
         PowerMockito.mockStatic(SouthboundMapper.class);
 
-        //Test setProtocol()
-        List<ProtocolEntry> listProtocolEntry = new ArrayList<>();
-        listProtocolEntry.add(mock(ProtocolEntry.class));
-        when(SouthboundMapper.createMdsalProtocols(any(Bridge.class))).thenReturn(listProtocolEntry);
-        OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder = mock(OvsdbBridgeAugmentationBuilder.class);
-        Bridge bridge = mock(Bridge.class);
-        when(ovsdbBridgeAugmentationBuilder.setProtocolEntry(any(List.class)))
-                .thenReturn(ovsdbBridgeAugmentationBuilder);
-        Whitebox.invokeMethod(ovsdbBridgeUpdateCommand, "setProtocol", ovsdbBridgeAugmentationBuilder, bridge);
-        verify(ovsdbBridgeAugmentationBuilder).setProtocolEntry(any(List.class));
+        var builder = new OvsdbBridgeAugmentationBuilder();
+        var bridge = mock(Bridge.class);
 
+        // Call setProtocol()
+        when(SouthboundMapper.createMdsalProtocols(any(Bridge.class)))
+                .thenReturn(List.of(new ProtocolEntryBuilder().setProtocol(OvsdbBridgeProtocolBase.class).build()));
+        OvsdbBridgeUpdateCommand.setProtocol(builder, bridge);
 
-        //Test setDataPath()
-        DatapathId dpid = mock(DatapathId.class);
+        // Call setDataPath()
+        var dpid = new DatapathId("00:11:22:33:44:55:66:77");
         when(SouthboundMapper.createDatapathId(any(Bridge.class))).thenReturn(dpid);
-        when(ovsdbBridgeAugmentationBuilder.setDatapathId(any(DatapathId.class)))
-                .thenReturn(ovsdbBridgeAugmentationBuilder);
-        Whitebox.invokeMethod(ovsdbBridgeUpdateCommand, "setDataPath", ovsdbBridgeAugmentationBuilder, bridge);
-        verify(ovsdbBridgeAugmentationBuilder).setDatapathId(any(DatapathId.class));
+        OvsdbBridgeUpdateCommand.setDataPath(builder, bridge);
+
+        // Get result
+        var result = builder.build();
+
+        // Assert setProtocol()
+        var protocols = result.nonnullProtocolEntry().values();
+        assertEquals(1, protocols.size());
+        var protocol = protocols.iterator().next();
+        assertEquals(OvsdbBridgeProtocolBase.class, protocol.getProtocol());
+
+        // Assert setDataPath()
+        assertSame(dpid, result.getDatapathId());
     }
 
     @SuppressWarnings("unchecked")
index 10434b3e57d30e6200a076d782efebdb25a740ab..b7126ca6e94e50741d27f3ad7ef10980277d209b 100644 (file)
@@ -61,14 +61,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntryBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceExternalIds;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceExternalIdsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceOtherConfigs;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.InterfaceOtherConfigsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.PortExternalIds;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.PortExternalIdsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.PortOtherConfigs;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.PortOtherConfigsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.TrunksBuilder;
 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;
@@ -582,21 +574,13 @@ public class OvsdbPortUpdateCommandTest {
         map.put(EXTERNAL_ID_KEY, EXTERNAL_ID_VALUE);
         when(column.getData()).thenReturn(map);
 
-        InterfaceExternalIdsBuilder interfaceExternalIdsBuilder = mock(InterfaceExternalIdsBuilder.class);
-        PowerMockito.whenNew(InterfaceExternalIdsBuilder.class).withNoArguments()
-                .thenReturn(interfaceExternalIdsBuilder);
-
-        when(interfaceExternalIdsBuilder.setExternalIdKey(anyString())).thenReturn(interfaceExternalIdsBuilder);
-        when(interfaceExternalIdsBuilder.setExternalIdValue(anyString())).thenReturn(interfaceExternalIdsBuilder);
-        when(interfaceExternalIdsBuilder.build()).thenReturn(mock(InterfaceExternalIds.class));
-        OvsdbTerminationPointAugmentationBuilder ovsdbTerminationPointBldr = mock(
-                OvsdbTerminationPointAugmentationBuilder.class);
-        when(ovsdbTerminationPointBldr.setInterfaceExternalIds(any(List.class))).thenReturn(ovsdbTerminationPointBldr);
-
-        Whitebox.invokeMethod(ovsdbPortUpdateCommand, "updateInterfaceExternalIds", interf, ovsdbTerminationPointBldr);
-        verify(interfaceExternalIdsBuilder).setExternalIdKey(anyString());
-        verify(interfaceExternalIdsBuilder).setExternalIdValue(anyString());
-
+        var builder = new OvsdbTerminationPointAugmentationBuilder();
+        ovsdbPortUpdateCommand.updateInterfaceExternalIds(interf, builder);
+        var list = builder.build().nonnullInterfaceExternalIds().values();
+        assertEquals(1, list.size());
+        var result = list.iterator().next();
+        assertEquals(EXTERNAL_ID_KEY, result.getExternalIdKey());
+        assertEquals(EXTERNAL_ID_VALUE, result.getExternalIdValue());
     }
 
     @SuppressWarnings("unchecked")
@@ -610,19 +594,13 @@ public class OvsdbPortUpdateCommandTest {
         map.put(EXTERNAL_ID_KEY, EXTERNAL_ID_VALUE);
         when(column.getData()).thenReturn(map);
 
-        PortExternalIdsBuilder portExternalIdsBuilder = mock(PortExternalIdsBuilder.class);
-        PowerMockito.whenNew(PortExternalIdsBuilder.class).withNoArguments().thenReturn(portExternalIdsBuilder);
-
-        when(portExternalIdsBuilder.setExternalIdKey(anyString())).thenReturn(portExternalIdsBuilder);
-        when(portExternalIdsBuilder.setExternalIdValue(anyString())).thenReturn(portExternalIdsBuilder);
-        when(portExternalIdsBuilder.build()).thenReturn(mock(PortExternalIds.class));
-        OvsdbTerminationPointAugmentationBuilder ovsdbTerminationPointBuilder = mock(
-                OvsdbTerminationPointAugmentationBuilder.class);
-        when(ovsdbTerminationPointBuilder.setPortExternalIds(any(List.class))).thenReturn(ovsdbTerminationPointBuilder);
-
-        Whitebox.invokeMethod(ovsdbPortUpdateCommand, "updatePortExternalIds", port, ovsdbTerminationPointBuilder);
-        verify(portExternalIdsBuilder).setExternalIdKey(anyString());
-        verify(portExternalIdsBuilder).setExternalIdValue(anyString());
+        var builder = new OvsdbTerminationPointAugmentationBuilder();
+        ovsdbPortUpdateCommand.updatePortExternalIds(port, builder);
+        var list = builder.build().nonnullPortExternalIds().values();
+        assertEquals(1, list.size());
+        var result = list.iterator().next();
+        assertEquals(EXTERNAL_ID_KEY, result.getExternalIdKey());
+        assertEquals(EXTERNAL_ID_VALUE, result.getExternalIdValue());
     }
 
     @SuppressWarnings("unchecked")
@@ -635,20 +613,13 @@ public class OvsdbPortUpdateCommandTest {
         map.put(OTHER_CONFIG_KEY, OTHER_CONFIG_VALUE);
         when(column.getData()).thenReturn(map);
 
-        PortOtherConfigsBuilder portOtherConfigsBuilder = mock(PortOtherConfigsBuilder.class);
-        PowerMockito.whenNew(PortOtherConfigsBuilder.class).withNoArguments().thenReturn(portOtherConfigsBuilder);
-
-        when(portOtherConfigsBuilder.setOtherConfigKey(anyString())).thenReturn(portOtherConfigsBuilder);
-        when(portOtherConfigsBuilder.setOtherConfigValue(anyString())).thenReturn(portOtherConfigsBuilder);
-        when(portOtherConfigsBuilder.build()).thenReturn(mock(PortOtherConfigs.class));
-        OvsdbTerminationPointAugmentationBuilder ovsdbTerminationPointBuilder = mock(
-                OvsdbTerminationPointAugmentationBuilder.class);
-        when(ovsdbTerminationPointBuilder.setInterfaceOtherConfigs(any(List.class)))
-                .thenReturn(ovsdbTerminationPointBuilder);
-
-        Whitebox.invokeMethod(ovsdbPortUpdateCommand, "updatePortOtherConfig", port, ovsdbTerminationPointBuilder);
-        verify(portOtherConfigsBuilder).setOtherConfigKey(anyString());
-        verify(portOtherConfigsBuilder).setOtherConfigValue(anyString());
+        var builder = new OvsdbTerminationPointAugmentationBuilder();
+        ovsdbPortUpdateCommand.updatePortOtherConfig(port, builder);
+        var list = builder.build().nonnullPortOtherConfigs().values();
+        assertEquals(1, list.size());
+        var result = list.iterator().next();
+        assertEquals(OTHER_CONFIG_KEY, result.getOtherConfigKey());
+        assertEquals(OTHER_CONFIG_VALUE, result.getOtherConfigValue());
     }
 
     @SuppressWarnings("unchecked")
@@ -661,22 +632,13 @@ public class OvsdbPortUpdateCommandTest {
         when(interf.getOtherConfigColumn()).thenReturn(column);
         when(column.getData()).thenReturn(interfaceOtherConfigMap);
 
-        InterfaceOtherConfigsBuilder interfaceOtherConfigsBuilder = mock(InterfaceOtherConfigsBuilder.class);
-        PowerMockito.whenNew(InterfaceOtherConfigsBuilder.class).withNoArguments()
-                .thenReturn(interfaceOtherConfigsBuilder);
-
-        when(interfaceOtherConfigsBuilder.setOtherConfigKey(anyString())).thenReturn(interfaceOtherConfigsBuilder);
-        when(interfaceOtherConfigsBuilder.setOtherConfigValue(anyString())).thenReturn(interfaceOtherConfigsBuilder);
-        when(interfaceOtherConfigsBuilder.build()).thenReturn(mock(InterfaceOtherConfigs.class));
-        OvsdbTerminationPointAugmentationBuilder ovsdbTerminationPointBuilder = mock(
-                OvsdbTerminationPointAugmentationBuilder.class);
-        when(ovsdbTerminationPointBuilder.setInterfaceOtherConfigs(any(List.class)))
-                .thenReturn(ovsdbTerminationPointBuilder);
-
-        Whitebox.invokeMethod(ovsdbPortUpdateCommand, "updateInterfaceOtherConfig", interf,
-                ovsdbTerminationPointBuilder);
-        verify(interfaceOtherConfigsBuilder).setOtherConfigKey(anyString());
-        verify(interfaceOtherConfigsBuilder).setOtherConfigValue(anyString());
+        var builder = new OvsdbTerminationPointAugmentationBuilder();
+        ovsdbPortUpdateCommand.updateInterfaceOtherConfig(interf, builder);
+        var list = builder.build().nonnullInterfaceOtherConfigs().values();
+        assertEquals(1, list.size());
+        var result = list.iterator().next();
+        assertEquals(OTHER_CONFIG_KEY, result.getOtherConfigKey());
+        assertEquals(OTHER_CONFIG_VALUE, result.getOtherConfigValue());
     }
 
     @SuppressWarnings("unchecked")