Commit Graph

1338 Commits

Author SHA1 Message Date
Oliver Drotbohm
8fe3b9983a DATACMNS-1620 - Repository bean definitions now contain human readable resource descriptions.
We now expose human readable resource descriptions based on RepositoryConfiguration and RepositoryConfigurationSource. Spring Boot uses those to describe problematic bean definitions in case it detects errors in the application setup.
2019-12-09 17:37:44 +01:00
Jens Schauder
1c9fa2f365 DATACMNS-1622 - Updated changelog. 2019-12-04 14:32:42 +01:00
Jens Schauder
f1bf1ca114 DATACMNS-1621 - Updated changelog. 2019-12-04 12:09:44 +01:00
Arend v. Reinersdorff
e50fd15986 DATACMNS-1631 - Fix spelling in reference documentation.
Original pull request: #423.
2019-12-03 08:49:44 +01:00
Mark Paluch
0cf58e623b DATACMNS-1629 - Log module name in RepositoryConfigurationDelegate during repository scanning.
We now log the module name during repository scanning to indicate the used module and to avoid confusion about duplicate initialization when a single module is used that supports both, imperative and reactive repositories.
2019-11-29 10:45:29 +01:00
Mark Paluch
a16c2ce3c4 DATACMNS-1592 - Polishing.
Tweak docs.
2019-11-26 13:56:21 +01:00
Mark Paluch
e9a0ed7123 DATACMNS-1592 - Use Lombok's With and move off deprecated Wither.
We now migrate off Lombok's `@Wither` in favor of `@With`.
2019-11-26 13:55:23 +01:00
asker.khakh
3fb7ff1dd2 DATACMNS-1603 - Polishing.
Removed confusing sentence in repository reference documentation.

Original pull request: #418.
2019-11-26 13:40:01 +01:00
Johnny Lim
c1ba1faaa0 DATACMNS-1603 - Fix typo.
Original pull request: #422.
2019-11-26 13:37:30 +01:00
Mark Paluch
e3d6c31929 DATACMNS-1603 - Improve log message wording. 2019-11-26 13:35:41 +01:00
Mark Paluch
fe3c097a3a DATACMNS-1626 - Add attribute to projection documentation for reuse with R2DBC.
We now render depending on the projection-collection attribute the appropriate return type that is used for example code to inject also alternate return types such as Mono/Flux for reactive module documentation.
2019-11-22 15:34:51 +01:00
Mark Paluch
a6ba3612ba DATACMNS-1606 - Updated changelog. 2019-11-18 12:43:26 +01:00
Mark Paluch
94053af14a DATACMNS-1605 - Updated changelog. 2019-11-18 12:16:26 +01:00
Oliver Drotbohm
6ce19956ab DATACMNS-1613 - Fixed Chunk.getSize() for usage with an unpaged Pageable.
We now return the content length as size of a Chunk if no Pageable has been used to create a Chunk. This makes the usage of a Chunk without an explicit Pageable work just like it was requested with the size of the given content.
2019-11-13 12:49:19 +01:00
Oliver Drotbohm
ced3dde2a4 DATACMNS-1609, DATACMNS-1438 - Skip collection path segments for auditing properties.
We now skip PersistentPropertyPath instances pointing to auditing properties for which the path contains a collection or map path segment as the PersistentPropertyAccessor currently cannot handle those. A more extensive fix for that will be put in place for Moore but requires more extensive API changes which we don't want to ship in a Lovelace maintenance release.

Related tickets: DATACMNS-1461.
2019-11-11 10:45:18 +01:00
Oliver Drotbohm
e28a78ee8e DATACMNS-1609, DATACMNS-1461 - Polishing. 2019-11-11 10:45:14 +01:00
Oliver Drotbohm
71a42664c2 DATACMNS-1609, DATACMNS-1461 - Handle null intermediates in setting auditing property paths.
We now catch the MappingException produced by trying to set auditing property paths containing null intermediate segments and ignore those. A less expensive (non-Exception-based) approach is going to be introduced for Moore as it requires API changes to the property path setting APIs.

