Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: spring-projects/spring-data-commons
head fork: spring-projects/spring-data-commons
Checking mergeability… Don't worry, you can still create the pull request.
Commits on Sep 09, 2013
@spring-buildmaster spring-buildmaster DATACMNS-315 - Prepare next development iteration. 8f80326
Commits on Sep 10, 2013
@olivergierke olivergierke DATACMNS-363 - Revert support for unicode characters in in query meth…
…od names.

This reverts commit f7679d4 as it introduced every Or in query method names to be considered a keyword.
@olivergierke olivergierke DATACMNS-367 - Prepare 1.6.1.RELEASE. 759db6e
@spring-buildmaster spring-buildmaster DATACMNS-367 - Release version 1.6.1.RELEASE. 7351244
@spring-buildmaster spring-buildmaster DATACMNS-367 - Prepare next development iteration. cccaba3
Commits on Sep 23, 2013
@thomasdarimont thomasdarimont DATACMNS-368 - Add test for PartTree properties that contain keyword …

Added appropriate test to PartTreeUnitTests to check whether the regular expression in PartTree doesn't accidentally finds keywords in property expressions.
Commits on Oct 01, 2013
@olivergierke olivergierke DATACMNS-376 - Repositories now inspects user class for factory lookups.
When looking up the RepositoryFactoryInformation for a domain type we now make sure we look up the user type to not accidentally try to do so for a persistence provider generated proxy class for the original type. This prevents us from not finding PersistentEntity instances, Repository- or EntityInformation accidentally.
Commits on Oct 07, 2013
@thomasdarimont thomasdarimont DATACMNS-374 - Improved error handling in case of a missing repository.
In Repositories.getCrudInvoker(…) we now throw an IllegalArgumentException if we cannot find an appropriate repository for the given domain class. Previously it just blew up with a NullPointerException without a clear error message.

Original pull request: #46.
Commits on Oct 17, 2013
@thomasdarimont thomasdarimont DATACMNS-382 - Remove copy of AnnotationTypeFilter in RepositoryCompo…

Removed the copied class to use the one from Spring Core now that the necessary tweak is available in Spring 3.1.x.

Original pull request: #49.
Commits on Oct 23, 2013
@olivergierke olivergierke DATACMNS-385 - Fixed repository method matching for iterable entities.
When matching the save(Iterable<T>) method of CrudRepository for an entity implementing Iterable we accidentally determined as target method if the entity type under consideration implements Iterable.

We now explicitly check for the parameter type not being Iterable when matching the domain type generics in matchesGenericType(…).
Commits on Oct 25, 2013
@olivergierke olivergierke DATACMNS-378 - Prepare 1.6.2.RELEASE.
Updated changelog, notice and readme.
@spring-buildmaster spring-buildmaster DATACMNS-378 - Release version 1.6.2.RELEASE. df528ab
@spring-buildmaster spring-buildmaster DATACMNS-378 - Prepare next development iteration ad622d8
Commits on Oct 27, 2013
@olivergierke olivergierke DATACMNS-387 - Improvements in null handling in PartTree area.
We're now rejecting invalid constructor arguments handed to ClassTypeInformation, Part, PartTree and PropertyPath. Beyond that we skip the creation of a Part for an empty path segment, so that you don't end up with an invalid Part instance for a findAllByOrderByFooAsc.
@nebhale nebhale DATACMNS-388 - Improve declaration of PagedResourceAssembler in JavaC…

Based on the discussion in SPR-11004 [0], the declaration of the PagedResourcesAssembler in HateoasAwareSpringDataWebConfiguration will not result in it being autowired using Spring 4.0 in certain circumstances.  This change loosens the declaration so that it can be autowired into declarations that have specific generics declarations.

Original pull request: #51.

Commits on Nov 04, 2013
@olivergierke olivergierke DATACMNS-390 - Create defensive copy for persistent entities in Abstr…

