From 53426d849372b2941be17b3aa889d6675a7ebe44 Mon Sep 17 00:00:00 2001 From: icode Date: Thu, 24 Aug 2017 05:35:36 -0500 Subject: [PATCH] use jackson configuration [SD]eserialization enum (#1079) * use jackson configuration [SD]eserialization enum https://github.com/FasterXML/jackson-databind/wiki/Serialization-features https://github.com/FasterXML/jackson-databind/wiki/Deserialization-Features keep jackson and ebean [SD]eserialization same `objectMapper.enable(SerializationFeature.WRITE_ENUMS_USING_INDEX);` * Update ScalarTypeEnumStandard.java * Update ScalarTypeEnumStandard.java * Update ScalarTypeEnumStandard.java * Update ScalarTypeEnumStandard.java --- .../server/type/ScalarTypeEnumStandard.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/ebeaninternal/server/type/ScalarTypeEnumStandard.java b/src/main/java/io/ebeaninternal/server/type/ScalarTypeEnumStandard.java index aff4d7678..76b91a12c 100644 --- a/src/main/java/io/ebeaninternal/server/type/ScalarTypeEnumStandard.java +++ b/src/main/java/io/ebeaninternal/server/type/ScalarTypeEnumStandard.java @@ -233,12 +233,20 @@ public class ScalarTypeEnumStandard { @Override public Object jsonRead(JsonParser parser) throws IOException { - return parse(parser.getValueAsString()); + if(parser.getCodec() != null) { + return parser.readValueAs(enumType); + } else { + return parse(parser.getValueAsString()); + } } @Override public void jsonWrite(JsonGenerator writer, Object value) throws IOException { - writer.writeString(formatValue(value)); + if(writer.getCodec() != null) { + writer.writeObject(value); + } else { + writer.writeString(formatValue(value)); + } } @Override