From fa1e7cfa1596ba72526c306ab14bd126fde5cbfb Mon Sep 17 00:00:00 2001 From: Clinton Alexander Date: Fri, 16 Dec 2016 14:51:12 +0000 Subject: [PATCH] Corda JSON module now created in a separate function to the default mapper. --- .../net/corda/node/utilities/JsonSupport.kt | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/node/src/main/kotlin/net/corda/node/utilities/JsonSupport.kt b/node/src/main/kotlin/net/corda/node/utilities/JsonSupport.kt index 4a1bf2c8b9..ad7919027c 100644 --- a/node/src/main/kotlin/net/corda/node/utilities/JsonSupport.kt +++ b/node/src/main/kotlin/net/corda/node/utilities/JsonSupport.kt @@ -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()