Commits on Sep 29, 2016
Commits on Sep 28, 2016
  1. DATACMNS-923 - Removed obsolete code in DefaultRepositoryInformation.

    The special case of an Iterable parameter doesn't have to be handled explicitly anymore so that we can simplify the type match check in DefaultRepositoryInformation.
    Related ticket: DATACMNS-912.
    olivergierke committed Sep 28, 2016
  2. DATACMNS-921 - ResultProcessor now gracefully falls back to approxima…

    …te collections if necessary.
    When handling collection results, we now create an approximate collection in case the creation of the exact same collection fails.
    olivergierke committed Sep 26, 2016
Commits on Sep 23, 2016
  1. DATACMNS-916 - Polishing.

    Minor formatting changes.
    Original pull request: #178.
    olivergierke committed Sep 23, 2016
  2. DATACMNS-917 - Query method execution for Maps now defaults null to a…

    …n empty Map.
    QueryExecutionResultHandler now explicitly handles null values for query methods returning Maps by returning an empty Map. This can be the case if a query is supposed to produce a Map (a single result) but doesn't actually yield any results at all.
    olivergierke committed Sep 23, 2016
Commits on Sep 21, 2016
Commits on Sep 19, 2016
  1. DATACMNS-912 - Fixed generic method detection for overrides using gen…

    …eric methods.
    We now correctly check the bounds of generic methods if we deal with a type variable found as method parameter. Introduced different code paths for type and method level generics so that the latter is explicitly checking all bounds available.
    olivergierke committed Sep 15, 2016
Commits on Sep 9, 2016
  1. DATACMNS-864 - Tweaks in tests after activation for Spring 5 builds.

    After the Spring 5 build profile has been activated properly in Spring Data build [0], the test cases for RepositoryPopulators failed as there was only an explicit detection of Spring 4 to point the test to the right resource file. Removed the guard now as all supported versions can now use the same file.
    Adapt to the stricter contract in Spring 5's MethodParameter in unit test for QuerydsPredicateArgumentResolver.
    [0] spring-projects/spring-data-build@31df5de
    olivergierke committed Sep 9, 2016
  2. DATACMNS-910 - Updated Travis configuration.

    Disabled Spring 4.2 build profile and enabled the ones for Spring 5 instead.
    olivergierke committed Sep 7, 2016
  3. DATACMNS-909 - Mask getDecoratedClass() of Spring 4.3's DecoratingProxy.

    The proxies created for projections now defensively mask getDecoratedClass(), a method declared on DecoratingProxy, an interface that JDK proxies on Spring 4.3 will implement.
    olivergierke committed Sep 6, 2016
Commits on Sep 5, 2016
  1. DATACMNS-908 - Introduced Order.withProperty(…).

    The introduced method allows creating new Order instances for a different property ensuring all other aspects (ignore case, null handling) are retained.
    olivergierke committed Sep 5, 2016
Commits on Sep 1, 2016
  1. DATACMNS-888 - Added dedicated Sort type to be able to express direct…

    …ions for revisions.
    Introduced dedicated RevisionSort property that allows to define the sort order independent of the revision property to be used.
    Introduced methods to find out whether a Sort is descending or ascending to avoid having to refer to the enum.
    olivergierke committed Jul 26, 2016
Commits on Aug 19, 2016
  1. DATACMNS-896 - Improved detection of type variable mappings in recurs…

    …ively nested generics.
    If the same generic type was used on recursively nested generics declarations, like this:
    class GenericType<T> {}
    class Nested extends GenericType<String> {}
    class Concrete extends GenericType<Nested> {}
    our traversal of the generics discovered T bound to String in Nested and as that is extending GenericType as well, the T detected here is the same instance as the T within the map discovered for Concrete. As we previously added the nested types after we added the original entry, the nested discovery overwrote the more local one.
    We now make sure the detected nested type variable mappings don't overwrite already existing ones.
    olivergierke committed Aug 20, 2016
Commits on Aug 9, 2016
  1. DATACMNS-891 - Repository bean definition registration now exposes re…

    …pository type in metadata.
    We now set an explicit attribute on the BeanDefinition created for every repository factory to allow BeanFactoryPostProcessors to inspect those.
    olivergierke committed Aug 9, 2016
