DATAMONGO-408 - Added StringToWriteConverter for XML setup convenience.

When using a PropertyPlaceHolderConfigurer to set WriteConcerns on a MongoFactoryBean just like this:

<bean class="….mongodb.core.MongoFactoryBean">
  <property name="writeConcern" value="${mongodb.writeConcern}"/>
</bean>

we might create invalid WriteConcerns as the BeanFactory will use the WriteConcern's constructor taking a String to create the instance by default. To make Spring use the valueOf(…) method in advance one needs to register either our already existing WriteConcernPropertyEditor or the newly introduced StringToWriteConcernConverter in Springs ConversionService.
DATAMONGO-411 - Double check type of PersistentEntity for index creation.

The Spring container does not check nested generic types of the type parameter of  ApplicationEvent<T>. As T is parameterized in our case as well (PersistentEntity<…, …>) we can code an event listener against that fully parameterized type but might run into ClassCastExceptions as we might get other implementations handed into the method at runtime. We now do an instanceof check to safely invoke checkForIndexes(…) only in case we get the correct event type.
DATAMONGO-394 - Upgrade to Querydsl 2.3.2.
DATAMONGO-382 - Fixed potential ClassCastException in MappingMongoConverter.

MappingMongoConverter's convertToMongoType(…) now deals with Sets (and more generally all Collections) correctly.
DATAMONGO-360 - Fixed index information creation for geo indexes.

Fixed a ClassCastException that occurred because we didn't consider index information of geo indexes (they return "2d" as direction). Introduced new IndexField abstraction that supersedes the fieldSpec Map in IndexInfo.
Fixed some architecture inconsistencies.

Updated Sonargraph architecture description file to include GridFS subsystem. Moved QueryMapper into convert subsystem. Polished MongoRepository interface. Let SimpleMongoRepository implement MongoRepository.
DATAMONGO-273, DATAMONGO-294 - Re-enabled accidentally disabled test case.
DATAMONGO-412 - General overhaul of the JavaConfig base class.

Refactored JavaConfig base class to reflect the XML namespace a bit more closely (esp. regarding configuration of custom converters and thus registering "simple" types). Prevent duplicate invocation of getUserCredentials(). Added JavaDoc to explain which configuration methods use which other ones to ease detailed configuration.
DATAMONGO-402 - Adapt new entity instantiation API.

Adapt to the entity instantiation API refactored to be able to cope with non-static member classes.
DATAMONGO-366 - Polished reference documentation.

Fixed link to bug tracker. Polished docbook files a bit.
DATAMONGO-356 - CDI integration for Mongo repositories.
DATAMONGO-413 - Fixed bug in MongoQueryCreator.

MongoQueryCreator used the outdated OrQuery class to concatenate parts with OR. Refactored the class to use the Criteria.orOperator(…) method. Removed OrQuery class as it is deprecated in the 1.0.x branch.
DATAMONGO-360 - Beautify IndexInfo API.

Added a method to IndexInfo to allow asking the object whether it is an index with a given collection of fields. Refactored RepositoryIndexCreationIntegrationTest to use that API to be more safe against potential duplicate index definitions.
DATAMONGO-347 - Derived repository queries now correctly resolve referenced DBRef properties.

Added toDBRef(…) method to MongoWriter to be able to create a DBRef representation of an object. Polished DBRef creation implementation inside MappingMongoConverter. Removed collection and id attributes from @DBRef annotation as they have neither been documented nor used so far. Refactored MongoQueryCreator to be aware of the property and convert the given value into a DBRef if necessary.
DATAMONGO-418 - Added support for StartingWith, EndingWith and Containing keywords.
DATAMONGO-422 - Fixed invalid UUID conversion.

Removed UUIDToBinaryConverter and BinaryToUUIDConverter as the MongoDB Java driver can handle it itself. Added UUID as Mongo-simple type. Added integration test for reading and writing a UUID property.
DATAMONGO-181 - Improved resource handling for Mongo instance.

SimpleMongoDbFactory now only closes the Mongo instance if it created it itself. Removed public getter for WriteConcern and hold a UserCredentials instead of its parts. Uses improved UserCredentials API introduced in DATACMNS-142.
DATAMONGO-425 - Fixed parameter binding for Dates and manually defined queries.

Replaced manual JSON serialization for special parameters inside StringBasedMongoQuery by calling JSON.serialize(…).
DATAMONGO-423 - Fixed handling of negated regular expressions.

When using the not() method combined with the regex(…) methods on Criteria we created an invalid query so far. Fixed the regex(…) method to always transform the regex expressions and options into a Pattern instance and render that according to the $not state.
DATAMONGO-427 - Added support for Before and After keywords for query creation.

The query creator now supports methods as follows: List<User> findByCreatedAtBefore(Date date);