Commits on Feb 23, 2014
  1. MappingContext Update

    jexp committed Feb 23, 2014
    * fixed strict + shouldGenerateTypeFor order in getPersistentEntity
    * cleaner structure for addPersistentEntity
Commits on Feb 21, 2014
  1. DATACMNS-445 - Documentation overhaul.

    thomasdarimont committed with olivergierke Feb 20, 2014
    Updated links and vendor-information in readme. Updated author information. Fixed some typos, added ids to sections updated examples and descriptions. Added and referenced description of repository populator namespace element.
    Original pull request: #65.
Commits on Feb 19, 2014
  1. DATACMNS-444 - DefaultPersistentPropertyPath now skips null converted…

    olivergierke committed Feb 19, 2014
    … names.
    If a Converter handed into DefaultPersistentPropertyPath.toDotPath(…) returns null or an empty string for a mapped property name, that value is skipped during path construction.
  2. DATACMNS-442 - Added test case to show that id resolution succeeds fo…

    olivergierke committed Feb 19, 2014
    …r intermediate repositories.
    Adapted test case failing on Spring 4 due to eager RepositoryMetadata resolution.
  3. DATACMNS-441 - Fixed potential NullPointerException in query method d…

    thomasdarimont committed with olivergierke Feb 18, 2014
    …etection on Java 8 compiled code.
    We now skip bridge methods for query method processing in order to circumvent the changed behavior of Class#getMethods() in Java 8 (when the code was compiled with target byte code level 1.8). On Java 8 this results in bridge methods being found and inspected for query method annotations. Since we currently cannot analyze generic return types of bridge methods this results in NullPointerExceptions being thrown at a later stage in AbstractRepositoryMetadata#getReturnedDomainClass(…).
    Original pull request: #64.
    Related issue: DATAJPA-465.
Commits on Feb 13, 2014
  1. DATACMNS-440 - Fixed map value type resolving for Map value types.

    olivergierke committed Feb 13, 2014
    Previously the map value type resolving algorithm checked the value type to be of type Map again to shortcut the resolution. We now weakened this to an assignment check and eagerly resolve the generic type if its bound on exactly that level already. If no concrete type argument can be found, we fall back to the general generics resolution mechanism.
Commits on Feb 12, 2014
  1. DATACMNS-439 - AnnotationRepositoryConfigSource now evaluates REGEX a…

    olivergierke committed Feb 12, 2014
    …nd ASPECTJ filters.
    We now leniently detect AspectJ and regular expression filters in an @Filter annotation in @Enable…Repositories annotations.
  2. DATACMNS-432 - Fix regression in Repositories.

    olivergierke committed Feb 12, 2014
    The changes in 899cf25 causes Repositories not finding any repository instances in case the lookup of beans by type for RepositoryFactoryInformation if the initialization causes as cyclic reference. Even worse, we might run into cases in which the attempt to access the beans by type causes transitive object creation which results in a successful lookup on a second attempt.
    This is effectively caused by the catch-block in DefaultListableBeanFactory.getBeansOfType(…) which registers the suppressed exception as the method is used for lookup the beans for injection points with Lists and Maps.
    We now explicitly look for bean names first and access the bean by name afterwards, which guarantees the exception to be thrown if it occurs. This will reveal the underlying issue and let user potentially deal with it. It's generally recommended to refer to Repositories in a very lazy fashion (using Provider<T>, ObjectFactory<T> or @Lazy on the injection point as of Spring 4) to avoid creating circular dependencies through by-type-lookups.
Commits on Feb 6, 2014
  1. DATACMNS-436 - Order.equals(…) / hashCode() / toString() now consider…

    olivergierke committed Feb 6, 2014
    … ignore case flag.
    Extended equals(…), hashCode() and toString() methods t consider the ignore case flag held in an Order instance.
  2. DATACMNS-432 - Make Repositories effectively immutable.

    thomasdarimont committed with olivergierke Feb 6, 2014
    We now eagerly populate the repository factory information in Repositories to provide a read only view on the discovered repository information. Previously lookup operations could also change some maps that held information about the until then discovered repository meta data which could lead to ConcurrentModifcationExceptions in multi-threaded environments. Since we don't allow any modification after construction this won't happen anymore.
    We also cache the computed RepositoryMetadata in RepositoryFactoryBeanSupport.
    Original pull request: #63.
  3. DATACMNS-433 - Added Is prefix to Like keywords.

    baumgartner committed with olivergierke Feb 2, 2014
    Like expressions are now also recognized if they're prefixed with Is. So both "IsLike" and "Like" are recognized as well as "NotLike" and "IsNotLike".
