DATAMONGO-2155 - Bypass mapping for already mapped updates.
We now make sure that mapped updates (as in doSaveVersioned and doUpdate) are mapped only once as mapping is required only once. Mapping already mapped query/update objects comes with undesired side-effects such as following invalid property paths or reduction of type information availability.
We now make sure to map key/value pairs of Map like properties to the values domain type, and apply potentially registered custom converters to the keys.
Fixed invalid test for DATAMONGO-1423 as this one did not check the application of the registered converter.
Original pull request: #625.
pull/635/head
Christoph Strobl7 years agocommitted byMark Paluch
@ -1384,7 +1385,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware,
@@ -1384,7 +1385,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware,
@ -1580,7 +1581,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware,
@@ -1580,7 +1581,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware,
@ -118,6 +118,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
@@ -118,6 +118,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
@MockFindIterable<Document>findIterable;
@MockAggregateIterableaggregateIterable;
@MockMapReduceIterablemapReduceIterable;
@MockUpdateResultupdateResult;
DocumentcommandResultDocument=newDocument();
@ -139,6 +140,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
@@ -139,6 +140,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
@ -157,7 +159,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
@@ -157,7 +159,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
@ -951,6 +953,27 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
@@ -951,6 +953,27 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
@ -288,7 +288,7 @@ public class DocumentAssert extends AbstractMapAssert<DocumentAssert, Map<String
@@ -288,7 +288,7 @@ public class DocumentAssert extends AbstractMapAssert<DocumentAssert, Map<String
@ -316,6 +316,17 @@ public class DocumentAssert extends AbstractMapAssert<DocumentAssert, Map<String
@@ -316,6 +316,17 @@ public class DocumentAssert extends AbstractMapAssert<DocumentAssert, Map<String