Corda JSON module now created in a separate function to the default mapper.

This commit is contained in:
Clinton Alexander 2016-12-16 14:51:12 +00:00
parent 008fcf50fd
commit fa1e7cfa15

View File

@ -32,6 +32,24 @@ object JsonSupport {
mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS)
mapper.registerModule(createJavaTimeModule())
mapper.registerModule(createCordaModule())
mapper.registerModule(KotlinModule())
return mapper
}
fun createJavaTimeModule(): Module {
val timeModule = SimpleModule("java.time")
timeModule.apply {
addSerializer(LocalDate::class.java, ToStringSerializer)
addDeserializer(LocalDate::class.java, LocalDateDeserializer)
addKeyDeserializer(LocalDate::class.java, LocalDateKeyDeserializer)
addSerializer(LocalDateTime::class.java, ToStringSerializer)
}
return timeModule
}
fun createCordaModule(): Module {
val cordaModule = SimpleModule("core")
cordaModule.addSerializer(Party::class.java, PartySerializer)
cordaModule.addDeserializer(Party::class.java, PartyDeserializer)
@ -56,21 +74,7 @@ object JsonSupport {
cordaModule.addSerializer(NodeInfo::class.java, NodeInfoSerializer)
cordaModule.addDeserializer(NodeInfo::class.java, NodeInfoDeserializer)
mapper.registerModule(createJavaTimeModule())
mapper.registerModule(cordaModule)
mapper.registerModule(KotlinModule())
return mapper
}
fun createJavaTimeModule(): Module {
val timeModule = SimpleModule("java.time")
timeModule.apply {
addSerializer(LocalDate::class.java, ToStringSerializer)
addDeserializer(LocalDate::class.java, LocalDateDeserializer)
addKeyDeserializer(LocalDate::class.java, LocalDateKeyDeserializer)
addSerializer(LocalDateTime::class.java, ToStringSerializer)
}
return timeModule
return cordaModule
}
class ServiceHubObjectMapper(val identities: IdentityService) : ObjectMapper()