Prevent NPE from being propagated from LazyDataObject 24/77624/4
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 8 Nov 2018 14:09:49 +0000 (15:09 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 8 Nov 2018 14:33:21 +0000 (15:33 +0100)
Rather than incurring a NPE when we fail to find proper
NodeContextSupplier, add an explicit verifyNotNull() check to
throw a more explanatory VerifyException.

Change-Id: Ieed6d050bccfe482f69152b33a9a84bbe20037c2
JIRA: MDSAL-18
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java

index 584ea26a6e6e9454a46c6de5cb45786a2323a286..63d4a2cf8cedb31eaf9ef5b05c310a166c14b4fe 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.mdsal.binding.dom.codec.impl;
 
 import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Verify.verifyNotNull;
 
 import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableMap;
@@ -365,7 +366,8 @@ abstract class DataObjectCodecContext<D extends DataObject, T extends DataNodeCo
 
     @SuppressWarnings("rawtypes")
     Object getBindingChildValue(final Method method, final NormalizedNodeContainer domData) {
-        final NodeCodecContext<?> childContext = byMethod.get(method).get();
+        final NodeCodecContext<?> childContext = verifyNotNull(byMethod.get(method),
+            "Cannot find data handler for method %s", method).get();
         @SuppressWarnings("unchecked")
         final Optional<NormalizedNode<?, ?>> domChild = domData.getChild(childContext.getDomPathArgument());