Bump upstream dependencies to Potassium GA
[transportpce.git] / pce / src / test / java / org / opendaylight / transportpce / pce / utils / JsonUtil.java
index f53a3ad970bde86deed7242695ffcfcea23e803b..d516646f413b56869dac33a3049e3a480489d872 100644 (file)
@@ -11,12 +11,14 @@ 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.binding.runtime.api.BindingRuntimeContext;
-import org.opendaylight.binding.runtime.spi.BindingRuntimeHelpers;
 import org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext;
 import org.opendaylight.mdsal.binding.dom.codec.spi.BindingDOMCodecServices;
+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;
@@ -25,13 +27,12 @@ import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStre
 import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier;
 import org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter;
-import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult;
+import org.opendaylight.yangtools.yang.data.impl.schema.NormalizationResultHolder;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 
-
 public final class JsonUtil {
     private static final Logger LOG = LoggerFactory.getLogger(JsonUtil.class);
     private static JsonUtil instance;
@@ -59,22 +60,19 @@ public final class JsonUtil {
     }
 
     public DataObject getDataObjectFromJson(JsonReader reader, QName pathQname) {
-        NormalizedNodeResult result = new NormalizedNodeResult();
-        try (NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
+        NormalizationResultHolder resultHolder = new NormalizationResultHolder();
+        try (NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(resultHolder);
                 JsonParserStream jsonParser = JsonParserStream.create(streamWriter,
-                        JSONCodecFactorySupplier.RFC7951.getShared(schemaCtx), schemaCtx);) {
+                    JSONCodecFactorySupplier.RFC7951.getShared(schemaCtx));) {
             jsonParser.parse(reader);
             YangInstanceIdentifier yangId = YangInstanceIdentifier.of(pathQname);
-            if (bindingDOMCodecServices.fromNormalizedNode(yangId, result.getResult()) != null) {
-                return bindingDOMCodecServices.fromNormalizedNode(yangId, result.getResult()).getValue();
-            } else {
-                return null;
-            }
+            Entry<InstanceIdentifier<?>, DataObject> entry =
+                bindingDOMCodecServices.fromNormalizedNode(yangId, resultHolder.getResult().data());
+            return entry == null ? null : entry.getValue();
         } catch (IOException | IllegalArgumentException e) {
             LOG.error("Cannot deserialize JSON ", e);
             return null;
         }
-
     }
 
     public BindingDOMCodecServices getBindingDOMCodecServices() {