From 75b9e748f4b230c6d215f199192d7a24b57e4340 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Sun, 5 Mar 2017 11:40:08 +1300 Subject: [PATCH] #985 - IllegalArgumentException when using @DbArray of type List with @ChangeLog --- .../ebeaninternal/server/text/json/DJsonScalar.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/io/ebeaninternal/server/text/json/DJsonScalar.java b/src/main/java/io/ebeaninternal/server/text/json/DJsonScalar.java index 1b347be23..3e9ed8da8 100644 --- a/src/main/java/io/ebeaninternal/server/text/json/DJsonScalar.java +++ b/src/main/java/io/ebeaninternal/server/text/json/DJsonScalar.java @@ -5,6 +5,7 @@ import io.ebeaninternal.server.type.TypeManager; import com.fasterxml.jackson.core.JsonGenerator; import java.io.IOException; +import java.util.List; /** * Default implementation of JsonScalar. @@ -23,6 +24,18 @@ public class DJsonScalar { if (value instanceof String) { gen.writeString((String) value); + } else if (value instanceof List) { + // expected for @DbArray values + List list = (List)value; + gen.writeRaw('['); + for (int i = 0; i < list.size(); i++) { + if (i > 0) { + gen.writeRaw(','); + } + write(gen, list.get(i)); + } + gen.writeRaw(']'); + } else { ScalarType scalarType = typeManager.getScalarType(value.getClass()); if (scalarType == null) {