To prevent ConcurrentModificationExceptions when iterating over PersistentEntities while further entity types are potentially added to the MappingContext we now return a immutable defensive copy of the current entity set.
Commits on Nov 12, 2013
@olivergierke olivergierke DATACMNS-389 - RepositoryFactorySupport now caches RepositoryInformat…

Instead of creating a new DefaultRepositoryInformation for each call to getRepositoryInformation(…) we now actively cache the created instances per repository type and custom implementation class.
@thomasdarimont thomasdarimont DATACMNS-393 - Improved CRUD method detection in DefaultCrudMethods.
The detection of CRUD methods in DefaultCrudMethods is now carried out in a more robust and predictable fashion. The exact algorithm is described in the JavaDoc.

Original pull request: #55.
@olivergierke olivergierke DATACMNS-393 - Improved CRUD method detection in DefaultCrudMethods.
Slightly refined the detection algorithm to favor early returns and thus avoid unnecessary reflection lookups.

Original pull request: #55.
Commits on Nov 21, 2013
@thomasdarimont thomasdarimont DATACMNS-406 - Tighten contract for RepositoryMetadata implementations.
We now resolve the domain and id-types eagerly within the constructor of AbstractRepositoryMetadata implementations to prevent a RepositoryMetadata instance to be created in an invalid state. Pulled-up repositoryInterface property to AbstractRepositoryMetadata.

Original pull request: #58.
@olivergierke olivergierke DATACMNS-406 - Polishing.
Refactored code in RepositoryMetadata implementations to avoid compiler warnings. Some JavaDoc polishing.

Original pull request: #58.
Commits on Dec 05, 2013
@olivergierke olivergierke DATACMNS-377 - Prevent page sizes less than one.
PageRequest now actively prevents page sizes less than one. PageableHandlerMethodArgumentResolver falls back to default page size if it detects a page size less than one. It also rejects invalid default configuration using @PageableDefault.
@thomasdarimont thomasdarimont DATACMNS-366 - Test for SortHandlerMethodArgumentResolver and propert…
…y lists.

Added test case to show SortHandlerMethodArgumentResolver can deal with property lists.

Original pull request: #45.
@olivergierke olivergierke DATACMNS-408 - Handle invalid pagination and sorting parameters grace…

The PageableHandlerMethodArgumentResolver and SortHandlerMethodArgumentResolver now transparently ignore invalid values provided for page number, size and sort. We fall back to ignore the invalid values (for sort) and fall back to the defaults where appropriate (page number and size).

Used and adapted test cases from pull request #48.
@olivergierke olivergierke DATACMNS-379 - Fixed AIOOBE in SortHandlerMethodArgumentResolver. c2af939
Commits on Dec 11, 2013
@thomasdarimont thomasdarimont DATACMNS-409 - Prepare Release 1.6.3.
Updated changelog, notice and readme.
@spring-buildmaster spring-buildmaster DATACMNS-409 - Release version 1.6.3.RELEASE. f5f60d7
@spring-buildmaster spring-buildmaster DATACMNS-409 - Preparing next development iteration. 47cf61b
Commits on Dec 13, 2013
@thomasdarimont thomasdarimont DATACMNS-410 - Fixed bug in ReflectionRepositoryInvoker#invokeFindOne.
We now delegate calls to invokeFindOne to the correct target repository.

Original pull request: #80.
Commits on Dec 16, 2013
@olivergierke olivergierke DATACMNS-407 - Fixed sort parameter building in HateoasAwareSortHandl…

