From 8c24c641b47b00a2c11fd95003153d622929e115 Mon Sep 17 00:00:00 2001 From: Mark Hellkamp Date: Fri, 7 Sep 2012 15:03:42 -0700 Subject: [PATCH] Fixed issue with deserializing empty collections and sets. --- .../webmvc/json/RepositoryAwareJacksonModule.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/RepositoryAwareJacksonModule.java b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/RepositoryAwareJacksonModule.java index 8a7f97a3f..a231d92b3 100644 --- a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/RepositoryAwareJacksonModule.java +++ b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/RepositoryAwareJacksonModule.java @@ -282,12 +282,10 @@ public class RepositoryAwareJacksonModule extends SimpleModule implements Initia } if((tok = jp.nextToken()) == JsonToken.START_ARRAY) { - // advance past the start_array token - jp.nextToken(); - do { + while((tok = jp.nextToken()) != JsonToken.END_ARRAY) { Object cval = jp.readValueAs(attrMeta.elementType()); c.add(cval); - } while((tok = jp.nextToken()) != JsonToken.END_ARRAY); + } val = c; @@ -303,12 +301,10 @@ public class RepositoryAwareJacksonModule extends SimpleModule implements Initia } if((tok = jp.nextToken()) == JsonToken.START_ARRAY) { - // advance past the start_array token - jp.nextToken(); - do { + while((tok = jp.nextToken()) != JsonToken.END_ARRAY) { Object sval = jp.readValueAs(attrMeta.elementType()); s.add(sval); - } while((tok = jp.nextToken()) != JsonToken.END_ARRAY); + } val = s;