Adapted changes in Spring Data Commons. Adapted test cases accordingly. Introduced SimpleMongoMappingContext that that reflects the meta-model assumptions in SimpleMongoConverter. Adapted repository factories accordingly as we can now assume that there is a MappingContext available always.
Refactored QueryMapper to be stateless so that we don't need to recreate instances of it. Added unit tests to verify id property to key mapping and type conversion to ObjectId.
Polished MappingTests to simply drop the database after all test were finished to make sure it starts with a clean state on a potential next run.
Added necessary dependencies, repository and APT processor plugin. Added QueryDslPredicateExecutor and a QueryDsl specific sub-class of SimpleMongoRepository.
Adapted MongoRepositoryFactory to use new QueryDslRepository implementation when a repository interface extends QueryDslPredicateExecutor. Added AnnotationProcessor to create query classes from QueryDsl annotations.
Todo's left open:
- move common QueryDsl integration code into Spring Data commons (see TODOs in the sourcecode)
Added keyword interpretation as well as examples and test cases. Fixed bug in Criteria where a typo caused an invalid operator being used for not-in ($min -> $nin).