DATACOUCH-376 - Apply custom conversions for collection elements
Original Pull Request: #164.
This commit is contained in:
@@ -664,7 +664,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter
|
|||||||
Class<?> elementType = element == null ? null : element.getClass();
|
Class<?> elementType = element == null ? null : element.getClass();
|
||||||
|
|
||||||
if (elementType == null || conversions.isSimpleType(elementType)) {
|
if (elementType == null || conversions.isSimpleType(elementType)) {
|
||||||
target.put(element);
|
target.put(getPotentiallyConvertedSimpleWrite(element));
|
||||||
} else if (element instanceof Collection || elementType.isArray()) {
|
} else if (element instanceof Collection || elementType.isArray()) {
|
||||||
target.put(writeCollectionInternal(asCollection(element), new CouchbaseList(conversions.getSimpleTypeHolder()), componentType));
|
target.put(writeCollectionInternal(asCollection(element), new CouchbaseList(conversions.getSimpleTypeHolder()), componentType));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -417,6 +417,9 @@ public class MappingCouchbaseConverterTests {
|
|||||||
mapOfValuesDoc.put("val1", valueStr);
|
mapOfValuesDoc.put("val1", valueStr);
|
||||||
mapOfValuesDoc.put("val2", value2Str);
|
mapOfValuesDoc.put("val2", value2Str);
|
||||||
source.put("mapOfValues", mapOfValuesDoc);
|
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());
|
assertEquals(source.export().toString(), converted.export().toString());
|
||||||
|
|
||||||
CustomEntity readConverted = converter.read(CustomEntity.class, source);
|
CustomEntity readConverted = converter.read(CustomEntity.class, source);
|
||||||
|
|||||||
Reference in New Issue
Block a user