From 8a4fdde354fe26795f6a5a0ffb2601d7e55a2b05 Mon Sep 17 00:00:00 2001 From: Subhashni Balakrishnan Date: Thu, 3 May 2018 14:29:04 -0700 Subject: [PATCH] DATACOUCH-376 - Apply custom conversions for collection elements Original Pull Request: #164. --- .../data/couchbase/core/convert/MappingCouchbaseConverter.java | 2 +- .../couchbase/core/mapping/MappingCouchbaseConverterTests.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java b/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java index 52eac27c..4093455e 100644 --- a/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java +++ b/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java @@ -660,7 +660,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter Class elementType = element == null ? null : element.getClass(); if (elementType == null || conversions.isSimpleType(elementType)) { - target.put(element); + target.put(getPotentiallyConvertedSimpleWrite(element)); } else if (element instanceof Collection || elementType.isArray()) { target.put(writeCollectionInternal(asCollection(element), new CouchbaseList(conversions.getSimpleTypeHolder()), componentType)); } else { diff --git a/src/test/java/org/springframework/data/couchbase/core/mapping/MappingCouchbaseConverterTests.java b/src/test/java/org/springframework/data/couchbase/core/mapping/MappingCouchbaseConverterTests.java index c4c9d5cd..a11621ec 100644 --- a/src/test/java/org/springframework/data/couchbase/core/mapping/MappingCouchbaseConverterTests.java +++ b/src/test/java/org/springframework/data/couchbase/core/mapping/MappingCouchbaseConverterTests.java @@ -413,6 +413,9 @@ public class MappingCouchbaseConverterTests { mapOfValuesDoc.put("val1", valueStr); mapOfValuesDoc.put("val2", value2Str); source.put("mapOfValues", mapOfValuesDoc); + + assertEquals(((CouchbaseList)converted.getPayload().get("listOfValues")).get(0), valueStr); + assertEquals(((CouchbaseList)converted.getPayload().get("listOfValues")).get(1), value2Str); assertEquals(source.export().toString(), converted.export().toString()); CustomEntity readConverted = converter.read(CustomEntity.class, source);