DATACMNS-236 - Fixed potential NPEs in SortHandlerMethodArgumentResolver.
DATACMNS-318 - Refined persistence exception translation infrastructure.

Extracted the activation of persistence exception translation into a separate RepositoryProxyPostProcessor. Adapted TransactionalRepositoryFactoryBeanSupport to also register the newly introduced PersistenceExceptionTranslationRepositoryProxyPostProcessor.
DATACMNS-319 - Made Repositories less greedy in looking up beans.

We now don't try to eagerly lookup the beans Repositories shall capture in the constructor anymore but leniently look them up on the first request. Update tests for classes using Repositories alongside.
DATACMNS-320 - Be less restrictive in finding mapping ambiguities.

So far we threw exceptions in case we find the same exception on getters *and* setters. We now allow this scenario in case the annotations are semantically equivalent.
DATACMNS-322 - CdiRepositoryBean implements PassivationCapable.

To allow the CdiRepositoryBeans being used inside scoped CDI beans we need to implement PassivationCapable so that the CDI contain can serialize the bean instance and detect the contextual instance on deserialization. As the repositories are application scoped we simply consider a bean of a given type plus its qualifier annotations unique.
DATACMNS-324 - Opened up template.mf version ranges for Spring 4.

The generated OSGi manifest now declares version ranges that allow usage of Spring 4.
DATACMNS-325 - Open up lower boundary of Slf4j to 1.6.4 in MANIFEST.MF.

This change was introduced to ease the upgrade of STS to recent Spring Data Commons versions, originally introduced to enable Spring 4 compatibility (see DATACMNS-324).
DATACMNS-325 - RepositoryInterfaceAwareBeanPostProcess now implements PriorityOrdered.

This makes sure it is also applied in cases of dependency lookups for {{BeanPostProcessor}} implementation's dependencies.
DATACMNS-327 - AbstractMappingContext implements InitializingBean again.

This causes the configured persistent entities being added to the context on its initialization instead of a delayed initialization on ApplicationContext refreshed event.
DATACMNS-328 - Fixed "fallbackPageable" typo in PageableArgumentResolver.

Pull request: #28.
DATACMNS-323 - PageImpl returns correct number of pages for use with content only.

So far, the PageImpl class returned 0 as total number of pages if set up from a plain List. This returns 1 now (as it should be). We've also adapted the hasNextPage() implementation to correctly calculate whether a next page is available.
DATACMNS-329, DATACMNS-319 - Added test case for Repositories looking up beans by name.

Essentially a regression test that runs for Spring versions newer than 3.2.2.RELEASE and checks that repository factories are found even if not instantiated yet. This should also make sure DATAJPA-323 does not occur anymore.
DATACMNS-330, DATACMNS-331 - Advanced web integration.

Added PagedResourcesAssembler to easily convert Page instances into a PagedResource instance and automatically build the required previous/next links based on the PageableHandlerMethodArgumentResolver present in the MVC configuration. The assembler can either be injected into a Spring MVC controller or a controller method. The latter will then assume the controller methods URI to be used as pagination link base.

Added @EnableSpringDataWebSupport to automatically register HandlerMethodArgumentResolvers for Pageable and Sort as well as a DomainClassConverter that will allow the usage of domain types being managed by Spring Data repositories in controller method signatures. In case Spring HATEOAS is present on the classpath, we'll also register a PagedResourcesAssembler for injection as well as the appropriate HandlerMethodArgumentResolver for injection into controller methods.

Adapted Sonargraph configuration accordingly. Upgraded to Spring HATEOAS 0.6.0.BUILD-SNAPSHOT.
DATACMNS-310 - Integrated ChainedTransactionManager from Spring Data Neo4j.

We now integrate a best-effort PlatformTransactionManager that will propagate commits and rollbacks to all PlatformTransactionManager instances registered. This assumes that the exceptional cases which will cause a rollback to happen either before the commits or during the first commit.
DATACMNS-332 - Performance improvements in conversion subsystem hotspots.

Added caching to DefaultTypeMapper, SimpleTypeInformationMapper, BasicPersistentEntity and PreferredConstructor as these seem to be performance hotspots on the reading side of object conversion.
DATACMNS-330, DATACMNS-331 - Improved web configuration support.

Updated backing implementation of @EnableSpringDataWebSupport to use WebMvcConfigurerAdapter instead of WebMvcConfigurationSupport as the latter is a very custom beast in terms of configuration. Let the Spring HATEOAS specific configuration class extend the default one to register additional components. The default one accesses the FormattingConversionService through a qualified autowiring. It issues a warning in case none has been configured and asks the user to enable Spring MVC.

Updated Sonargraph architecture description to allow logging from web config layer.
DATACMNS-330, DATACMNS-331 - More improvements on web configuration.

Reverting the registration of the DomainClassConverter as a Spring bean an prefer direct registration against the FormatterRegistry handed into addFormatters(…) of WebMvcConvfigurerAdapter. Otherwise we run into CGLib issues while enhancing the config classes.
DATACMNS-332 - AbstractMappingContext now prefers most concrete property.

BasicPersistentEntity now only caches the most concrete property for a by-name lookup to mimic the behavior that was implemented in getPersistentProperty(String name). This is to prevent shadowed properties of superclasses leaking into the by-name lookups.

Improved AbstractPersistentProperty.toString() to rather render the concrete field it is backed by.
DATACMNS-332 - Cache AnnotationBasedPersistentProperty.isTransient().
DATACMNS-332 - Further performance improvements.

Reverted from ConcurrentHashMap to plain HashMap where concurrency wasn't an issue and profiling showed performance hotspots. Introduced caches for ParameterizedTypeInformation.getComponentType() and the resolved raw type in TypeDiscoverer.