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)): _*)
}
}
}