Commits on Jul 27, 2016
Commits on Jul 26, 2016
  1. DATACMNS-885 - Fixed implementation of canRead(…) for projecting Http…

    Changed the implementation of both the JSON Path and XPath based projecting HttpMessageConverters to make sure the cached decisions don't depend on the media type. Reuse the evaluation of the media type in AbstractHttpMessageConverter.
    olivergierke committed Jul 26, 2016
  2. DATACMNS-880 - TransactionalRepositoryFactoryBeanSupport.setBeanFacto…

    …ry(…) now delegates to parent implementation.
    Previously TransactionalRepositoryFactoryBeanSupport.setBeanFactory(…) didn't invoke the method of the super class preventing the BeanFactory to be propagated to the repository factory resulting in the ProjectionFactory implementation created being unaware of the BeanFactory and thus no bean references being available in projection interfaces.
    olivergierke committed Jul 26, 2016
Commits on Jul 25, 2016
  1. DATACMNS-885 - Added XML support for incoming projections based on XM…

    Added an XML flavor of the support added in previous commits based on XML Beam [0].
    olivergierke committed Jul 23, 2016
  2. DATACMNS-885 - Workaround for bug in Jayway's JSONPath array access.

    When a recursive decent operator is used in a JSON Path expression there's no way to get out of the array mode again to indicate one is interested in a particular element (e.g. "the first one no matter where in the document") [0]. We now work around this by always letting the parser return lists, so that the mapping library finally kicking in can be equipped with the correct target type to create.
    Unfortunately this causes arrays to be double-wrapped for definite paths so that we basically have to adapt the type handed to Jackson in another round to the unwrap the mapping result in turn [1].
    [0] jayway/JsonPath#248
    [1] jayway/JsonPath#249
    olivergierke committed Jul 18, 2016
  3. DATACMNS-885 - Support for binding JSON payloads to projection interf…

    Projection types annotated with @ProjectedPayload can now be used as parameters for @RequestBody annotated Spring MVC controller method parameters.
    Accessor methods will be translated into JSON path property expressions which can be customized by using the @JsonPath annotation. The methods are allowed to return simple types, nested projection interfaces or complex classes which will will be mapped using a Jackson ObjectMapper.
    olivergierke committed Jul 17, 2016
Commits on Jul 19, 2016
  1. DATACMNS-884 - Polishing.

    Renamed PageableExecutionSupport to …Utils as …Support classes are usually empty adapter classes for interfaces and meant to be extended.
    olivergierke committed Jul 19, 2016
Commits on Jul 15, 2016
  1. DATACMNS-883 - Improved collection path binding for Querydsl-backed w…

    …eb requests.
    Improved the dot-path translation of existing Querydsl Path instances by not relying on the toString() representation of the metadata but manually traversing the elements up to the root. Extracted the translation method into QueryDslUtils.
    Furthermore, we now automatically insert an CollectionPathBase.any() step for Path instances of that type when reifying the paths from request attributes.
    olivergierke committed Jul 10, 2016
Commits on Jul 14, 2016
  1. DATACMNS-879 - Polishing.

    Some cleanups in ExampleMatcherAccessor.
    olivergierke committed Jul 14, 2016
  2. DATACMNS-879 - ExampleMatcher now allows to define whether all or any…

    … match should be used.
    Introduced dedicated factory methods for ExampleMatcher so that it exposes whether the predicates built from Example instances have to be fulfilled all or if it's sufficient that any of them matches.
    olivergierke committed Jun 30, 2016
Commits on Jun 15, 2016
Commits on Jun 8, 2016
  1. DATACMNS-866 - Improved error message in invalid invocations of Basic…

    We now explicitly report the given object's type and the one expected in case of a mismatch when BasicPersistentEntity.getPropertyAccessor(…) is invoked.
    olivergierke committed Jun 8, 2016
Commits on Jun 4, 2016
  1. DATACMNS-863 - Fixed parameter type lookup for wrapper types.

    When repository parameters use wrapper types (e.g. Optional) the Parameter instance for that parameter now returns the component type.
    olivergierke committed Jun 4, 2016