We're now replacing the sort parameter for the URI to be created instead of simply appending them to the source URI to prevent previously applied sort parameters to be taken forward.
Commits on Jan 14, 2014
@olivergierke olivergierke DATACMNS-417 - Added contribution guidelines.
Linked to the actual contribution guidelines maintained in the Spring Data Build project.
Commits on Jan 17, 2014
@olivergierke olivergierke DATACMNS-412 - Fixed potential classloader leak.
Turned the static cache of RepositoryInformations in RepositoryFactorySupport into a non-static one to avoid the instance from potentially surviving redeployments in web app scenarios.
Commits on Jan 19, 2014
@olivergierke olivergierke DATACMNS-422 - Mitigate semantic changes in Spring 4.0's GenericTypeR…

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 23, 2014
@olivergierke olivergierke DATACMNS-429 - Improved JavaDoc for PageRequest and Sort.
Added a few missing parameter documentations in terms of semantics and nullability.
Commits on Feb 06, 2014
@baumgartner baumgartner DATACMNS-433 - Added Is prefix to Like keywords.
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".
@olivergierke olivergierke DATACMNS-432 - Make Repositories effectively immutable.
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.
@olivergierke olivergierke DATACMNS-436 - Order.equals(…) / hashCode() / toString() now consider…
… ignore case flag.

Extended equals(…), hashCode() and toString() methods t consider the ignore case flag held in an Order instance.
Commits on Feb 12, 2014
@olivergierke olivergierke DATACMNS-432 - Fix regression in Repositories.
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.
@olivergierke olivergierke DATACMNS-439 - AnnotationRepositoryConfigSource now evaluates REGEX a…
…nd ASPECTJ filters.

We now leniently detect AspectJ and regular expression filters in an @Filter annotation in @Enable…Repositories annotations.
Commits on Feb 17, 2014
@olivergierke olivergierke DATACMNS-440 - Fixed map value type resolving for Map value types.
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.
@olivergierke olivergierke DATACMNS-438 - Prepare 1.6.4.RELEASE.
Updated pom.xml, change log etc.
@spring-buildmaster spring-buildmaster DATACMNS-438 - Release version 1.6.4.RELEASE. 18ebd43
@spring-buildmaster spring-buildmaster DATACMNS-438 - Prepare next development iteration. 9c40f88
Commits on Feb 19, 2014
@olivergierke olivergierke DATACMNS-442 - Added test case to show that id resolution succeeds fo…
…r intermediate repositories.

Adapted test case failing on Spring 4 due to eager RepositoryMetadata resolution.
@olivergierke olivergierke DATACMNS-442 - Improved documentation to mention @NoRepositoryBean. 2e2e53b
Commits on Mar 05, 2014
@olivergierke olivergierke DATACMNS-460 - Repository metadata now supports array return types fo…
…r query methods.

Added array checks to AbstractRepositoryMetadata.getReturnedDomainClass() to detect array component types. QueryMethod now considers methods returning arrays to be collection query methods.
@jexp jexp DATACMNS-447 - Soften too strict strickt-check in MappingContext.
Previously we directly threw a MappingException in MappingContext.getPersistentEntity(TypeInformation) when the MappingContext was in strict mode and we were given a TypeInformation for which we didn't have a PersistentEntity already.

We now first check whether we should actually create a PersistentEntity for the given TypeInformation if no PersistentEntity is available, before throwing a  MappingException - if we should not then we simply return null (e.g. for simple types like Integer or Double).

Original pull requests: #66, #71.
Commits on Mar 06, 2014
@olivergierke olivergierke DATACMNS-462 - AbstractPersistentProperty considers collections and m…
…aps entities now.

Removed the rejecting check for collections and maps and solely rely on the evaluation of the actual type for the ….isEntity() decision in AbstractPersistentProperty. This will cause collection and map properties also being inspected for persistent types as soon as the owner type gets added to the mapping context.
Commits on Mar 10, 2014
@christophstrobl christophstrobl DATACMNS-463 - Prepare release 1.6.5.RELEASE.
Updated readme, template, changelog and notice to reflect recent version and changes. Update reference to reflect urls.
@spring-buildmaster spring-buildmaster DATACMNS-463 - Release version 1.6.5.RELEASE. 9bd280e
@spring-buildmaster spring-buildmaster DATACMNS-463 - Prepare next development iteration. 8301356