Using nonNull API's in ELAN 00/90200/6
authorChetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Tue, 2 Jun 2020 06:29:19 +0000 (11:59 +0530)
committerChetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Tue, 2 Jun 2020 15:56:55 +0000 (15:56 +0000)
Description:

using nonnull version of API provided(Ex as below) before
doing .values() on the return value(applicable for all modules).
This can result in NPE.

    @Nullable
    List<Interfaces> getInterfaces();

    @NonNull
    default List<Interfaces> nonnullInterfaces() {
        return CodeHelpers.nonnull(this.getInterfaces());
    }

Changes done in ELAN to use nonnull version of API

JIRA:NETVIRT-1671

Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Change-Id: I795c8f217d6de35841baf6847aa0e8929d02cc87
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
40 files changed:
elanmanager/api/src/main/java/org/opendaylight/netvirt/elan/arp/responder/ArpResponderUtil.java
elanmanager/api/src/main/java/org/opendaylight/netvirt/elanmanager/api/ElanHelper.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/cli/l2gw/L2GwValidateCli.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/cli/l2gw/NetworkL2gwDeviceInfoCli.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/EvpnMacVrfUtils.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanBridgeManager.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInterfaceManager.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/VpnDpnToTransportZoneListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/HwvtepHAUtil.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/LocalMcastCmd.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/LocalUcastCmd.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/LogicalSwitchesCmd.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/PhysicalLocatorCmd.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/RemoteMcastCmd.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/RemoteUcastCmd.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/SwitchesCmd.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/TerminationPointCmd.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/TunnelCmd.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/TunnelIpCmd.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeConnectedHandler.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HAOpNodeListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HwvtepNodeBaseListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/ManagerListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/ElanInstanceEntityOwnershipListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepPhysicalSwitchListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/L2GatewayConnectionListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/L2GatewayListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/LocalUcastMacListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/L2GatewayConnectionUtils.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/StaleVlanBindingsCleaner.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanItmUtils.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanUtils.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/TransportZoneNotificationUtil.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/TestComparators.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/TestUtil.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/ElanServiceTestBase.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/Verifications.java

