Merge "Do not rely on transitive dependencies"
[yangtools.git] / yang / yang-data-codec-gson / src / main / java / org / opendaylight / yangtools / yang / data / codec / gson / JSONCodecFactory.java
index 8ee9517ec2db90f976aa64e5b26a883abe3a7c4e..c99d46404885c0b6c9b9e04dc24a64e0dbe0106f 100644 (file)
@@ -12,7 +12,8 @@ import com.google.common.base.Preconditions;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
-
+import com.google.gson.stream.JsonWriter;
+import java.io.IOException;
 import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
@@ -45,6 +46,12 @@ public final class JSONCodecFactory {
         public boolean needQuotes() {
             return false;
         }
+
+        @Override
+        public void serializeToWriter(JsonWriter writer, Object value) throws IOException {
+            // NOOP since codec is unkwown.
+            LOG.warn("Call of the serializeToWriter method on JSONCodecFactory.NULL_CODEC object. No operation performed.");
+        }
     };
 
     private static TypeDefinition<?> resolveBaseTypeFrom(final TypeDefinition<?> type) {
@@ -78,7 +85,7 @@ public final class JSONCodecFactory {
                 return NULL_CODEC;
             }
 
-            return AbstractJSONCodec.create(codec);
+            return (JSONCodec<Object>) AbstractJSONCodec.create(codec);
         }
     });