Related tickets: DATACMNS-1438.
2019-11-11 10:45:08 +01:00
Christoph Strobl
f7398f490e DATACMNS-1586 - Updated changelog. 2019-11-04 15:39:53 +01:00
Christoph Strobl
4830ec0244 DATACMNS-1585 - Updated changelog. 2019-11-04 10:34:49 +01:00
Oliver Drotbohm
9e4d490137 DATACMNS-1602 - Avoid attempts to recreate the same property accessor class.
PropertyAccessorClassGenerator now tries to look up the class to be generated first to potentially reuse an already existing one and avoid the recreation and registration of a same class which would trigger a Linkage error as a classloader cannot hold two classes with the same name.

The root of the problem is in the fact that the accessor instances are held in per instance caches in EntityInstantiators, so that multiple of those might try to create the same accessor class for a given domain type.
2019-10-30 15:04:12 +01:00
Mark Paluch
5542474ed2 DATACMNS-1601 - Polishing.
Document throws on save(…). Align documentation for reactive repositories.

Original pull request: #412.
2019-10-30 11:17:47 +01:00
Jens Schauder
345df4e393 DATACMNS-1601 - Improving the JavaDoc of the CrudRepository.
Clarifying expectations and guarantees or lack thereof.

Original pull request: #412.
2019-10-30 11:07:36 +01:00
Mark Paluch
cace881a13 DATACMNS-1598 - Polishing.
Add unit tests to back change. Guard invocations against null dereference.
Join assertions.

Original pull request: #409.
2019-10-28 08:54:17 +01:00
Wilds
36b95d39ce DATACMNS-1598 - Fix interface projection returning EnumSet.
EnumSet's are now constructed with a proper component type.

Original pull request: #409.
2019-10-28 08:48:58 +01:00
Mark Paluch
ac0633ed82 DATACMNS-1596 - Polishing.
Fix Javadoc method reference.

Original pull request: #411.
2019-10-24 15:00:04 +02:00
Oliver Drotbohm
8bb87a1749 DATACMNS-1596 - Modules not exposing identifying annotations do not claim repository interfaces anymore.
Previously, a module not exposing any entity identifying annotations would have claimed a repository definition and potentially overrode the bean definition of another store that was the proper claim in the first place. We have now changed this to abstain from a claim of the interface.

We' also tweaked the log output in the following cases:

1. If the module neither returns an identifying type nor entity identifying annotations, we now log a warning that a module does not support a multi-module setup and answer all assignment requests with false.

2. The info level warning indicating an interface has been dropped now reports which annotations or interface base types to use.

Original pull request: #411.
Related tickets: spring-projects/spring-boot#18721
2019-10-24 14:39:48 +02:00
Mark Paluch
373eccda8a DATACMNS-1591 - Polishing.
Add since tags. Reorder methods. Use method references where possible.

Original pull request: #410.
2019-10-16 12:07:13 +02:00
Oliver Drotbohm
529d7a9d47 DATACMNS-1591 - Polishing.
Whitespace.

Original pull request: #410.
2019-10-16 12:05:07 +02:00
Oliver Drotbohm
efccf6d480 DATACMNS-1591 - @Primary is now considered on repository interfaces.
We now elevate the primary annotation from the scanned repository bean definition to the one created for the repository factory. This previously got lost as the former is hidden behind the RepositoryConfiguration interface that previously didn't expose the primary nature of the underlying bean definition.

