From: Florin Coras Date: Thu, 18 Jun 2015 08:55:49 +0000 (-0700) Subject: Bug 3798: Fix NPE when restoring dao from an empty mdsal datastore X-Git-Tag: release/beryllium~152 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F65%2F22865%2F1;p=lispflowmapping.git Bug 3798: Fix NPE when restoring dao from an empty mdsal datastore Change-Id: I14b53e1455fc653ced92906247f2d84232148135 Signed-off-by: Florin Coras (cherry picked from commit 0456793ff120dc7a643053efbf83dad240493697) --- diff --git a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/mdsal/DataStoreBackEnd.java b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/mdsal/DataStoreBackEnd.java index ce36c5ddb..ef05bf01f 100644 --- a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/mdsal/DataStoreBackEnd.java +++ b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/mdsal/DataStoreBackEnd.java @@ -117,7 +117,10 @@ public class DataStoreBackEnd { if (mdb != null) { for (InstanceId id : mdb.getInstanceId()) { - mappings.addAll(id.getMapping()); + List ms = id.getMapping(); + if (ms != null) { + mappings.addAll(ms); + } } } @@ -126,17 +129,20 @@ public class DataStoreBackEnd { public List getAllAuthenticationKeys() { LOG.debug("MD-SAL: Get all authentication keys from datastore"); - List keys = new ArrayList(); + List authKeys = new ArrayList(); InstanceIdentifier path = InstanceIdentifier.create(MappingDatabase.class); MappingDatabase mdb = readTransaction(path, LogicalDatastoreType.CONFIGURATION); if (mdb != null) { for (InstanceId id : mdb.getInstanceId()) { - keys.addAll(id.getAuthenticationKey()); + List keys = id.getAuthenticationKey(); + if (keys != null) { + authKeys.addAll(keys); + } } } - return keys; + return authKeys; } private boolean writePutTransaction(