Bug 8982: avoid .transform() NPEs 75/59875/10
authorStephen Kitt <skitt@redhat.com>
Mon, 3 Jul 2017 13:12:25 +0000 (15:12 +0200)
committerSam Hague <shague@redhat.com>
Fri, 18 Aug 2017 16:01:30 +0000 (16:01 +0000)
commitf85cbd886f28c02a631843a1efa5db949c0ce4b9
tree1dc1e66ee50fbbefbc12a55b7feacf4a3ce4ee5f
parenta11c698aa079fc48cfacf4259b3cd743583adb71
Bug 8982: avoid .transform() NPEs

Guava’s Optional::transform doesn’t support null values returned by
the mapping function — it throws a NPE if that happens. java.util’s
Optional::map does support null values and returns an empty Optional.
Combined with the current YANG-based code’s ability to return null,
this means it’s better to use java.util’s method; this patch switches
all YANG-based Optional transforms to java.util.

Change-Id: I304762b8eed03480760d36ae6903cdb495bd7b05
Signed-off-by: Stephen Kitt <skitt@redhat.com>
19 files changed:
vpnservice/bgpmanager/bgpmanager-impl/src/main/java/org/opendaylight/netvirt/bgpmanager/FibDSWriter.java
vpnservice/cloud-servicechain/cloud-servicechain-impl/src/main/java/org/opendaylight/netvirt/cloudservicechain/utils/VpnServiceChainUtils.java
vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInstanceManager.java
vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java
vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/L2GatewayConnectionUtils.java
vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanUtils.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibRpcServiceImpl.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibUtil.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/NexthopManager.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/cli/DisplayNaptSwithcesCli.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/FloatingIPListener.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NaptManager.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatEvpnUtil.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java
vpnservice/policyservice/impl/src/main/java/org/opendaylight/netvirt/policyservice/util/PolicyServiceUtil.java
vpnservice/qosservice/impl/src/main/java/org/opendaylight/netvirt/qosservice/QosInterfaceStateChangeListener.java
vpnservice/sfc/classifier/impl/src/main/java/org/opendaylight/netvirt/sfc/classifier/providers/SfcProvider.java
vpnservice/sfc/classifier/impl/src/main/java/org/opendaylight/netvirt/sfc/classifier/service/domain/impl/ConfigurationClassifierImpl.java
vpnservice/vpnmanager/vpnmanager-api/src/main/java/org/opendaylight/netvirt/vpnmanager/api/VpnExtraRouteHelper.java