Original pull request: #410.
2019-10-16 12:04:59 +02:00
Mark Paluch
e01d8e4243 DATACMNS-1562 - Prepare 2.2 GA (Moore). 2019-09-30 15:50:43 +02:00
Mark Paluch
1e88d28335 DATACMNS-1562 - Updated changelog. 2019-09-30 15:50:33 +02:00
Mark Paluch
38e06ff084 DATACMNS-1561 - Updated changelog. 2019-09-30 11:16:16 +02:00
Christoph Strobl
c62bc6f7cc DATAMONGO-1584 - Polishing.
Original Pull Request: #407
2019-09-30 10:20:07 +02:00
Mark Paluch
37ab48e97e DATACMNS-1584 - Add documentation for Kotlin support.
Original Pull Request: #407
2019-09-30 09:55:09 +02:00
Mark Paluch
dbc6810fc3 DATACMNS-1211 - Add ReactivePageableHandlerMethodArgumentResolver.
Add ReactivePageableHandlerMethodArgumentResolver and extract shared code from imperative PageableHandlerMethodArgumentResolver into PageableHandlerMethodArgumentResolverSupport.

Original pull request: #264.
2019-09-26 16:43:58 +02:00
Mark Paluch
48daa4c4b1 DATACMNS-1211 - Add ReactiveSortHandlerMethodArgumentResolver.
Add ReactiveSortHandlerMethodArgumentResolver and extract shared code from imperative SortHandlerMethodArgumentResolver into SortHandlerMethodArgumentResolverSupport.

Original pull request: #264.
2019-09-26 16:43:50 +02:00
Oliver Drotbohm
d1d5fa085d DATACMNS-1583 - Introduced QPageRequest.of(…) factory methods.
These methods are introduced for consistency with PageRequest. Constructors have been deprecated fro removal in 2.2.
2019-09-25 13:58:39 +02:00
Oliver Drotbohm
725d88811c DATACMNS-1581 - Polishing.
Javadoc on (Q)PageRequest.
2019-09-25 13:45:20 +02:00
Oliver Drotbohm
221ad9353e DATACMNS-1581 - Tighten nullability constraints for Sort parameters in PageRequest factory methods.
We now explicitly rejects null values for the Sort parameters in the constructor of PageRequest to avoid the creation of invalid instances if the IDE validation of nullability constraints is not in use.
2019-09-25 13:45:14 +02:00
Bruno Lellis
74a26dd3fe DATACMNS-1580 - Fix PersonRepository domain class in documentation.
Just a small fix declaring Person as PersonRepository's domain class.

Original pull request: #298.
2019-09-18 15:56:11 +02:00
Roland Weisleder
2467cd7d42 DATACMNS-1580 - Fix typo in Javadoc.
Original pull request: #316.
2019-09-18 15:43:24 +02:00
Matthias Merdes
9647e72c27 DATACMNS-1580 - Fix typo in Javadoc.
Original pull request: #329.
2019-09-18 15:41:35 +02:00
Mark Paluch
78dcab59c7 DATACMNS-1486 - Polishing.
Consistently annotate all nullable method arguments with Nullable.

Original pull request: #341.
2019-09-18 15:34:47 +02:00
Henning Hoefer
6699e9692f DATACMNS-1486 - Add missing Nullable annotation in HateoasSortHandlerMethodArgumentResolver.
Original pull request: #341.
2019-09-18 15:33:39 +02:00
Jef LeCompte
598c9cf443 DATACMNS-1580 - Add semicolon in documentation for clarity.
Original pull request: #401.
2019-09-18 15:28:58 +02:00
Mark Paluch
1813ee79f0 DATACMNS-1563 - Prepare 2.2 RC3 (Moore). 2019-09-06 10:10:12 +02:00
Mark Paluch
e3e8dfde6f DATACMNS-1563 - Updated changelog. 2019-09-06 10:10:01 +02:00
Oliver Drotbohm
ac3fc2bddd DATACMNS-1578 - Polishing. 2019-09-05 17:35:15 +02:00
Colin Gao
30dbac1bce DATACMNS-1578 - Proper handling of null values in QuerydslDefaultBinding.
We now properly use an ….isNull() binding if the value to be compared to is null.
2019-09-05 17:34:51 +02:00
Oliver Drotbohm
3ebe74d018 DATACMNS-1568 - Document null handling of Sort (and Pageable) properties. 2019-09-02 15:21:17 +02:00