Browse Source

DATAMONGO-1423 - Polishing.

Orignal pull request: #365.
pull/663/head
Oliver Gierke 10 years ago
parent
commit
185b85b9dd
  1. 15
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java
  2. 1
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/UpdateMapperUnitTests.java

15
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java

@ -993,21 +993,30 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App @@ -993,21 +993,30 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App
}
if (obj instanceof DBObject) {
DBObject newValueDbo = new BasicDBObject();
for (String vk : ((DBObject) obj).keySet()) {
Object o = ((DBObject) obj).get(vk);
newValueDbo.put(vk, convertToMongoType(o, typeHint));
}
return newValueDbo;
}
if (obj instanceof Map) {
Map<Object, Object> converted = new LinkedHashMap<Object, Object>();
for (Map.Entry<Object, Object> entry : ((Map<Object, Object>) obj).entrySet()) {
converted.put(convertToMongoType(entry.getKey()), convertToMongoType(entry.getValue(),
typeHint != null && typeHint.getMapValueType() != null ? typeHint.getMapValueType() : typeHint));
for (Entry<Object, Object> entry : ((Map<Object, Object>) obj).entrySet()) {
TypeInformation<? extends Object> valueTypeHint = typeHint != null && typeHint.getMapValueType() != null
? typeHint.getMapValueType() : typeHint;
converted.put(convertToMongoType(entry.getKey()), convertToMongoType(entry.getValue(), valueTypeHint));
}
return new BasicDBObject(converted);
}

1
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/UpdateMapperUnitTests.java

@ -861,6 +861,7 @@ public class UpdateMapperUnitTests { @@ -861,6 +861,7 @@ public class UpdateMapperUnitTests {
* @see DATAMONGO-1423
*/
@Test
@SuppressWarnings("unchecked")
public void mappingShouldConsiderCustomConvertersForEnumMapKeys() {
CustomConversions conversions = new CustomConversions(

Loading…
Cancel
Save