Optimize Binding->NormalizedNode transforms
[transportpce.git] / networkmodel / src / test / java / org / opendaylight / transportpce / networkmodel / util / test / JsonUtil.java
index 714216face8091ee7e5e293cfc0d1dcbd1e94c3a..fdafae5db7499af913020de75ff8a6737ab3f5f2 100644 (file)
@@ -11,6 +11,7 @@ import com.google.gson.stream.JsonReader;
 import java.io.IOException;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map.Entry;
 import java.util.ServiceLoader;
 import org.opendaylight.mdsal.binding.dom.adapter.CurrentAdapterSerializer;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
@@ -18,6 +19,7 @@ import org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext;
 import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext;
 import org.opendaylight.mdsal.binding.runtime.spi.BindingRuntimeHelpers;
 import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.YangModelBindingProvider;
 import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -68,11 +70,9 @@ public final class JsonUtil {
                         JSONCodecFactorySupplier.RFC7951.getShared(schemaCtx));) {
             jsonParser.parse(reader);
             YangInstanceIdentifier yangId = YangInstanceIdentifier.of(pathQname);
-            if (codecRegistry.fromNormalizedNode(yangId, result.getResult()) != null) {
-                return codecRegistry.fromNormalizedNode(yangId, result.getResult()).getValue();
-            } else {
-                return null;
-            }
+            Entry<InstanceIdentifier<?>, DataObject> entry =
+                codecRegistry.fromNormalizedNode(yangId, result.getResult());
+            return entry == null ? null : entry.getValue();
         } catch (IOException | IllegalArgumentException e) {
             LOG.error("Cannot deserialize JSON ", e);
             return null;