Blob Blame History Raw
diff -Nru json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/JsonMethods.scala json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/JsonMethods.scala
--- json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/JsonMethods.scala	2014-02-17 18:58:53.000000000 +0100
+++ json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/JsonMethods.scala	2015-08-09 07:53:35.132228673 +0200
@@ -1,7 +1,7 @@
 package org.json4s
 package jackson
 
-import com.fasterxml.jackson.databind.{ObjectMapper, DeserializationFeature}
+import com.fasterxml.jackson.databind.{ObjectWriter, JsonNode, ObjectMapper, DeserializationFeature}
 import util.control.Exception.allCatch
 
 trait JsonMethods extends org.json4s.JsonMethods[JValue] {
@@ -32,7 +32,7 @@
   def compact(d: JValue): String = mapper.writeValueAsString(d)
 
   def pretty(d: JValue): String = {
-    val writer = mapper.writerWithDefaultPrettyPrinter()
+    val writer = mapper.writerWithDefaultPrettyPrinter[ObjectWriter]()
     writer.writeValueAsString(d)
   }
 
diff -Nru json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Json.scala json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Json.scala
--- json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Json.scala	2014-02-17 18:58:53.000000000 +0100
+++ json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Json.scala	2015-08-09 07:50:12.847985408 +0200
@@ -1,7 +1,7 @@
 package org.json4s
 package jackson
 
-import com.fasterxml.jackson.databind.ObjectMapper
+import com.fasterxml.jackson.databind.{ObjectWriter, ObjectMapper}
 import java.io.{Writer => JWriter}
 
 object Json {
@@ -19,10 +19,10 @@
   }
 
   def writePretty[A <: AnyRef](a: A): String =
-    mapper.writerWithDefaultPrettyPrinter.writeValueAsString(decompose(a))
+    mapper.writerWithDefaultPrettyPrinter[ObjectWriter].writeValueAsString(decompose(a))
 
   def writePretty[A <: AnyRef, W <: JWriter](a: A, out: W): W = {
-    mapper.writerWithDefaultPrettyPrinter.writeValue(out, decompose(a))
+    mapper.writerWithDefaultPrettyPrinter[ObjectWriter].writeValue(out, decompose(a))
     out
   }
 
diff -Nru json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Serialization.scala json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Serialization.scala
--- json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Serialization.scala	2014-02-17 18:58:53.000000000 +0100
+++ json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Serialization.scala	2015-08-09 07:57:41.502345554 +0200
@@ -1,6 +1,8 @@
 package org.json4s
 package jackson
 
+import com.fasterxml.jackson.databind.ObjectWriter
+
 import scala.reflect.Manifest
 import java.io.OutputStream
 
@@ -35,12 +37,12 @@
   /** Serialize to String (pretty format).
    */
   def writePretty[A <: AnyRef](a: A)(implicit formats: Formats): String =
-    JsonMethods.mapper.writerWithDefaultPrettyPrinter().writeValueAsString(Extraction.decompose(a)(formats))
+    JsonMethods.mapper.writerWithDefaultPrettyPrinter[ObjectWriter].writeValueAsString(Extraction.decompose(a)(formats))
 
   /** Serialize to Writer (pretty format).
    */
   def writePretty[A <: AnyRef, W <: Writer](a: A, out: W)(implicit formats: Formats): W = {
-    JsonMethods.mapper.writerWithDefaultPrettyPrinter.writeValue(out, Extraction.decompose(a)(formats))
+    JsonMethods.mapper.writerWithDefaultPrettyPrinter[ObjectWriter].writeValue(out, Extraction.decompose(a)(formats))
     out
   }
 
diff -Nru json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Types.scala json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Types.scala
--- json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Types.scala	2014-02-17 18:58:53.000000000 +0100
+++ json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Types.scala	2015-08-09 08:00:31.848129300 +0200
@@ -17,9 +17,11 @@
     if (manifest.erasure.isArray) {
       ArrayType.construct(factory.constructType(manifest.erasure.getComponentType), null, null)
     } else {
-      factory.constructParametricType(
-        manifest.erasure,
-        manifest.typeArguments.map {m => build(factory, m)}.toArray: _*)
+      val clazz = manifest.runtimeClass
+      factory.constructParametrizedType(
+        clazz,
+        clazz,
+        manifest.typeArguments.map (m => build(factory, m)): _*)
     }
   }
 }