index 63eabadcf4e9f0814cb981126beb4212f2969127..3a8d2197cbda661dee27051233e9cb5aaad8894a 100644 (file)
@@ -378,7 +378,7 @@ public final class ArpResponderUtil {
                     LOG.error("getEgressActionsForInterface: RPC Call to Get egress actions for interface {} "
                             + "returned with Errors {}", ifName, result.getErrors());
                 } else {
-                    listActions = ((GetEgressActionsForTunnelOutput) result.getResult()).getAction();
+                    listActions = ((GetEgressActionsForTunnelOutput) result.getResult()).nonnullAction();
                 }
                 return new ArrayList<Action>(listActions.values());
             } catch (InterruptedException | ExecutionException e) {
index ca8f97ef0cc83ec2f515bd92603798809e9767c8..51140ba2d6bd9cd5ebe4610c270f79f0f754e779 100644 (file)
@@ -62,7 +62,7 @@ public final class ElanHelper {
             ElanDpnInterfacesList existingElanDpnInterfaces = SingleTransactionDataBroker.syncRead(broker,
                     LogicalDatastoreType.OPERATIONAL, elanDpnInterfaceId);
             if (existingElanDpnInterfaces != null) {
-                return new ArrayList<DpnInterfaces>(existingElanDpnInterfaces.getDpnInterfaces().values()).stream()
+                return new ArrayList<DpnInterfaces>(existingElanDpnInterfaces.nonnullDpnInterfaces().values()).stream()
                         .flatMap(v -> v.getInterfaces().stream()).collect(Collectors.toList());
             }
         } catch (ExpectedDataObjectNotFoundException e) {
index 610a3af77c0caca7e3bf58ecdc74f100ad255d89..8b21f2e7f7141de0a206206953843a3a256d4d0a 100644 (file)
@@ -155,7 +155,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
                     InstanceIdentifier.builder(ElanInstances.class).build()).get();
 
             if (elanInstancesOptional.isPresent() && elanInstancesOptional.get().getElanInstance() != null) {
-                for (ElanInstance elanInstance : elanInstancesOptional.get().getElanInstance().values()) {
+                for (ElanInstance elanInstance : elanInstancesOptional.get().nonnullElanInstance().values()) {
                     elanInstanceMap.put(elanInstance.getElanInstanceName(), elanInstance);
                 }
             }
@@ -273,7 +273,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
     private static boolean containsLogicalSwitch(Node node) {
         if (node == null || node.augmentation(HwvtepGlobalAugmentation.class) == null
                 || HwvtepHAUtil.isEmptyList(
-                new ArrayList(node.augmentation(HwvtepGlobalAugmentation.class).getLogicalSwitches().values()))) {
+                new ArrayList(node.augmentation(HwvtepGlobalAugmentation.class).nonnullLogicalSwitches().values()))) {
             return false;
         }
         return true;
@@ -502,7 +502,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
             return false;
         }
         for (org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712
-                 .l2gateway.attributes.devices.Interfaces deviceInterface : hwVtepDevice.getInterfaces().values()) {
+                 .l2gateway.attributes.devices.Interfaces deviceInterface : hwVtepDevice.nonnullInterfaces().values()) {
 
             NodeId switchNodeId = HwvtepSouthboundUtils.createManagedNodeId(nodeId, hwVtepDevice.getDeviceName());
             InstanceIdentifier<Node> physicalSwitchNodeIid = topoIid.child(Node.class, new NodeKey(switchNodeId));
@@ -539,7 +539,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
             HwvtepPhysicalPortAugmentation portAugmentation = configTerminationPoint.augmentation(
                     HwvtepPhysicalPortAugmentation.class);
             if (portAugmentation == null || HwvtepHAUtil.isEmptyList(
-                    new ArrayList(portAugmentation.getVlanBindings().values()))) {
+                    new ArrayList(portAugmentation.nonnullVlanBindings().values()))) {
                 pw.println("Failed to find the config vlan bindings for port " + deviceInterface.getInterfaceName()
                         + " for node " + hwVtepDevice.getDeviceName() +  " for logical switch " + logicalSwitchName
                         + " nodeid " + nodeId.getValue());
@@ -548,7 +548,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
             }
             portAugmentation = operationalTerminationPoint.augmentation(HwvtepPhysicalPortAugmentation.class);
             if (portAugmentation == null || HwvtepHAUtil.isEmptyList(
-                    new ArrayList(portAugmentation.getVlanBindings().values()))) {
+                    new ArrayList(portAugmentation.nonnullVlanBindings().values()))) {
                 pw.println("Failed to find the operational vlan bindings for port " + deviceInterface.getInterfaceName()
                         + " for node " + hwVtepDevice.getDeviceName() +  " for logical switch " + logicalSwitchName
                         + " nodeid " + nodeId.getValue());
index 6bc3fc2bfa02b3a1da773acb00a14ad5a359f63c..257da6de9f11492b27654b6b15a2526af3749857 100644 (file)
@@ -125,7 +125,7 @@ public class NetworkL2gwDeviceInfoCli extends OsgiCommandSupport {
                         LogicalDatastoreType.CONFIGURATION,
                         InstanceIdentifier.builder(ElanInstances.class).build());
                 if (elanInstancesOptional.isPresent()) {
-                    Map<ElanInstanceKey, ElanInstance> elans = elanInstancesOptional.get().getElanInstance();
+                    Map<ElanInstanceKey, ElanInstance> elans = elanInstancesOptional.get().nonnullElanInstance();
                     if (elans != null) {
                         for (ElanInstance elan : elans.values()) {
                             networks.add(elan.getElanInstanceName());
@@ -212,7 +212,7 @@ public class NetworkL2gwDeviceInfoCli extends OsgiCommandSupport {
             return;
         }
         Map<RemoteUcastMacsKey, RemoteUcastMacs> remoteUcastMacs =
-                hwvtepNode.augmentation(HwvtepGlobalAugmentation.class).getRemoteUcastMacs();
+                hwvtepNode.augmentation(HwvtepGlobalAugmentation.class).nonnullRemoteUcastMacs();
         if (remoteUcastMacs == null || remoteUcastMacs.isEmpty()) {
             return;
         }
@@ -236,7 +236,7 @@ public class NetworkL2gwDeviceInfoCli extends OsgiCommandSupport {
             return;
         }
         Map<LocalUcastMacsKey, LocalUcastMacs> localUcastMacs =
-                hwvtepNode.augmentation(HwvtepGlobalAugmentation.class).getLocalUcastMacs();
+                hwvtepNode.augmentation(HwvtepGlobalAugmentation.class).nonnullLocalUcastMacs();
         if (localUcastMacs == null || localUcastMacs.isEmpty()) {
             return;
         }
@@ -260,7 +260,7 @@ public class NetworkL2gwDeviceInfoCli extends OsgiCommandSupport {
             return;
         }
         Map<LocalMcastMacsKey, LocalMcastMacs> localMcastMacs =
-                hwvtepNode.augmentation(HwvtepGlobalAugmentation.class).getLocalMcastMacs();
+                hwvtepNode.augmentation(HwvtepGlobalAugmentation.class).nonnullLocalMcastMacs();
         if (localMcastMacs == null || localMcastMacs.isEmpty()) {
             return;
         }
@@ -287,7 +287,7 @@ public class NetworkL2gwDeviceInfoCli extends OsgiCommandSupport {
             return;
         }
         Map<RemoteMcastMacsKey, RemoteMcastMacs> remoteMcastMacs =
-                hwvtepNode.augmentation(HwvtepGlobalAugmentation.class).getRemoteMcastMacs();
+                hwvtepNode.augmentation(HwvtepGlobalAugmentation.class).nonnullRemoteMcastMacs();
         if (remoteMcastMacs == null || remoteMcastMacs.isEmpty()) {
             return;
         }
@@ -313,7 +313,7 @@ public class NetworkL2gwDeviceInfoCli extends OsgiCommandSupport {
         if (psNode == null) {
             return;
         }
-        Map<TerminationPointKey, TerminationPoint> terminationPoints = psNode.getTerminationPoint();
+        Map<TerminationPointKey, TerminationPoint> terminationPoints = psNode.nonnullTerminationPoint();
         if (terminationPoints == null || terminationPoints.isEmpty()) {
             return;
         }
@@ -357,7 +357,8 @@ public class NetworkL2gwDeviceInfoCli extends OsgiCommandSupport {
     Node getPSnode(Node hwvtepNode, LogicalDatastoreType datastoreType) throws ExecutionException,
             InterruptedException {
         if (hwvtepNode.augmentation(HwvtepGlobalAugmentation.class) != null) {
-            Map<SwitchesKey, Switches> switches = hwvtepNode.augmentation(HwvtepGlobalAugmentation.class).getSwitches();
+            Map<SwitchesKey, Switches> switches = hwvtepNode.augmentation(HwvtepGlobalAugmentation.class)
+                .nonnullSwitches();
             if (switches != null) {
                 return HwvtepUtils.getHwVtepNode(dataBroker, datastoreType,
                     switches.values().iterator().next().getSwitchRef().getValue().firstKeyOf(Node.class).getNodeId());
index 9a5b263b4dd30704325857be10a30ecec5fac5e8..04d11b51c075a41542d03ea61d3ee27e527f3d37 100644 (file)
@@ -134,7 +134,7 @@ public class EvpnMacVrfUtils {
                 if (!vrfTablesOptional.isPresent()) {
                     return null;
                 }
-                Map<MacVrfEntryKey, MacVrfEntry> keyMacVrfEntryMap = vrfTablesOptional.get().getMacVrfEntry();
+                Map<MacVrfEntryKey, MacVrfEntry> keyMacVrfEntryMap = vrfTablesOptional.get().nonnullMacVrfEntry();
                 if (keyMacVrfEntryMap == null || keyMacVrfEntryMap.isEmpty()) {
                     return null;
                 }
@@ -170,7 +170,7 @@ public class EvpnMacVrfUtils {
         List<DpnInterfaces> dpnInterfaceLists = elanUtils.getElanDPNByName(elanName);
         if (checkEvpnAttachedToNet(elanName)) {
             //TODO(Riyaz) : Check if accessing first nexthop address is right solution
-            String nexthopIP = new ArrayList<RoutePaths>(macVrfEntry.getRoutePaths().values())
+            String nexthopIP = new ArrayList<RoutePaths>(macVrfEntry.nonnullRoutePaths().values())
                     .get(0).getNexthopAddress();
             IpAddress ipAddress = new IpAddress(new Ipv4Address(nexthopIP));
             Uint32 elanTag = getElanTagByMacvrfiid(instanceIdentifier);
@@ -209,7 +209,8 @@ public class EvpnMacVrfUtils {
 
         //if (checkEvpnAttachedToNet(elanName)) {
         //TODO(Riyaz) : Check if accessing first nexthop address is right
-        String nexthopIP = new ArrayList<RoutePaths>(macVrfEntry.getRoutePaths().values()).get(0).getNexthopAddress();
+        String nexthopIP = new ArrayList<RoutePaths>(macVrfEntry.nonnullRoutePaths().values())
+            .get(0).getNexthopAddress();
         IpAddress ipAddress = new IpAddress(new Ipv4Address(nexthopIP));
         Uint32 elanTag = getElanTagByMacvrfiid(instanceIdentifier);
         if (elanTag == null) {
@@ -276,7 +277,7 @@ public class EvpnMacVrfUtils {
             LOG.debug("RoutePaths is null or empty for macvrfentry {}", macVrfEntry);
             return null;
         }
-        return new ArrayList<RoutePaths>(macVrfEntry.getRoutePaths().values()).get(0).getNexthopAddress();
+        return new ArrayList<RoutePaths>(macVrfEntry.nonnullRoutePaths().values()).get(0).getNexthopAddress();
     }
 
     public void removeEvpnDmacFlowOnDetach(InstanceIdentifier<MacVrfEntry> instanceIdentifier, MacVrfEntry macVrfEntry,
index 6c94585f8e9bd0d254dd973d31b9c990266254c4..4042747e729ea3b88f961ff21150f40d85e330c5 100644 (file)
@@ -349,7 +349,7 @@ public class ElanBridgeManager {
         if (bridgeAug != null) {
             DatapathId dpId = bridgeAug.getDatapathId();
             if (dpId != null) {
-                otherConfigs = new ArrayList<>(bridgeAug.getBridgeOtherConfigs().values());
+                otherConfigs = new ArrayList<>(bridgeAug.nonnullBridgeOtherConfigs().values());
                 if (otherConfigs == null) {
                     otherConfigs = Lists.newArrayList();
                 }
index 4d12f379e814b4d349128f831eeca5ae41157218..c4ecb733e75219f5b6c61964716784a1b7f710e0 100644 (file)
@@ -438,7 +438,8 @@ public class ElanInterfaceManager extends AbstractAsyncDataTreeChangeListener<El
                 LOG.debug("Removing the Interface:{} from elan:{}", interfaceName, elanName);
                 if (interfaceInfo != null) {
                     if (existingElanInterfaceMac.isPresent()) {
-                        Map<MacEntryKey, MacEntry> existingMacEntries = existingElanInterfaceMac.get().getMacEntry();
+                        Map<MacEntryKey, MacEntry> existingMacEntries =
+                            existingElanInterfaceMac.get().nonnullMacEntry();
                         if (existingMacEntries != null) {
                             List<PhysAddress> macAddresses = new ArrayList<>();
                             for (MacEntry macEntry : existingMacEntries.values()) {
@@ -468,7 +469,7 @@ public class ElanInterfaceManager extends AbstractAsyncDataTreeChangeListener<El
                 } else if (existingElanInterfaceMac.isPresent()) {
                     // Interface does not exist in ConfigDS, so lets remove everything
                     // about that interface related to Elan
-                    Map<MacEntryKey, MacEntry> macEntries = existingElanInterfaceMac.get().getMacEntry();
+                    Map<MacEntryKey, MacEntry> macEntries = existingElanInterfaceMac.get().nonnullMacEntry();
                     if (macEntries != null) {
                         for (MacEntry macEntry : macEntries.values()) {
                             PhysAddress macAddress = macEntry.getMacAddress();
@@ -530,7 +531,7 @@ public class ElanInterfaceManager extends AbstractAsyncDataTreeChangeListener<El
                         if (macs == null || macs.getMacEntry() == null) {
                             continue;
                         }
-                        for (MacEntry mac : new ArrayList<MacEntry>(macs.getMacEntry().values())) {
+                        for (MacEntry mac : new ArrayList<MacEntry>(macs.nonnullMacEntry().values())) {
                             removeTheMacFlowInTheDPN(dpId, elanTag, mac, confTx);
                             removeEtreeMacFlowInTheDPN(dpId, elanTag, mac, confTx);
                         }
@@ -583,9 +584,9 @@ public class ElanInterfaceManager extends AbstractAsyncDataTreeChangeListener<El
         EVENT_LOGGER.debug("ELAN-Interface, UPDATE {} Instance {}", original.getName(), elanName);
 
         List<StaticMacEntries> originalStaticMacEntries = new ArrayList<StaticMacEntries>(original
-                .getStaticMacEntries().values());
+                .nonnullStaticMacEntries().values());
         List<StaticMacEntries> updatedStaticMacEntries = new ArrayList<StaticMacEntries>(update
-                .getStaticMacEntries().values());
+                .nonnullStaticMacEntries().values());
         List<StaticMacEntries> deletedEntries = ElanUtils.diffOf(originalStaticMacEntries, updatedStaticMacEntries);
         List<StaticMacEntries> updatedEntries = ElanUtils.diffOf(updatedStaticMacEntries, originalStaticMacEntries);
 
@@ -687,7 +688,7 @@ public class ElanInterfaceManager extends AbstractAsyncDataTreeChangeListener<El
                 .getElanDpnInterfacesList(elanInstance.getElanInstanceName());
         List<DpnInterfaces> dpnInterfaceLists = null;
         if (elanDpnInterfacesList != null) {
-            dpnInterfaceLists = new ArrayList<DpnInterfaces>(elanDpnInterfacesList.getDpnInterfaces().values());
+            dpnInterfaceLists = new ArrayList<DpnInterfaces>(elanDpnInterfacesList.nonnullDpnInterfaces().values());
         }
         if (dpnInterfaceLists != null && !dpnInterfaceLists.isEmpty()) {
             Uint64 dstDpId = interfaceInfo.getDpId();
@@ -865,7 +866,8 @@ public class ElanInterfaceManager extends AbstractAsyncDataTreeChangeListener<El
                 installEntriesForElanInterface(elanInstance, elanInterface, interfaceInfo,
                     isFirstInterfaceInDpn, confTx);
 
-                Map<StaticMacEntriesKey, StaticMacEntries> staticMacEntriesList = elanInterface.getStaticMacEntries();
+                Map<StaticMacEntriesKey, StaticMacEntries> staticMacEntriesList =
+                    elanInterface.nonnullStaticMacEntries();
                 List<PhysAddress> staticMacAddresses = Lists.newArrayList();
 
                 if (ElanUtils.isNotEmpty(staticMacEntriesList.values())) {
@@ -1149,7 +1151,7 @@ public class ElanInterfaceManager extends AbstractAsyncDataTreeChangeListener<El
         String interfaceName = interfaceInfo.getInterfaceName();
         ElanInterfaceMac elanInterfaceMac = elanUtils.getElanInterfaceMacByInterfaceName(interfaceName);
         if (elanInterfaceMac != null && elanInterfaceMac.getMacEntry() != null) {
-            Map<MacEntryKey, MacEntry> macEntries = elanInterfaceMac.getMacEntry();
+            Map<MacEntryKey, MacEntry> macEntries = elanInterfaceMac.nonnullMacEntry();
             return Collections.singletonList(ElanUtils.waitForTransactionToComplete(
                 txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> {
                     for (MacEntry macEntry : macEntries.values()) {
@@ -1620,7 +1622,7 @@ public class ElanInterfaceManager extends AbstractAsyncDataTreeChangeListener<El
                 LOG.debug("Ignoring internal tunnel state event for Flat/Vlan elan {}", elanName);
                 continue;
             }
-            Map<DpnInterfacesKey, DpnInterfaces> dpnInterfaces = elanDpns.getDpnInterfaces();
+            Map<DpnInterfacesKey, DpnInterfaces> dpnInterfaces = elanDpns.nonnullDpnInterfaces();
             if (dpnInterfaces == null) {
                 continue;
             }
index d62503d8d62895f6802dbb77628385f621d06880..300dad5e14e42588f7c774941680543f9c9836ad 100644 (file)
@@ -395,7 +395,7 @@ public class ElanServiceProvider extends AbstractLifecycle implements IElanServi
                 ElanInterfaceMac elanInterfaceMac = elanUtils.getElanInterfaceMacByInterfaceName(elanInterface);
                 if (elanInterfaceMac != null && elanInterfaceMac.getMacEntry() != null
                         && elanInterfaceMac.getMacEntry().size() > 0) {
-                    macAddress.addAll(elanInterfaceMac.getMacEntry().values());
+                    macAddress.addAll(elanInterfaceMac.nonnullMacEntry().values());
                 }
             }
         }
@@ -415,7 +415,7 @@ public class ElanServiceProvider extends AbstractLifecycle implements IElanServi
         for (String elanInterface : elanInterfaces) {
             ElanInterfaceMac elanInterfaceMac = elanUtils.getElanInterfaceMacByInterfaceName(elanInterface);
             if (elanInterfaceMac.getMacEntry() != null && elanInterfaceMac.getMacEntry().size() > 0) {
-                Map<MacEntryKey, MacEntry> macEntries = elanInterfaceMac.getMacEntry();
+                Map<MacEntryKey, MacEntry> macEntries = elanInterfaceMac.nonnullMacEntry();
                 for (MacEntry macEntry : macEntries.values()) {
                     deleteStaticMacAddress(elanInterface, macEntry.getMacAddress().getValue());
                 }
@@ -435,7 +435,7 @@ public class ElanServiceProvider extends AbstractLifecycle implements IElanServi
         InstanceIdentifier<ElanInstances> elanInstancesIdentifier = InstanceIdentifier.builder(ElanInstances.class)
                 .build();
         return new ArrayList<>(ElanUtils.read(broker, LogicalDatastoreType.CONFIGURATION, elanInstancesIdentifier).map(
-                ElanInstances::getElanInstance).orElse(emptyMap()).values());
+                ElanInstances::nonnullElanInstance).orElse(emptyMap()).values());
     }
 
     @Override
index b7e52d47093bd02bbb01a4b6b29ffc415acf577f..e839effec9722d1057508b93569142501ee1aeb1 100644 (file)
@@ -82,11 +82,11 @@ public class VpnDpnToTransportZoneListener
         boolean shouldCreateVtep;
         if (original.getVpnInterfaces() != null && !original.getVpnInterfaces().isEmpty()) {
             shouldCreateVtep = transportZoneNotificationUtil
-                    .shouldCreateVtep(update.getVpnInterfaces().values().stream()
-                    .filter(vi -> !original.getVpnInterfaces().values().contains(vi)).collect(Collectors.toList()));
+                    .shouldCreateVtep(update.nonnullVpnInterfaces().values().stream()
+                    .filter(vi -> !original.nonnullVpnInterfaces().values().contains(vi)).collect(Collectors.toList()));
         } else {
             shouldCreateVtep = transportZoneNotificationUtil.shouldCreateVtep(
-                    new ArrayList<>(update.getVpnInterfaces().values()));
+                    new ArrayList<>(update.nonnullVpnInterfaces().values()));
         }
 
         if (shouldCreateVtep) {
@@ -103,7 +103,7 @@ public class VpnDpnToTransportZoneListener
         LOG.debug("Vpn dpn {} add detected, updating transport zones", add.getDpnId());
 
         boolean shouldCreateVtep = transportZoneNotificationUtil.shouldCreateVtep(
-                new ArrayList<>(add.getVpnInterfaces().values()));
+                new ArrayList<>(add.nonnullVpnInterfaces().values()));
         if (shouldCreateVtep) {
             String vrfId = identifier.firstKeyOf(VpnInstanceOpDataEntry.class).getVrfId();
             transportZoneNotificationUtil.updateTransportZone(vrfId, add.getDpnId());
index 3862bb65c968f591b0907850b77d4cfc3791b8e9..0c3602b75f7606b91ef42fa0963700712cc8592d 100644 (file)
@@ -295,9 +295,9 @@ public final class HwvtepHAUtil {
         }
         HwvtepGlobalAugmentation globalAugmentation = node.augmentation(HwvtepGlobalAugmentation.class);
         if (globalAugmentation != null) {
-            List<Managers> managers = new ArrayList<Managers>(globalAugmentation.getManagers().values());
+            List<Managers> managers = new ArrayList<Managers>(globalAugmentation.nonnullManagers().values());
             if (managers != null && !managers.isEmpty() && managers.get(0).getManagerOtherConfigs() != null) {
-                for (ManagerOtherConfigs configs : managers.get(0).getManagerOtherConfigs().values()) {
+                for (ManagerOtherConfigs configs : managers.get(0).nonnullManagerOtherConfigs().values()) {
                     if (HA_ID.equals(configs.getOtherConfigKey())) {
                         return configs.getOtherConfigValue();
                     }
@@ -322,11 +322,11 @@ public final class HwvtepHAUtil {
                 haGlobalConfigNodeOptional.get().augmentation(HwvtepGlobalAugmentation.class);
         if (augmentation != null && augmentation.getManagers() != null
                 && augmentation.getManagers().size() > 0) {
-            Managers managers = new ArrayList<Managers>(augmentation.getManagers().values()).get(0);
+            Managers managers = new ArrayList<Managers>(augmentation.nonnullManagers().values()).get(0);
             if (null == managers.getManagerOtherConfigs()) {
                 return childNodeIds;
             }
-            for (ManagerOtherConfigs otherConfigs : managers.getManagerOtherConfigs().values()) {
+            for (ManagerOtherConfigs otherConfigs : managers.nonnullManagerOtherConfigs().values()) {
                 if (HA_CHILDREN.equals(otherConfigs.getOtherConfigKey())) {
                     String nodeIdsVal = otherConfigs.getOtherConfigValue();
                     if (nodeIdsVal != null) {
@@ -417,7 +417,7 @@ public final class HwvtepHAUtil {
         if (!switchesAlreadyPresent) {
             HwvtepGlobalAugmentation augmentation = childNode.augmentation(HwvtepGlobalAugmentation.class);
             if (augmentation != null && augmentation.getSwitches() != null) {
-                List<Switches> src = new ArrayList<Switches>(augmentation.getSwitches().values());
+                List<Switches> src = new ArrayList<Switches>(augmentation.nonnullSwitches().values());
                 if (src != null && src.size() > 0) {
                     psList.add(new SwitchesCmd().transform(haNodePath, src.get(0)));
                 }
@@ -473,7 +473,7 @@ public final class HwvtepHAUtil {
             return;
         }
         HashMap<InstanceIdentifier<Node>,Boolean> deleted = new HashMap<>();
-        Map<SwitchesKey, Switches> switches = globalAugmentation.getSwitches();
+        Map<SwitchesKey, Switches> switches = globalAugmentation.nonnullSwitches();
         if (switches != null) {
             for (Switches switche : switches.values()) {
                 InstanceIdentifier<Node> psId = (InstanceIdentifier<Node>)switche.getSwitchRef().getValue();
@@ -487,7 +487,7 @@ public final class HwvtepHAUtil {
         if (topologyOptional.isPresent()) {
             Topology topology = topologyOptional.get();
             if (topology.getNode() != null) {
-                for (Node psNode : topology.getNode().values()) {
+                for (Node psNode : topology.nonnullNode().values()) {
                     PhysicalSwitchAugmentation ps = psNode.augmentation(PhysicalSwitchAugmentation.class);
                     if (ps != null) {
                         InstanceIdentifier<Node> iid = (InstanceIdentifier<Node>)ps.getManagedBy().getValue();
index 0695d5d18ce826fcb225d8d5a5284e27ccc52591..3c20df7bd7064317f21fe163f7f747f93792da71 100644 (file)
@@ -36,7 +36,7 @@ public class LocalMcastCmd
     @Nullable
     public List<LocalMcastMacs> getData(HwvtepGlobalAugmentation node) {
         if (node != null && node.getLocalMcastMacs() != null) {
-            return new ArrayList<LocalMcastMacs>(node.getLocalMcastMacs().values());
+            return new ArrayList<LocalMcastMacs>(node.nonnullLocalMcastMacs().values());
         }
         return null;
     }
index 0a7cd9c4d3d84404c16d4faac98905fa4082e79c..1050431cab107e3c3d9c0251fccedcacae5ed09b 100644 (file)
@@ -35,7 +35,7 @@ public class LocalUcastCmd
     @Nullable
     public List<LocalUcastMacs> getData(HwvtepGlobalAugmentation node) {
         if (node != null && node.getLocalUcastMacs() != null) {
-            return new ArrayList<LocalUcastMacs>(node.getLocalUcastMacs().values());
+            return new ArrayList<LocalUcastMacs>(node.nonnullLocalUcastMacs().values());
         }
         return null;
     }
index fd41e14eaaec38381bb8677e4111ef03baf148ce..91dc8160cd741f74ce364e4259c66e1f79d5ec9e 100644 (file)
@@ -29,7 +29,7 @@ public class LogicalSwitchesCmd extends MergeCommand<LogicalSwitches,
     @Nullable
     public List<LogicalSwitches> getData(HwvtepGlobalAugmentation node) {
         if (node != null && node.getLogicalSwitches() != null) {
-            return new ArrayList<LogicalSwitches>(node.getLogicalSwitches().values());
+            return new ArrayList<LogicalSwitches>(node.nonnullLogicalSwitches().values());
         }
         return null;
     }
index 26a8124d30d771c8ff8200eb12e57f6e47caf6d3..68cb859731cc2afeeb946e1a72e1c379279129d9 100644 (file)
@@ -27,7 +27,7 @@ public class PhysicalLocatorCmd extends MergeCommand<TerminationPoint, NodeBuild
     @Nullable
     public List<TerminationPoint> getData(Node node) {
         if (node != null && node.getTerminationPoint() != null) {
-            return new ArrayList<TerminationPoint>(node.getTerminationPoint().values());
+            return new ArrayList<TerminationPoint>(node.nonnullTerminationPoint().values());
         }
         return null;
     }
index 3b53aca5fc8e8881e590d71fc652f6d8e24987a5..bd3aec2ad9ba9da30f42baa867aca51608907a46 100644 (file)
@@ -35,8 +35,8 @@ public class RemoteMcastCmd extends
     @Override
     @Nullable
     public List<RemoteMcastMacs> getData(HwvtepGlobalAugmentation augmentation) {
-        if (augmentation != null && augmentation.getRemoteMcastMacs() != null) {
-            return new ArrayList<RemoteMcastMacs>(augmentation.getRemoteMcastMacs().values());
+        if (augmentation != null && augmentation.nonnullRemoteMcastMacs() != null) {
+            return new ArrayList<RemoteMcastMacs>(augmentation.nonnullRemoteMcastMacs().values());
         }
         return null;
     }
index ec5d3db5e8b4ad356236b0d2d62f902b46c34133..d6edb66489fcdbd82a7e9b9da43331d37613528e 100644 (file)
@@ -33,8 +33,8 @@ public class RemoteUcastCmd extends MergeCommand<RemoteUcastMacs,
     @Override
     @Nullable
     public List<RemoteUcastMacs> getData(HwvtepGlobalAugmentation node) {
-        if (node != null && node.getRemoteUcastMacs() != null) {
-            return new ArrayList<RemoteUcastMacs>(node.getRemoteUcastMacs().values());
+        if (node != null && node.nonnullRemoteUcastMacs() != null) {
+            return new ArrayList<RemoteUcastMacs>(node.nonnullRemoteUcastMacs().values());
         }
         return null;
     }
index 6d9bdce37b61be39818fcfe3676cbb06dd166b41..8e7b7e2b3a0ee45ffe4aa980ef0d7f5d07d54824 100644 (file)
@@ -28,8 +28,8 @@ public class SwitchesCmd extends MergeCommand<Switches, HwvtepGlobalAugmentation
     @Override
     @Nullable
     public List<Switches> getData(HwvtepGlobalAugmentation node) {
-        if (node != null && node.getSwitches() != null) {
-            return new ArrayList<Switches>(node.getSwitches().values());
+        if (node != null && node.nonnullSwitches() != null) {
+            return new ArrayList<Switches>(node.nonnullSwitches().values());
         }
         return null;
     }
index 0d57aee5b43b2d12af2e2e736d12ed343fa5d37f..8f2bd38f6d5b18e75152e0e38838b44b9489ffba 100644 (file)
@@ -37,8 +37,8 @@ public class TerminationPointCmd extends MergeCommand<TerminationPoint, NodeBuil
     @Override
     @Nullable
     public List<TerminationPoint> getData(Node node) {
-        if (node != null && node.getTerminationPoint() != null) {
-            return new ArrayList<TerminationPoint>(node.getTerminationPoint().values());
+        if (node != null && node.nonnullTerminationPoint() != null) {
+            return new ArrayList<TerminationPoint>(node.nonnullTerminationPoint().values());
         }
         return null;
     }
@@ -72,7 +72,7 @@ public class TerminationPointCmd extends MergeCommand<TerminationPoint, NodeBuil
                 new HwvtepPhysicalPortAugmentationBuilder(augmentation);
 
         if (augmentation.getVlanBindings() != null && augmentation.getVlanBindings().size() > 0) {
-            tpAugmentationBuilder.setVlanBindings(augmentation.getVlanBindings().values().stream().map(
+            tpAugmentationBuilder.setVlanBindings(augmentation.nonnullVlanBindings().values().stream().map(
                 vlanBindings -> {
                     VlanBindingsBuilder vlanBindingsBuilder = new VlanBindingsBuilder(vlanBindings);
                     vlanBindingsBuilder.setLogicalSwitchRef(
@@ -109,10 +109,10 @@ public class TerminationPointCmd extends MergeCommand<TerminationPoint, NodeBuil
                 .augmentation(HwvtepPhysicalPortAugmentation.class);
         HwvtepPhysicalPortAugmentation origAugmentation = orig.augmentation(HwvtepPhysicalPortAugmentation.class);
 
-        List<VlanBindings> up
-                = updatedAugmentation != null ? new ArrayList<>(updatedAugmentation.getVlanBindings().values()) : null;
-        List<VlanBindings> or
-                = origAugmentation != null ? new ArrayList<>(origAugmentation.getVlanBindings().values()) : null;
+        List<VlanBindings> up = updatedAugmentation != null
+            ? new ArrayList<>(updatedAugmentation.nonnullVlanBindings().values()) : null;
+        List<VlanBindings> or = origAugmentation != null
+            ? new ArrayList<>(origAugmentation.nonnullVlanBindings().values()) : null;
         if (!areSameSize(up, or)) {
             return false;
         }
index 173bcf3e98ddd06a50ec76d4d9e83bc698d8163a..be4a842f90d6e5f4c69d188add378b3af9602c62 100644 (file)
@@ -31,8 +31,8 @@ public class TunnelCmd  extends MergeCommand<Tunnels, PhysicalSwitchAugmentation
     @Override
     @Nullable
     public List<Tunnels> getData(PhysicalSwitchAugmentation node) {
-        if (node != null && node.getTunnels() != null) {
-            return new ArrayList<Tunnels>(node.getTunnels().values());
+        if (node != null && node.nonnullTunnels() != null) {
+            return new ArrayList<Tunnels>(node.nonnullTunnels().values());
         }
         return null;
     }
index b3be62e396779d51e425985e6417594788327d1e..b4602a69009188c7e68f2dc51e6396930feedb52 100644 (file)
@@ -27,8 +27,8 @@ public class TunnelIpCmd extends
     @Override
     @Nullable
     public List<TunnelIps> getData(PhysicalSwitchAugmentation node) {
-        if (node != null && node.getTunnelIps() != null) {
-            return new ArrayList<TunnelIps>(node.getTunnelIps().values());
+        if (node != null && node.nonnullTunnelIps() != null) {
+            return new ArrayList<TunnelIps>(node.nonnullTunnelIps().values());
         }
         return null;
     }
index 3d94427aabe80b56c092989c46fec50d572b3d1d..6684285b654a591b253799fdbd3c32751975400c 100644 (file)
@@ -117,7 +117,7 @@ public class NodeConnectedHandler {
         LOG.info("HA ps node not present cleanup child {}" , childNode);
         HwvtepGlobalAugmentation augmentation = childNode.augmentation(HwvtepGlobalAugmentation.class);
         if (augmentation != null) {
-            Map<SwitchesKey, Switches> switches = augmentation.getSwitches();
+            Map<SwitchesKey, Switches> switches = augmentation.nonnullSwitches();
             if (switches != null) {
                 for (Switches ps : switches.values()) {
                     HwvtepHAUtil.deleteNodeIfPresent(tx, ps.getSwitchRef().getValue());
@@ -144,7 +144,7 @@ public class NodeConnectedHandler {
             return;
         }
         Map<SwitchesKey, Switches> keySwitchesMap
-                = childGlobalNode.augmentation(HwvtepGlobalAugmentation.class).getSwitches();
+                = childGlobalNode.augmentation(HwvtepGlobalAugmentation.class).nonnullSwitches();
         if (keySwitchesMap == null) {
             return;
         }
index 038c73201309d4d0058b8cb5eb2ad48ca4c937a6..08d2785fbfb824df8f872f419591db9c2e49a351 100644 (file)
@@ -236,13 +236,14 @@ public class HAOpNodeListener extends HwvtepNodeBaseListener<Operational> implem
         String childGlobalNodeId = childNode.getNodeId().getValue();
         List<InstanceIdentifier> childPsIids = new ArrayList<>();
         HwvtepGlobalAugmentation hwvtepGlobalAugmentation = childNode.augmentation(HwvtepGlobalAugmentation.class);
-        if (hwvtepGlobalAugmentation == null || HwvtepHAUtil.isEmpty(hwvtepGlobalAugmentation.getSwitches().values())) {
+        if (hwvtepGlobalAugmentation == null
+            || HwvtepHAUtil.isEmpty(hwvtepGlobalAugmentation.nonnullSwitches().values())) {
             haOpClusteredListener.getConnectedNodes()
                     .stream()
                     .filter((connectedIid) -> IS_PS_CHILD_TO_GLOBAL_NODE.test(childGlobalNodeId, connectedIid))
                     .forEach(childPsIids::add);
         } else {
-            hwvtepGlobalAugmentation.getSwitches().values().forEach(
+            hwvtepGlobalAugmentation.nonnullSwitches().values().forEach(
                 (switches) -> childPsIids.add(switches.getSwitchRef().getValue()));
         }
         if (childPsIids.isEmpty()) {
index 391ff14140031fce8a44e67ba300e9127f406e00..616003df1daf0613137649dedc8b8a01f00c9fe0 100644 (file)
@@ -126,10 +126,10 @@ public abstract class HwvtepNodeBaseListener<D extends Datastore>
         List<Managers> up = null;
         List<Managers> be = null;
         if (updatedAugmentaion != null) {
-            up = new ArrayList<Managers>(updatedAugmentaion.getManagers().values());
+            up = new ArrayList<Managers>(updatedAugmentaion.nonnullManagers().values());
         }
         if (beforeAugmentaion != null) {
-            be = new ArrayList<Managers>(beforeAugmentaion.getManagers().values());
+            be = new ArrayList<Managers>(beforeAugmentaion.nonnullManagers().values());
         }
 
         if (up != null) {
index 19d0cbadfd897ee294e2a2dffbccc8455d873880..c2758d057983ea99a6e9c8c0fbf0deb8e14f3bcb 100644 (file)
@@ -67,7 +67,7 @@ public final class ManagerListener extends AbstractClusteredAsyncDataTreeChangeL
         InstanceIdentifier<Node> parent = key.firstIdentifierOf(Node.class);
         if (managers.key().getTarget().getValue().contains(HwvtepHAUtil.MANAGER_KEY)
                 && managers.getManagerOtherConfigs() != null) {
-            managers.getManagerOtherConfigs().values().stream()
+            managers.nonnullManagerOtherConfigs().values().stream()
                 .filter(otherConfig -> otherConfig.key().getOtherConfigKey().contains(HwvtepHAUtil.HA_CHILDREN))
                 .flatMap(otherConfig -> Arrays.stream(otherConfig.getOtherConfigValue().split(",")))
                 .map(HwvtepHAUtil::convertToInstanceIdentifier)
index e53d8f34443ebfc9caf6063af88385ea64684aa5..296a275a68cbbe6a9a7cdb6b58b27659db323a16 100644 (file)
@@ -88,9 +88,9 @@ public class ElanInstanceEntityOwnershipListener implements EntityOwnershipListe
                                 elanDpnInterfacesInstanceIdentifier);
                         if (optional.isPresent() && optional.get().getElanDpnInterfacesList() != null) {
                             LOG.debug("Found elan dpn interfaces list");
-                            optional.get().getElanDpnInterfacesList().values().forEach(elanDpnInterfacesList -> {
+                            optional.get().nonnullElanDpnInterfacesList().values().forEach(elanDpnInterfacesList -> {
                                 Map<DpnInterfacesKey, DpnInterfaces> dpnInterfaces
-                                        = elanDpnInterfacesList.getDpnInterfaces();
+                                        = elanDpnInterfacesList.nonnullDpnInterfaces();
                                 InstanceIdentifier<ElanDpnInterfacesList> parentIid = InstanceIdentifier
                                         .builder(ElanDpnInterfaces.class).child(ElanDpnInterfacesList.class,
                                                 new ElanDpnInterfacesListKey(elanDpnInterfacesList
index 8e0baa8d98efe2d5c4eae1e457cc86238408651d..6ea9274691a12409d41c5e8b99073d1209333970 100644 (file)
@@ -82,7 +82,7 @@ public class HwvtepPhysicalSwitchListener
                         globalIid.firstKeyOf(Node.class).getNodeId().getValue());
 
     private static final Predicate<PhysicalSwitchAugmentation> TUNNEL_IP_AVAILABLE =
-        phySwitch -> !HwvtepHAUtil.isEmpty(phySwitch.getTunnelIps().values());
+        phySwitch -> !HwvtepHAUtil.isEmpty(phySwitch.nonnullTunnelIps().values());
 
     private static final Predicate<PhysicalSwitchAugmentation> TUNNEL_IP_NOT_AVAILABLE = TUNNEL_IP_AVAILABLE.negate();
 
@@ -319,7 +319,7 @@ public class HwvtepPhysicalSwitchListener
             l2GwDevice.setConnected(true);
             l2GwDevice.setHwvtepNodeId(globalNodeId);
 
-            Map<TunnelIpsKey, TunnelIps> tunnelIps = phySwitchAdded.getTunnelIps();
+            Map<TunnelIpsKey, TunnelIps> tunnelIps = phySwitchAdded.nonnullTunnelIps();
             if (tunnelIps != null) {
                 for (TunnelIps tunnelIp : tunnelIps.values()) {
                     IpAddress tunnelIpAddr = tunnelIp.getTunnelIpsKey();
index 667bfe9aa72db36ae3929cea0fc9391f8bb79c10..bf5aceec22331d565e5d1f20419f92c464a8c139 100644 (file)
@@ -82,8 +82,8 @@ public class L2GatewayConnectionListener extends AbstractClusteredAsyncDataTreeC
 
     private static final Predicate<Node> IS_HA_PARENT_NODE = (node) -> {
         HwvtepGlobalAugmentation augmentation = node.augmentation(HwvtepGlobalAugmentation.class);
-        if (augmentation != null && augmentation.getManagers() != null) {
-            return augmentation.getManagers().values().stream().anyMatch(
+        if (augmentation != null && augmentation.nonnullManagers() != null) {
+            return augmentation.nonnullManagers().values().stream().anyMatch(
                 manager -> manager.key().getTarget().getValue().equals(HwvtepHAUtil.MANAGER_KEY));
         }
         return false;
@@ -187,7 +187,7 @@ public class L2GatewayConnectionListener extends AbstractClusteredAsyncDataTreeC
                 @Override
                 public void onSuccess(Optional<Topology> topologyOptional) {
                     if (topologyOptional != null && topologyOptional.isPresent()) {
-                        loadL2GwDeviceCache(new ArrayList<Node>(topologyOptional.get().getNode().values()));
+                        loadL2GwDeviceCache(new ArrayList<Node>(topologyOptional.get().nonnullNode().values()));
                     }
                     registerListener();
                 }
@@ -256,7 +256,7 @@ public class L2GatewayConnectionListener extends AbstractClusteredAsyncDataTreeC
         }
         if (optional.isPresent() && optional.get().getL2gatewayConnection() != null) {
             LOG.trace("Found some connections to fill in l2gw connection cache");
-            new ArrayList<>(optional.get().getL2gatewayConnection().values())
+            new ArrayList<>(optional.get().nonnullL2gatewayConnection().values())
                     .forEach(connection -> {
                         add(parentIid.child(L2gatewayConnection.class, connection.key()), connection);
                     });
@@ -271,7 +271,8 @@ public class L2GatewayConnectionListener extends AbstractClusteredAsyncDataTreeC
         l2GwDevice.setHwvtepNodeId(globalNode.getNodeId().getValue());
 
         List<TunnelIps> tunnelIps = psNode.augmentation(PhysicalSwitchAugmentation.class) != null
-                ? new ArrayList<>(psNode.augmentation(PhysicalSwitchAugmentation.class).getTunnelIps().values()) : null;
+                ? new ArrayList<>(psNode.augmentation(PhysicalSwitchAugmentation.class)
+            .nonnullTunnelIps().values()) : null;
         if (tunnelIps != null) {
             for (TunnelIps tunnelIp : tunnelIps) {
                 IpAddress tunnelIpAddr = tunnelIp.getTunnelIpsKey();
index f0a01e055f6330a8379abd8003de50b8a7f41741..891e2f4408b738e6bd8ebab79c913767b2b9e250 100644 (file)
@@ -168,7 +168,7 @@ public class L2GatewayListener extends AbstractClusteredAsyncDataTreeChangeListe
         jobCoordinator.enqueueJob("l2gw.update", () -> {
             ListenableFuture<Void> future = txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> {
                 DeviceInterfaces updatedDeviceInterfaces = new DeviceInterfaces(update);
-                original.getDevices().values()
+                original.nonnullDevices().values()
                         .stream()
                         .filter((originalDevice) -> originalDevice.getInterfaces() != null)
                         .forEach((originalDevice) -> {
@@ -176,7 +176,7 @@ public class L2GatewayListener extends AbstractClusteredAsyncDataTreeChangeListe
                             L2GatewayDevice l2GwDevice = l2GatewayCache.get(deviceName);
                             NodeId physicalSwitchNodeId = HwvtepSouthboundUtils.createManagedNodeId(
                                     new NodeId(l2GwDevice.getHwvtepNodeId()), deviceName);
-                            originalDevice.getInterfaces().values()
+                            originalDevice.nonnullInterfaces().values()
                                     .stream()
                                     .filter((intf) -> !updatedDeviceInterfaces.containsInterface(
                                             deviceName, intf.getInterfaceName()))
@@ -287,11 +287,11 @@ public class L2GatewayListener extends AbstractClusteredAsyncDataTreeChangeListe
         Map<String, Map<String, Interfaces>> deviceInterfacesMap = new HashMap<>();
 
         DeviceInterfaces(L2gateway l2gateway) {
-            if (l2gateway.getDevices() != null) {
-                l2gateway.getDevices().values().forEach((device) -> {
+            if (l2gateway.nonnullDevices() != null) {
+                l2gateway.nonnullDevices().values().forEach((device) -> {
                     deviceInterfacesMap.putIfAbsent(device.getDeviceName(), new HashMap<>());
-                    if (device.getInterfaces() != null) {
-                        device.getInterfaces().values().forEach((intf) ->
+                    if (device.nonnullInterfaces() != null) {
+                        device.nonnullInterfaces().values().forEach((intf) ->
                                 deviceInterfacesMap.get(device.getDeviceName()).put(intf.getInterfaceName(), intf));
                     }
                 });
index 380e59380661ba6797e80b269808e357fea98ac0..c0680d171caa1f3c317d2a4ec8fbdff426bba3e2 100644 (file)
@@ -250,8 +250,8 @@ public class LocalUcastMacListener extends ChildListener<Node, LocalUcastMacs, S
     private static Set<LocalUcastMacs> getMacs(@Nullable Node node) {
         if (node != null) {
             HwvtepGlobalAugmentation augmentation = node.augmentation(HwvtepGlobalAugmentation.class);
-            if (augmentation != null && augmentation.getLocalUcastMacs() != null) {
-                return new HashSet<>(augmentation.getLocalUcastMacs().values());
+            if (augmentation != null && augmentation.nonnullLocalUcastMacs() != null) {
+                return new HashSet<>(augmentation.nonnullLocalUcastMacs().values());
             }
         }
         return Collections.emptySet();
index dd289aa192acd3fa2003840afbe0b467153df20f..ba232cc6dcbfed47a22205faa47531ce705ad29d 100644 (file)
@@ -416,7 +416,7 @@ public class ElanL2GatewayMulticastUtils {
         if (operElanInstance == null) {
             return emptyList();
         }
-        Map<ExternalTepsKey, ExternalTeps> teps = operElanInstance.getExternalTeps();
+        Map<ExternalTepsKey, ExternalTeps> teps = operElanInstance.nonnullExternalTeps();
         if (teps == null || teps.isEmpty()) {
             return emptyList();
         }
index 91f9b88533ca0435f9abcfd3af709af949e5bb3e..06bc8b7cf9b11a2a1cdc81bef098af8ed29f775b 100644 (file)
@@ -183,8 +183,8 @@ public class ElanL2GatewayUtils {
         List<PhysAddress> result = new ArrayList<>();
         for (String interfaceName : lstElanInterfaceNames) {
             ElanInterfaceMac elanInterfaceMac = ElanUtils.getElanInterfaceMacByInterfaceName(broker, interfaceName);
-            if (elanInterfaceMac != null && elanInterfaceMac.getMacEntry() != null) {
-                for (MacEntry macEntry : new ArrayList<>(elanInterfaceMac.getMacEntry().values())) {
+            if (elanInterfaceMac != null && elanInterfaceMac.nonnullMacEntry() != null) {
+                for (MacEntry macEntry : new ArrayList<>(elanInterfaceMac.nonnullMacEntry().values())) {
                     result.add(macEntry.getMacAddress());
                 }
             }
@@ -527,9 +527,9 @@ public class ElanL2GatewayUtils {
                         if (configNode != null && configNode.isPresent()) {
                             HwvtepGlobalAugmentation augmentation = configNode.get().augmentation(
                                     HwvtepGlobalAugmentation.class);
-                            if (augmentation != null && augmentation.getLocalUcastMacs() != null) {
+                            if (augmentation != null && augmentation.nonnullLocalUcastMacs() != null) {
                                 macs.addAll(new ArrayList<>(augmentation
-                                        .getLocalUcastMacs().values()).stream()
+                                        .nonnullLocalUcastMacs().values()).stream()
                                         .filter(mac -> getLogicalSwitchName(mac).equals(elanName))
                                         .map(HwvtepMacTableGenericAttributes::getMacEntryKey)
                                         .collect(Collectors.toSet()));
@@ -621,7 +621,7 @@ public class ElanL2GatewayUtils {
         if (hwvtepNode != null) {
             Map<RemoteUcastMacsKey, RemoteUcastMacs> keyRemoteUcastMacsMap
                     = hwvtepNode.augmentation(HwvtepGlobalAugmentation.class)
-                    .getRemoteUcastMacs();
+                    .nonnullRemoteUcastMacs();
             if (keyRemoteUcastMacsMap != null && !keyRemoteUcastMacsMap.isEmpty()) {
                 // Filtering keyRemoteUcastMacsMap based on the logical switch and
                 // forming a list of MacAddress
@@ -739,7 +739,7 @@ public class ElanL2GatewayUtils {
             return lstRemoteUcastMacs;
         }
 
-        for (MacEntry macEntry : new ArrayList<>(macTable.getMacEntry().values())) {
+        for (MacEntry macEntry : new ArrayList<>(macTable.nonnullMacEntry().values())) {
             Uint64 dpnId = getDpidFromInterface(macEntry.getInterface());
             if (dpnId == null) {
                 LOG.error("DPN ID not found for interface {}", macEntry.getInterface());
@@ -811,7 +811,7 @@ public class ElanL2GatewayUtils {
         return txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> {
             for (org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712
                     .l2gateway.attributes.devices.Interfaces deviceInterface : new ArrayList<>(hwVtepDevice
-                    .getInterfaces().values())) {
+                    .nonnullInterfaces().values())) {
                 //Removed the check for checking terminationPoint present in OP or not
                 //for coniguring vlan bindings
                 //As we are not any more dependent on it , plugin takes care of this
@@ -878,7 +878,7 @@ public class ElanL2GatewayUtils {
         return txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> {
             for (org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712
                     .l2gateway.attributes.devices.Interfaces deviceInterface : new ArrayList<>(hwVtepDevice
-                    .getInterfaces().values())) {
+                    .nonnullInterfaces().values())) {
                 String phyPortName = deviceInterface.getInterfaceName();
                 if (deviceInterface.getSegmentationIds() != null && !deviceInterface.getSegmentationIds().isEmpty()) {
                     for (Integer vlanId : deviceInterface.getSegmentationIds()) {
@@ -997,7 +997,7 @@ public class ElanL2GatewayUtils {
             String psNodeId = globalNodeId + HwvtepHAUtil.PHYSICALSWITCH + psName;
             tzonesoptional.get().nonnullTransportZone().stream()
                 .filter(zone -> zone.getDeviceVteps() != null)
-                .flatMap(zone -> new ArrayList<>(zone.getDeviceVteps().values()).stream())
+                .flatMap(zone -> new ArrayList<>(zone.nonnullDeviceVteps().values()).stream())
                 .filter(deviceVteps -> Objects.equals(getPsName(deviceVteps), psName)) //get device with same ps name
                 .filter(deviceVteps -> !Objects.equals(psNodeId, deviceVteps.getNodeId())
                         || !Objects.equals(tunnelIp, deviceVteps.getIpAddress()))//node id or tunnel ip is changed
@@ -1144,7 +1144,7 @@ public class ElanL2GatewayUtils {
         if (configNode.isPresent()) {
             HwvtepGlobalAugmentation augmentation = configNode.get().augmentation(HwvtepGlobalAugmentation.class);
             if (augmentation != null && augmentation.getLocalUcastMacs() != null) {
-                macs.addAll(augmentation.getLocalUcastMacs().values().stream()
+                macs.addAll(augmentation.nonnullLocalUcastMacs().values().stream()
                         .filter(mac -> getLogicalSwitchName(mac).equals(elanName))
                         .map(HwvtepMacTableGenericAttributes::getMacEntryKey)
                         .collect(Collectors.toSet()));
index 663b78a0bfabca52f00ee6f6a7bf8493a6667f15..f91d1986b0f21cfeb8a7a77b3be19900b97b95b9 100644 (file)
@@ -148,7 +148,7 @@ public class L2GatewayConnectionUtils implements AutoCloseable {
         InstanceIdentifier<L2gateways> inst = InstanceIdentifier.create(Neutron.class).child(L2gateways.class);
         try {
             return new ArrayList<>((SingleTransactionDataBroker.syncReadOptional(broker,
-                    LogicalDatastoreType.CONFIGURATION, inst).map(L2gateways::getL2gateway)
+                    LogicalDatastoreType.CONFIGURATION, inst).map(L2gateways::nonnullL2gateway)
                     .orElse(emptyMap())).values());
         } catch (ExecutionException | InterruptedException e) {
             LOG.error("getNeutronL2gateway: Exception while reading L2gateway DS", e);
@@ -162,7 +162,7 @@ public class L2GatewayConnectionUtils implements AutoCloseable {
                 .child(L2gatewayConnections.class);
         try {
             return new ArrayList<>((SingleTransactionDataBroker.syncReadOptional(broker,
-                    LogicalDatastoreType.CONFIGURATION, inst).map(L2gatewayConnections::getL2gatewayConnection)
+                    LogicalDatastoreType.CONFIGURATION, inst).map(L2gatewayConnections::nonnullL2gatewayConnection)
                     .orElse(emptyMap())).values());
         } catch (ExecutionException | InterruptedException e) {
             LOG.error("getNeutronL2gateway: Exception while reading L2gateway DS", e);
@@ -278,8 +278,8 @@ public class L2GatewayConnectionUtils implements AutoCloseable {
             if (l2Gateway == null) {
                 LOG.error("Failed to find the l2gateway for the connection {}", input.getUuid());
                 return;
-            } else if (l2Gateway.getDevices() != null) {
-                l2gwDevicesToBeDeleted.addAll(l2Gateway.getDevices().values());
+            } else if (l2Gateway.nonnullDevices() != null) {
+                l2gwDevicesToBeDeleted.addAll(l2Gateway.nonnullDevices().values());
             }
         }
         for (Devices l2Device : l2gwDevicesToBeDeleted) {
@@ -318,7 +318,7 @@ public class L2GatewayConnectionUtils implements AutoCloseable {
         String elanName = elanInstance.getElanInstanceName();
         Integer defaultVlan = input.getSegmentId();
         Uuid l2GwConnId = input.key().getUuid();
-        Map<DevicesKey, Devices> l2Devices = l2Gateway.getDevices();
+        Map<DevicesKey, Devices> l2Devices = l2Gateway.nonnullDevices();
 
         LOG.trace("Associating ELAN {} with L2Gw Conn Id {} having below L2Gw devices {}", elanName, l2GwConnId,
                 l2Devices);
@@ -408,7 +408,7 @@ public class L2GatewayConnectionUtils implements AutoCloseable {
                         Node node = nodeOptional.get();
                         if (node.augmentation(HwvtepGlobalAugmentation.class) != null) {
                             Map<LocalUcastMacsKey, LocalUcastMacs> localUcastMacs =
-                                    node.augmentation(HwvtepGlobalAugmentation.class).getLocalUcastMacs();
+                                    node.augmentation(HwvtepGlobalAugmentation.class).nonnullLocalUcastMacs();
                             if (localUcastMacs == null) {
                                 return;
                             }
index f5a76c9db23a55840e970c37c9a6a15ce68ccd4d..48c7c2ef54d9f94356bbd37d83adf7d9909dfd27 100644 (file)
@@ -159,7 +159,7 @@ public class StaleVlanBindingsCleaner {
 
     private static Map<String, List<InstanceIdentifier<VlanBindings>>> getVlansByLogicalSwitchOnDevice(
             final Node configPsNode) {
-        Map<TerminationPointKey, TerminationPoint> ports = configPsNode.getTerminationPoint();
+        Map<TerminationPointKey, TerminationPoint> ports = configPsNode.nonnullTerminationPoint();
         if (ports == null) {
             return Collections.emptyMap();
         }
@@ -167,7 +167,7 @@ public class StaleVlanBindingsCleaner {
         ports.values().stream()
                 .filter(CONTAINS_VLANBINDINGS)
                 .forEach((port) -> port.augmentation(HwvtepPhysicalPortAugmentation.class)
-                        .getVlanBindings().values()
+                        .nonnullVlanBindings().values()
                         .forEach((binding) -> putVlanBindingVsLogicalSwitch(configPsNode, vlans, port, binding)));
         return vlans;
     }
@@ -211,7 +211,7 @@ public class StaleVlanBindingsCleaner {
             return Collections.emptyList();
         }
         return augmentation
-                .getLogicalSwitches().values()
+                .nonnullLogicalSwitches().values()
                 .stream()
                 .map((ls) -> ls.getHwvtepNodeName().getValue())
                 .collect(Collectors.toList());
index 0334efcf7ee0a4abad9c72a8ab7c11ab3cac41f1..1ba83a2b075bacbea3efadb5fc59b7d3cc0300e0 100644 (file)
@@ -213,7 +213,7 @@ public class ElanItmUtils {
                 Future<RpcResult<GetEgressActionsForTunnelOutput>> egressActionsOutputItm =
                         itmRpcService.getEgressActionsForTunnel(getEgressActInputItm);
                 if (egressActionsOutputItm.get().isSuccessful()) {
-                    return new ArrayList<Action>(egressActionsOutputItm.get().getResult().getAction().values());
+                    return new ArrayList<Action>(egressActionsOutputItm.get().getResult().nonnullAction().values());
                 }
             } else {
                 GetEgressActionsForInterfaceInput getEgressActInput = new GetEgressActionsForInterfaceInputBuilder()
@@ -221,7 +221,7 @@ public class ElanItmUtils {
                 Future<RpcResult<GetEgressActionsForInterfaceOutput>> egressActionsOutputFuture =
                         interfaceManagerRpcService.getEgressActionsForInterface(getEgressActInput);
                 if (egressActionsOutputFuture.get().isSuccessful()) {
-                    return new ArrayList<Action>(egressActionsOutputFuture.get().getResult().getAction().values());
+                    return new ArrayList<Action>(egressActionsOutputFuture.get().getResult().nonnullAction().values());
                 }
             }
         } catch (Exception e) {
index 975c12d8806cf10401f5469e8dfae825619c7794..9e04f6318f2bc6ca8ebe896d9dc5cc060bdd401d 100755 (executable)
@@ -882,7 +882,7 @@ public class ElanUtils {
         InstanceIdentifier<ElanDpnInterfacesList> elanIdentifier = getElanDpnOperationDataPath(elanInstanceName);
         try {
             return new ArrayList<DpnInterfaces>((SingleTransactionDataBroker.syncReadOptional(broker,
-                    LogicalDatastoreType.OPERATIONAL, elanIdentifier).map(ElanDpnInterfacesList::getDpnInterfaces)
+                    LogicalDatastoreType.OPERATIONAL, elanIdentifier).map(ElanDpnInterfacesList::nonnullDpnInterfaces)
                     .orElse(emptyMap())).values());
         } catch (ExecutionException | InterruptedException e) {
             LOG.error("getElanDPNByName: Exception while reading elanDpnInterfaceList DS for the elan "
@@ -1355,7 +1355,7 @@ public class ElanUtils {
     public List<ExternalTunnel> getAllExternalTunnels(LogicalDatastoreType datastoreType) {
         InstanceIdentifier<ExternalTunnelList> iid = InstanceIdentifier.builder(ExternalTunnelList.class).build();
         return new ArrayList<ExternalTunnel>(read(broker, datastoreType, iid).map(ExternalTunnelList
-                ::getExternalTunnel).orElse(Collections.emptyMap()).values());
+                ::nonnullExternalTunnel).orElse(Collections.emptyMap()).values());
     }
 
     public static List<MatchInfo> buildMatchesForElanTagShFlagAndDstMac(long elanTag, boolean shFlag, String macAddr) {
@@ -1447,7 +1447,7 @@ public class ElanUtils {
 
     private static boolean isVxlanSegment(@Nullable ElanInstance elanInstance) {
         if (elanInstance != null) {
-            Map<ElanSegmentsKey, ElanSegments> elanSegments = elanInstance.getElanSegments();
+            Map<ElanSegmentsKey, ElanSegments> elanSegments = elanInstance.nonnullElanSegments();
             if (elanSegments != null) {
                 for (ElanSegments segment : elanSegments.values()) {
                     if (segment != null && segment.getSegmentType().isAssignableFrom(SegmentTypeVxlan.class)
@@ -1476,7 +1476,7 @@ public class ElanUtils {
                 && elanInstance.getSegmentationId() != null && elanInstance.getSegmentationId().longValue() != 0) {
             segmentationId = elanInstance.getSegmentationId();
         } else {
-            for (ElanSegments segment: elanInstance.getElanSegments().values()) {
+            for (ElanSegments segment: elanInstance.nonnullElanSegments().values()) {
                 if (segment != null && segment.getSegmentType().isAssignableFrom(SegmentTypeVxlan.class)
                     && segment.getSegmentationId() != null
                     && segment.getSegmentationId().longValue() != 0) {
@@ -1640,7 +1640,7 @@ public class ElanUtils {
         if (macTable == null) {
             return emptyList();
         }
-        return new ArrayList<MacEntry>(macTable.getMacEntry().values());
+        return new ArrayList<MacEntry>(macTable.nonnullMacEntry().values());
     }
 
     public boolean isTunnelInLogicalGroup(String interfaceName) {
@@ -1691,7 +1691,7 @@ public class ElanUtils {
         Optional<Subnetmaps> subnetMapsData =
                 read(dataBroker, LogicalDatastoreType.CONFIGURATION, buildSubnetMapsWildCardPath());
         if (subnetMapsData.isPresent()) {
-            List<Subnetmap> subnetMapList = new ArrayList<>(subnetMapsData.get().getSubnetmap().values());
+            List<Subnetmap> subnetMapList = new ArrayList<>(subnetMapsData.get().nonnullSubnetmap().values());
             if (subnetMapList != null && !subnetMapList.isEmpty()) {
                 for (Subnetmap subnet : subnetMapList) {
                     if (subnet.getNetworkId().getValue().equals(elanInstanceName)) {
@@ -1738,8 +1738,8 @@ public class ElanUtils {
             LOG.debug("Buckets are not sent for group {}. Skipping merge operation", groupIdInfo);
             return;
         }
-        List<Bucket> newBuckets = new ArrayList<Bucket>(newGroup.getBuckets().getBucket().values());
-        List<Bucket> existingBuckets = new ArrayList<Bucket>(existingGroup.getBucket().values());
+        List<Bucket> newBuckets = new ArrayList<Bucket>(newGroup.getBuckets().nonnullBucket().values());
+        List<Bucket> existingBuckets = new ArrayList<Bucket>(existingGroup.nonnullBucket().values());
         Set<Bucket> toMergeBucketsWithoutId = new LinkedHashSet<>();
 
         existingBuckets.stream()
index 5ebc5ef68c5a7afe4886fffcc7601e587b9e90c6..79cb1d4560943ec4f876fee300e98b2f31ba0ea9 100644 (file)
@@ -353,7 +353,7 @@ public class TransportZoneNotificationUtil {
     }
 
     private List<String> getTepTransportZoneNames(TunnelEndPoints tep) {
-        List<TzMembership> tzMembershipList = new ArrayList<TzMembership>(tep.getTzMembership().values());
+        List<TzMembership> tzMembershipList = new ArrayList<TzMembership>(tep.nonnullTzMembership().values());
         if (tzMembershipList == null) {
             LOG.debug("No TZ membership exist for TEP ip {}", tep.getIpAddress().stringValue());
             return Collections.emptyList();
index 4a8e0ab6065327b08775a0c5b0a3e4346d08c781..4e5d4b3a7de21d5e2429fb67e591115d50a4586f 100644 (file)
@@ -54,7 +54,8 @@ public final class TestComparators {
     }
 
     public static void verifySwitches(Node globalOpNode, Node psOpNode) {
-        for (Switches switches : globalOpNode.augmentation(HwvtepGlobalAugmentation.class).getSwitches().values()) {
+        for (Switches switches : globalOpNode.augmentation(HwvtepGlobalAugmentation.class)
+            .nonnullSwitches().values()) {
             String switchValue = switches.getSwitchRef().getValue().firstKeyOf(Node.class).getNodeId().getValue();
             assertEquals("Switch Name should be equal", switchValue, psOpNode.getNodeId().getValue());
         }
@@ -66,11 +67,11 @@ public final class TestComparators {
         HwvtepGlobalAugmentation haAug = dst.augmentation(HwvtepGlobalAugmentation.class);
 
         List<LogicalSwitches> d1Values =
-                d1Aug.getLogicalSwitches() != null ? new ArrayList<LogicalSwitches>(d1Aug.getLogicalSwitches().values())
-                        : new ArrayList<>();
+                d1Aug.getLogicalSwitches() != null
+                    ? new ArrayList<LogicalSwitches>(d1Aug.nonnullLogicalSwitches().values()) : new ArrayList<>();
         List<LogicalSwitches> result1 = cmd.transform(nodePath, d1Values);
         List<LogicalSwitches> result2 = cmd.transform(nodePath,
-                new ArrayList<LogicalSwitches>(haAug.getLogicalSwitches().values()));
+                new ArrayList<LogicalSwitches>(haAug.nonnullLogicalSwitches().values()));
 
         Set<LogicalSwitches> set1 = Sets.newHashSet(result1);
         Set<LogicalSwitches> set2 = Sets.newHashSet(result2);
@@ -85,19 +86,19 @@ public final class TestComparators {
         HwvtepGlobalAugmentation haAug = ha.augmentation(HwvtepGlobalAugmentation.class);
 
         List<LogicalSwitches> d1Values =
-                d1Aug.getLogicalSwitches() != null ? new ArrayList<LogicalSwitches>(d1Aug.getLogicalSwitches().values())
-                        : new ArrayList<>();
+                d1Aug.getLogicalSwitches() != null
+                    ? new ArrayList<LogicalSwitches>(d1Aug.nonnullLogicalSwitches().values()) : new ArrayList<>();
         List<LogicalSwitches> result1 = cmd.transform(nodePath, d1Values);
         List<LogicalSwitches> d2Values =
-                d2Aug.getLogicalSwitches() != null ? new ArrayList<LogicalSwitches>(d2Aug.getLogicalSwitches().values())
-                        : new ArrayList<>();
+                d2Aug.getLogicalSwitches() != null
+                    ? new ArrayList<LogicalSwitches>(d2Aug.nonnullLogicalSwitches().values()) : new ArrayList<>();
         List<LogicalSwitches> result2 = cmd.transform(nodePath, d2Values);
         //Merge data of both d1 and d2 logical switch info should be same as ha
         Set<LogicalSwitches> set1 = new HashSet<>();
         set1.addAll(result1);
         set1.addAll(result2);
         List<LogicalSwitches> result = cmd.transform(nodePath,
-                new ArrayList<LogicalSwitches>(haAug.getLogicalSwitches().values()));
+                new ArrayList<LogicalSwitches>(haAug.nonnullLogicalSwitches().values()));
         Set<LogicalSwitches> set2 = Sets.newHashSet(result);
         assertEquals("should have equal logical switches", 0, Sets.symmetricDifference(set1, set2).size());
 
@@ -108,11 +109,11 @@ public final class TestComparators {
         HwvtepGlobalAugmentation d1Aug = src.augmentation(HwvtepGlobalAugmentation.class);
         HwvtepGlobalAugmentation haAug = dst.augmentation(HwvtepGlobalAugmentation.class);
         List<RemoteUcastMacs> d1Values =
-                d1Aug.getRemoteUcastMacs() != null ? new ArrayList<RemoteUcastMacs>(d1Aug.getRemoteUcastMacs().values())
-                        : new ArrayList<>();
+                d1Aug.getRemoteUcastMacs() != null
+                    ? new ArrayList<RemoteUcastMacs>(d1Aug.nonnullRemoteUcastMacs().values()) : new ArrayList<>();
         List<RemoteUcastMacs> result1 = cmd.transform(nodePath, d1Values);
         List<RemoteUcastMacs> result2 = cmd.transform(nodePath,
-                new ArrayList<RemoteUcastMacs>(haAug.getRemoteUcastMacs().values()));
+                new ArrayList<RemoteUcastMacs>(haAug.nonnullRemoteUcastMacs().values()));
 
         RemoteUcastMacs mac1 = result1.get(0);
         RemoteUcastMacs mac2 = result2.get(0);
@@ -130,19 +131,19 @@ public final class TestComparators {
         HwvtepGlobalAugmentation haAug = ha.augmentation(HwvtepGlobalAugmentation.class);
 
         List<RemoteUcastMacs> d1Values =
-                d1Aug.getRemoteUcastMacs() != null ? new ArrayList<RemoteUcastMacs>(d1Aug.getRemoteUcastMacs().values())
-                        : new ArrayList<>();
+                d1Aug.getRemoteUcastMacs() != null
+                    ? new ArrayList<RemoteUcastMacs>(d1Aug.nonnullRemoteUcastMacs().values()) : new ArrayList<>();
         List<RemoteUcastMacs> result1 = cmd.transform(nodePath, d1Values);
 
         List<RemoteUcastMacs> d2Values =
-                d2Aug.getRemoteUcastMacs() != null ? new ArrayList<RemoteUcastMacs>(d2Aug.getRemoteUcastMacs().values())
-                        : new ArrayList<>();
+                d2Aug.getRemoteUcastMacs() != null
+                    ? new ArrayList<RemoteUcastMacs>(d2Aug.nonnullRemoteUcastMacs().values()) : new ArrayList<>();
         List<RemoteUcastMacs> result2 = cmd.transform(nodePath, d2Values);
         List<RemoteUcastMacs> ruMacList = new ArrayList<>();
         ruMacList.addAll(result1);
         ruMacList.addAll(result2);
         List<RemoteUcastMacs> result = cmd.transform(nodePath,
-                new ArrayList<RemoteUcastMacs>(haAug.getRemoteUcastMacs().values()));
+                new ArrayList<RemoteUcastMacs>(haAug.nonnullRemoteUcastMacs().values()));
 
         Set<RemoteUcastMacs> set1 = Sets.newHashSet(ruMacList);
         Set<RemoteUcastMacs> set2 = Sets.newHashSet(result);
@@ -155,11 +156,11 @@ public final class TestComparators {
         HwvtepGlobalAugmentation d1Aug = src.augmentation(HwvtepGlobalAugmentation.class);
         HwvtepGlobalAugmentation haAug = dst.augmentation(HwvtepGlobalAugmentation.class);
         List<RemoteMcastMacs> d1Values =
-                d1Aug.getRemoteMcastMacs() != null ? new ArrayList<RemoteMcastMacs>(d1Aug.getRemoteMcastMacs().values())
-                        : new ArrayList<>();
+                d1Aug.getRemoteMcastMacs() != null
+                    ? new ArrayList<RemoteMcastMacs>(d1Aug.nonnullRemoteMcastMacs().values()) : new ArrayList<>();
         List<RemoteMcastMacs> result1 = cmd.transform(nodePath, d1Values);
         List<RemoteMcastMacs> result2 = cmd.transform(nodePath,
-                new ArrayList<RemoteMcastMacs>(haAug.getRemoteMcastMacs().values()));
+                new ArrayList<RemoteMcastMacs>(haAug.nonnullRemoteMcastMacs().values()));
 
         Set<RemoteMcastMacs> set1 = Sets.newHashSet(result1);
         Set<RemoteMcastMacs> set2 = Sets.newHashSet(result2);
@@ -174,20 +175,20 @@ public final class TestComparators {
         HwvtepGlobalAugmentation haAug = ha.augmentation(HwvtepGlobalAugmentation.class);
 
         List<RemoteMcastMacs> d1Values =
-                d1Aug.getRemoteMcastMacs() != null ? new ArrayList<RemoteMcastMacs>(d1Aug.getRemoteMcastMacs().values())
-                        : new ArrayList<>();
+                d1Aug.getRemoteMcastMacs() != null
+                    ? new ArrayList<RemoteMcastMacs>(d1Aug.nonnullRemoteMcastMacs().values()) : new ArrayList<>();
         List<RemoteMcastMacs> result1 = cmd.transform(nodePath, d1Values);
 
         List<RemoteMcastMacs> d2Values =
-                d2Aug.getRemoteMcastMacs() != null ? new ArrayList<RemoteMcastMacs>(d2Aug.getRemoteMcastMacs().values())
-                        : new ArrayList<>();
+                d2Aug.getRemoteMcastMacs() != null
+                    ? new ArrayList<RemoteMcastMacs>(d2Aug.nonnullRemoteMcastMacs().values()) : new ArrayList<>();
         List<RemoteMcastMacs> result2 = cmd.transform(nodePath, d2Values);
         List<RemoteMcastMacs> rmMacList = new ArrayList<>();
         rmMacList.addAll(result1);
         rmMacList.addAll(result2);
 
         List<RemoteMcastMacs> result = cmd.transform(nodePath,
-                new ArrayList<RemoteMcastMacs>(haAug.getRemoteMcastMacs().values()));
+                new ArrayList<RemoteMcastMacs>(haAug.nonnullRemoteMcastMacs().values()));
 
         Set<RemoteMcastMacs> set1 = Sets.newHashSet(rmMacList);
         Set<RemoteMcastMacs> set2 = Sets.newHashSet(result);
@@ -200,11 +201,11 @@ public final class TestComparators {
         HwvtepGlobalAugmentation d1Aug = src.augmentation(HwvtepGlobalAugmentation.class);
         HwvtepGlobalAugmentation haAug = dst.augmentation(HwvtepGlobalAugmentation.class);
         List<LocalUcastMacs> d1Values =
-                d1Aug.getLocalUcastMacs() != null ? new ArrayList<LocalUcastMacs>(d1Aug.getLocalUcastMacs().values())
-                        : new ArrayList<>();
+                d1Aug.getLocalUcastMacs() != null
+                    ? new ArrayList<LocalUcastMacs>(d1Aug.nonnullLocalUcastMacs().values()) : new ArrayList<>();
         List<LocalUcastMacs> result1 = cmd.transform(nodePath, d1Values);
         List<LocalUcastMacs> result2 = cmd.transform(nodePath,
-                new ArrayList<LocalUcastMacs>(haAug.getLocalUcastMacs().values()));
+                new ArrayList<LocalUcastMacs>(haAug.nonnullLocalUcastMacs().values()));
 
         Set<LocalUcastMacs> set1 = Sets.newHashSet(result1);
         Set<LocalUcastMacs> set2 = Sets.newHashSet(result2);
@@ -219,16 +220,16 @@ public final class TestComparators {
         HwvtepGlobalAugmentation haAug = ha.augmentation(HwvtepGlobalAugmentation.class);
 
         List<LocalUcastMacs> d1Values =
-                d1Aug.getLocalUcastMacs() != null ? new ArrayList<LocalUcastMacs>(d1Aug.getLocalUcastMacs().values())
-                        : new ArrayList<>();
+                d1Aug.getLocalUcastMacs() != null
+                    ? new ArrayList<LocalUcastMacs>(d1Aug.nonnullLocalUcastMacs().values()) : new ArrayList<>();
         List<LocalUcastMacs> result1 = cmd.transform(nodePath, d1Values);
         List<LocalUcastMacs> d2Values =
-                d2Aug.getLocalUcastMacs() != null ? new ArrayList<LocalUcastMacs>(d2Aug.getLocalUcastMacs().values())
-                        : new ArrayList<>();
+                d2Aug.getLocalUcastMacs() != null
+                    ? new ArrayList<LocalUcastMacs>(d2Aug.nonnullLocalUcastMacs().values()) : new ArrayList<>();
         List<LocalUcastMacs> result2 = cmd.transform(nodePath, d2Values);
 
         List<LocalUcastMacs> result = cmd.transform(nodePath,
-                new ArrayList<LocalUcastMacs>(haAug.getLocalUcastMacs().values()));
+                new ArrayList<LocalUcastMacs>(haAug.nonnullLocalUcastMacs().values()));
 
         List<LocalUcastMacs> luMacList = new ArrayList<>();
         luMacList.addAll(result1);
@@ -244,11 +245,11 @@ public final class TestComparators {
         HwvtepGlobalAugmentation d1Aug = src.augmentation(HwvtepGlobalAugmentation.class);
         HwvtepGlobalAugmentation haAug = dst.augmentation(HwvtepGlobalAugmentation.class);
         List<LocalMcastMacs> d1Values =
-                d1Aug.getLocalUcastMacs() != null ? new ArrayList<LocalMcastMacs>(d1Aug.getLocalMcastMacs().values())
-                        : new ArrayList<>();
+                d1Aug.getLocalUcastMacs() != null
+                    ? new ArrayList<LocalMcastMacs>(d1Aug.nonnullLocalMcastMacs().values()) : new ArrayList<>();
         List<LocalMcastMacs> result1 = cmd.transform(nodePath, d1Values);
         List<LocalMcastMacs> result2 = cmd.transform(nodePath,
-                new ArrayList<LocalMcastMacs>(haAug.getLocalMcastMacs().values()));
+                new ArrayList<LocalMcastMacs>(haAug.nonnullLocalMcastMacs().values()));
 
         Set<LocalMcastMacs> set1 = Sets.newHashSet(result1);
         Set<LocalMcastMacs> set2 = Sets.newHashSet(result2);
@@ -262,16 +263,16 @@ public final class TestComparators {
         HwvtepGlobalAugmentation d2Aug = d2.augmentation(HwvtepGlobalAugmentation.class);
         HwvtepGlobalAugmentation haAug = ha.augmentation(HwvtepGlobalAugmentation.class);
         List<LocalMcastMacs> d1Values =
-                d1Aug.getLocalUcastMacs() != null ? new ArrayList<LocalMcastMacs>(d1Aug.getLocalMcastMacs().values())
-                        : new ArrayList<>();
+                d1Aug.nonnullLocalMcastMacs() != null
+                    ? new ArrayList<LocalMcastMacs>(d1Aug.nonnullLocalMcastMacs().values()) : new ArrayList<>();
         List<LocalMcastMacs> result1 = cmd.transform(nodePath, d1Values);
         List<LocalMcastMacs> d2Values =
-                d2Aug.getLocalUcastMacs() != null ? new ArrayList<LocalMcastMacs>(d2Aug.getLocalMcastMacs().values())
-                        : new ArrayList<>();
+                d2Aug.nonnullLocalMcastMacs() != null
+                    ? new ArrayList<LocalMcastMacs>(d2Aug.nonnullLocalMcastMacs().values()) : new ArrayList<>();
         List<LocalMcastMacs> result2 = cmd.transform(nodePath, d2Values);
 
         List<LocalMcastMacs> result = cmd.transform(nodePath,
-                new ArrayList<LocalMcastMacs>(haAug.getLocalMcastMacs().values()));
+                new ArrayList<LocalMcastMacs>(haAug.nonnullLocalMcastMacs().values()));
 
         List<LocalMcastMacs> lmMacList = new ArrayList<>();
         lmMacList.addAll(result1);
@@ -309,15 +310,15 @@ public final class TestComparators {
                 managerhaPs.getValue().firstKeyOf(Node.class).getNodeId().getValue() + "/physicalswitch/" + switchName);
 
         assertEquals("Should have equal number TunnelIps",
-                d1PsAug.getTunnelIps().size(), haPsAug.getTunnelIps().size());
+                d1PsAug.nonnullTunnelIps().size(), haPsAug.nonnullTunnelIps().size());
         assertEquals("Should have equal number TunnelIps",
-                d2PsAug.getTunnelIps().size(), haPsAug.getTunnelIps().size());
-        if (d1PsAug.getTunnelIps().size() == haPsAug.getTunnelIps().size()
-                && d2PsAug.getTunnelIps().size() == haPsAug.getTunnelIps().size()) {
-            assertTrue(d1PsAug.getTunnelIps().values().containsAll(
-                    new ArrayList<TunnelIps>(haPsAug.getTunnelIps().values())));
-            assertTrue(d2PsAug.getTunnelIps().values().containsAll(
-                    new ArrayList<TunnelIps>(haPsAug.getTunnelIps().values())));
+                d2PsAug.nonnullTunnelIps().size(), haPsAug.nonnullTunnelIps().size());
+        if (d1PsAug.nonnullTunnelIps().size() == haPsAug.nonnullTunnelIps().size()
+                && d2PsAug.nonnullTunnelIps().size() == haPsAug.nonnullTunnelIps().size()) {
+            assertTrue(d1PsAug.nonnullTunnelIps().values().containsAll(
+                    new ArrayList<TunnelIps>(haPsAug.nonnullTunnelIps().values())));
+            assertTrue(d2PsAug.nonnullTunnelIps().values().containsAll(
+                    new ArrayList<TunnelIps>(haPsAug.nonnullTunnelIps().values())));
         }
 
         //Compare Termination point
@@ -345,11 +346,11 @@ public final class TestComparators {
         assertEquals("Managers should be equal for ha ", haps.getNodeId().getValue(),
                 managerhaPs.getValue().firstKeyOf(Node.class).getNodeId().getValue() + "/physicalswitch/" + switchName);
 
-        assertEquals("Should have equal number TunnelIps", d1PsAug.getTunnelIps().size(),
-                haPsAug.getTunnelIps().size());
-        if (d1PsAug.getTunnelIps().size() == haPsAug.getTunnelIps().size()) {
-            assertTrue(d1PsAug.getTunnelIps().values().containsAll(
-                    new ArrayList<TunnelIps>(haPsAug.getTunnelIps().values())));
+        assertEquals("Should have equal number TunnelIps", d1PsAug.nonnullTunnelIps().size(),
+                haPsAug.nonnullTunnelIps().size());
+        if (d1PsAug.nonnullTunnelIps().size() == haPsAug.nonnullTunnelIps().size()) {
+            assertTrue(d1PsAug.nonnullTunnelIps().values().containsAll(
+                    new ArrayList<TunnelIps>(haPsAug.nonnullTunnelIps().values())));
         }
 
         //Compare Termination point
@@ -379,9 +380,9 @@ public final class TestComparators {
                     hwvtepPhysicalPortAugmentationHa.getHwvtepNodeName());
 
             List<VlanBindings> vlanBindingsesD
-                    = new ArrayList<VlanBindings>(hwvtepPhysicalPortAugmentationD.getVlanBindings().values());
+                    = new ArrayList<VlanBindings>(hwvtepPhysicalPortAugmentationD.nonnullVlanBindings().values());
             List<VlanBindings> vlanBindingsesHa
-                    = new ArrayList<VlanBindings>(hwvtepPhysicalPortAugmentationHa.getVlanBindings().values());
+                    = new ArrayList<VlanBindings>(hwvtepPhysicalPortAugmentationHa.nonnullVlanBindings().values());
             assertEquals("Size of VlanBindings should be same", vlanBindingsesD.size(), vlanBindingsesHa.size());
 
             List<Integer> vlanKeysD = new ArrayList<>();
index 1eeae4269180dde82afd040806b3acd083b06b99..9012efc1a20753213616bf725921539fbac84156 100644 (file)
@@ -54,8 +54,8 @@ final class TestUtil {
 
     static void verifyHAconfigNode(Node haConfig, Node d1Node) {
         String haid = new ArrayList<ManagerOtherConfigs>(new ArrayList<Managers>(haConfig
-                .augmentation(HwvtepGlobalAugmentation.class).getManagers().values())
-                .get(0).getManagerOtherConfigs().values()).get(0).getOtherConfigValue();
+                .augmentation(HwvtepGlobalAugmentation.class).nonnullManagers().values())
+                .get(0).nonnullManagerOtherConfigs().values()).get(0).getOtherConfigValue();
         String d1id = d1Node.getNodeId().getValue();
         assertEquals("Other config should contain D1 as child manager", haid, d1id);
     }
index 6ca6dba0b40538cdc46806f8b373be5eb985572b..01c423f0f14f5a8dde6c23e605f4bd90f1bbdc0b 100644 (file)
@@ -287,7 +287,7 @@ public class ElanServiceTestBase {
         Instructions instructions = flowBuilder.getInstructions();
         InstructionsBuilder builder = new InstructionsBuilder();
         InstructionBuilder instructionBuilder = new InstructionBuilder(
-                new ArrayList<Instruction>(instructions.getInstruction().values()).get(0));
+                new ArrayList<Instruction>(instructions.nonnullInstruction().values()).get(0));
         instructionBuilder.setInstruction(sortActions(instructionBuilder.getInstruction()));
         builder.setInstruction(Lists.newArrayList(instructionBuilder.build()));
         return flowBuilder.setInstructions(builder.build()).build();
@@ -297,7 +297,7 @@ public class ElanServiceTestBase {
         sortActions(org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.Instruction input) {
         if (input instanceof  ApplyActionsCase) {
             List<Action> action = new ArrayList<Action>(((ApplyActionsCase)input)
-                    .getApplyActions().getAction().values());
+                    .getApplyActions().nonnullAction().values());
             action.sort(Comparator.comparing(Ordered::getOrder));
 
             ApplyActions actions = new ApplyActionsBuilder().setAction(action).build();
index 2a31e13724627b5f3858afaedba7a9c799d097e8..cbcf6925c3809c6b6242af805868bd3473a026f0 100644 (file)
@@ -127,7 +127,7 @@ public class Verifications {
                 }
             }
             boolean remoteMcastFoundFlag = false;
-            for (RemoteMcastMacs remoteMcastMacs : augmentation.getRemoteMcastMacs().values()) {
+            for (RemoteMcastMacs remoteMcastMacs : augmentation.nonnullRemoteMcastMacs().values()) {
                 for (LocatorSet locatorSet : remoteMcastMacs.getLocatorSet()) {
                     TpId tpId = locatorSet.getLocatorRef().getValue().firstKeyOf(TerminationPoint.class).getTpId();
                     if (tpId.getValue().contains(tepIp)) {
@@ -171,7 +171,7 @@ public class Verifications {
                 }
             }
             boolean remoteUcastFoundFlag = false;
-            for (RemoteUcastMacs remoteUcastMacs : augmentation.getRemoteUcastMacs().values()) {
+            for (RemoteUcastMacs remoteUcastMacs : augmentation.nonnullRemoteUcastMacs().values()) {
                 String mac = remoteUcastMacs.getMacEntryKey().getValue();
                 if (mac.equals(dpnMac)) {
                     remoteUcastFoundFlag = true;
@@ -202,7 +202,7 @@ public class Verifications {
                         .setTunnelKey(elanInfo.getElanTag().longValue() + ElanConstants.ELAN_TAG_ADDEND).build();
                 List<Action> actionsList =
                         new ArrayList<Action>(odlInterfaceRpcService.getEgressActionsForInterface(getEgressActInput)
-                                .get().getResult().getAction().values());
+                                .get().getResult().nonnullAction().values());
                 listBucketInfo.add(MDSALUtil.buildBucket(actionsList, MDSALUtil.GROUP_WEIGHT, bucketId,
                         MDSALUtil.WATCH_PORT, MDSALUtil.WATCH_GROUP));
 
@@ -217,7 +217,7 @@ public class Verifications {
                         .setTunnelKey(elanInfo.getSegmentationId()).build();
                 List<Action> actionsList =
                         new ArrayList<Action>(odlInterfaceRpcService.getEgressActionsForInterface(getEgressActInput)
-                                .get().getResult().getAction().values());
+                                .get().getResult().nonnullAction().values());
                 listBucketInfo.add(MDSALUtil.buildBucket(actionsList, MDSALUtil.GROUP_WEIGHT, bucketId,
                         MDSALUtil.WATCH_PORT, MDSALUtil.WATCH_GROUP));
 
@@ -261,8 +261,10 @@ public class Verifications {
             AssertDataObjects.assertEqualBeans(expected, actual);
         }
 
-        Set<Bucket> actualBuckets = modifyBucketId(new ArrayList<Bucket>(actual.getBuckets().getBucket().values()));
-        Set<Bucket> expectedBuckets = modifyBucketId(new ArrayList<Bucket>(expected.getBuckets().getBucket().values()));
+        Set<Bucket> actualBuckets = modifyBucketId(new ArrayList<Bucket>(actual.getBuckets()
+            .nonnullBucket().values()));
+        Set<Bucket> expectedBuckets = modifyBucketId(new ArrayList<Bucket>(expected.getBuckets()
+            .nonnullBucket().values()));
         Set<Bucket> diff = Sets.difference(actualBuckets, expectedBuckets);
         if (diff != null && !diff.isEmpty()) {
             AssertDataObjects.assertEqualBeans(expected, actual);