Commits on Feb 3, 2014
Commits on Jan 29, 2014
Commits on Jan 28, 2014
  1. DATACMNS-425 - Prepare 1.7.0.RC1 release.

    olivergierke committed Jan 28, 2014
    Upgraded to Spring Data Build parent 1.3.0.RC1 and Spring HATEOAS 0.9.0.RELEASE. Switched to milestone repositories. Updated changelog and adapted notice.txt.
Commits on Jan 27, 2014
Commits on Jan 23, 2014
  1. DATACMNS-418 - PagedResourcesAssembler now exposes method to append t…

    olivergierke committed Jan 23, 2014
    …emplate parameters.
    PagedResourcesAssembler.appendPaginationParameterTemplates adds the currently missing pagination template variables to the given link.
  2. DATACMNS-429 - Improved JavaDoc for PageRequest and Sort.

    olivergierke committed Jan 23, 2014
    Added a few missing parameter documentations in terms of semantics and nullability.
Commits on Jan 22, 2014
  1. DATACMNS-430 - Using Jackson version property from build parent.

    olivergierke committed Jan 22, 2014
    Removed custom dependency from Spring 4 profile as it's already included in the parent pom.
  2. DATACMNS-422 - Remove workaround in test cases after recent fix for g…

    olivergierke committed Jan 22, 2014
    …eneric component types.
    Build should be fine on Spring 4 now.
Commits on Jan 21, 2014
  1. DATACMNS-418 - Use TemplateVariables value type for pagination templa…

    olivergierke committed Jan 20, 2014
    Changed Hateoas(Pageable|Sort)HandlerMethodArgumentResolver to use newly introduced TypeVariables abstraction to avoid having to deal with string representations manually.
    The registered TemplateVariables carry a "pagination.….description" key to be resolved against a MessageSource.
  2. DATACMNS-426 - RepositoryMetadata now has an isPagingRepository().

    olivergierke committed Jan 20, 2014
    Moved getCrudMethods() to RepositoryMetadata to be able to add a isPagingRepository() to the interface as well. Changed DefaultCrudMethods to work with a RepositoryMetadata instead of RepositoryInformation.
    DefaultRepositoryInformation now completely delegates to the ResourceMetadata given and not extend it to avoid initialization order issues.
Commits on Jan 20, 2014
  1. DATACMNS-425 - Use new repository URLs and add repo for build plugins.

    olivergierke committed Jan 20, 2014
    Removed test dependency as it's already declared in Spring Data Build parent POM.
Commits on Jan 19, 2014
  1. DATACMNS-422 - Mitigate semantic changes in Spring 4.0's GenericTypeR…

    olivergierke committed Jan 19, 2014
    In case of an unresolvable generic parameter in TypeDiscoverer's getTypeArgument(…) we check for a generic super type for the given bound and fall back to Object in case we find a parameterized type.
Commits on Jan 18, 2014
  1. DATACMNS-420 - Introduced RepositoryConfigurationDelegate.

    olivergierke committed Jan 18, 2014
    RepositoryConfigurationDelegate allows to easily trigger repository BeanDefinitions to be registered independently of the client API (XML or annotation configuration support). Refactored the existing configuration base classes to use the newly introduced class. Removed defaulting of infrastructure components needed for Spring 3.1 compatibility.
Commits on Jan 17, 2014
  1. DATACMNS-418 - Improvements to template variables in HandlerMethodArg…

    olivergierke committed Jan 17, 2014
    The Hateoas(Pageable|Sort)HandlerMethodArgumentResolver now receive a UriComponents instance to inspect for existing query parameters. They then refrain from adding template variables for already present parameters. Slightly modified the way the sort parameters is appended to the pagination properties (although semantically equivalent).
Commits on Jan 16, 2014
  1. DATACMNS-419 - PagedResourceAssemblerArgumentResolver now works with …

    olivergierke committed Jan 16, 2014
    …templated URIs.
    We now handle an IllegalArgumentException being thrown in case we deal with a templated request mapping. We simply skip the attempt to eagerly resolve the base URI for the request and rely on the assembler being capable of resolving it itself or the user effectively providing a Link instances to one of the toResource(…) overloads.
  2. DATACMNS-418 - PagedResourcesAssembler now adds self links to PagedRe…

    olivergierke committed Jan 16, 2014
    PagedResourcesAssembler now adds a LinkTemplate to every PagedResources instance created and pulls the template variable information from the registered resolvers for Pageable and Sort.
    Extended PageableResourceAssemblerArgumentResolver to create a special MethodParameterAwarePagedResourcesAssembler so that the assembler will take qualifier information into account when being injected into controller methods.
    Upgraded to Spring HATEOAS 0.9.0.BUILD-SNAPSHOT to be able to benefit from new methods added to MethodParameters as well as the LinkTemplate class. Updated Sonargraph architecture definition to allow the web layer to access logging.