Commit Graph

2547 Commits

Author SHA1 Message Date
Mark Paluch
ab4cdbef8d Release version 3.0 M3 (2022.0.0).
See #2581
2022-03-22 14:00:23 +01:00
Mark Paluch
380a3d6f62 Prepare 3.0 M3 (2022.0.0).
See #2581
2022-03-22 14:00:02 +01:00
Mark Paluch
e0d0470c7b After release cleanups.
See #2530
2022-03-21 16:44:41 +01:00
Mark Paluch
ab728d8c59 Prepare next development iteration.
See #2530
2022-03-21 16:44:39 +01:00
Mark Paluch
eab7721bf5 Release version 3.0 M2 (2022.0.0).
See #2530
2022-03-21 16:35:08 +01:00
Mark Paluch
2ad123f68d Prepare 3.0 M2 (2022.0.0).
See #2530
2022-03-21 16:34:36 +01:00
Mark Paluch
89a6c73c3a Polishing.
Fix Javadoc.

See #2566
2022-03-18 15:15:30 +01:00
Mark Paluch
c73c0bfd6d Polishing.
Consistent wording for pageable and sort arguments.

See #2574
2022-03-18 15:09:16 +01:00
Diego Krupitza
1ea8d09b38 Update documentation for repository Pageable and Sort arguments.
Replace outdated `null` acceptance for `Pageable` with `Pageable.unpaged()`
 `QueryByExampleExecutor#findAll(Example<S> example, Pageable pageable)` should does not accept null values since there is `Pageable.unpaged()`. Furthermore, the same applies to `PagingAndSortingRepository#findAll(Pageable pageable)`.

Related ticket: spring-projects/spring-data-jpa/issues/2464
Closes #2574
2022-03-18 15:07:51 +01:00
Mark Paluch
dda102ad7f Polishing.
Increase visibility of converter builders.

Refine generics naming towards DV/SV instead of A/B to easier identify store-native values and domains-specific values in the API. Refactor PropertyValueConversions.hasValueConverter into a non-default method.

Tweak documentation.

See #1484
Original pull request: #2566.
2022-03-18 14:54:47 +01:00
Christoph Strobl
228431534f Refine API and property-converter documentation.
See #1484
Original pull request: #2566.
2022-03-18 14:54:37 +01:00
Oliver Drotbohm
e7292279bf Fluent registration API for PropertyValueConverters.
Introduce a builder API to register PropertyValueConverters using simple (Bi)Functions. Additional methods on ValueConversionContext to enable advanced use cases in converter implementation. Tweak generics of VCC to be able to expose store-specific PersistentProperty implementations via the context.

See #1484
Original pull request: #2566.
2022-03-18 14:54:17 +01:00
Christoph Strobl
caf49ad739 Add support for property-specific converters.
Closes #1484
Original pull request: #2566.
2022-03-18 14:54:15 +01:00
Mark Paluch
9a3a38dc22 Accept Object values in QuerydslPredicateBuilder.
We now accept Object-typed values to allow broader reuse of QuerydslPredicateBuilder. The conversion into the actual value considers the origin type and checks assignability before employing the ConversionService.

Closes #2573
2022-03-10 10:22:28 +01:00
Mark Paluch
8b3e4d44f0 Polishing.
Lazily make methods and fields accessible. Introduce invoke method to AnnotationDetectionMethodCallback.

See #2569
2022-03-02 14:54:33 +01:00
Mark Paluch
6bc28c118c Consider annotated methods in AnnotationRevisionMetadata.
We now detect annotated methods.

Closes #2569
2022-03-02 14:54:26 +01:00
Mark Paluch
8e241b1938 Update documentation of AbstractEntityInformation.
Align documentation with the code behavior as the behavior was changed but the documentation was not updated with the previous change.

Closes #2567
2022-03-02 08:52:37 +01:00
Mark Paluch
10a437c29e Update CI properties.
See #2530
2022-02-22 14:10:52 +01:00
Mark Paluch
8f4ddc194b Clarify Javadoc for FallbackPageable in PageableHandlerMethodArgumentResolverSupport.
Closes #2551
2022-02-17 14:36:45 +01:00
Oliver Drotbohm
92d8de08e4 Simpler check to avoid primitive conversion in ConvertingPropertyAccessor.
We now use Spring's ClassUtils.isAssignable(…) directly. Unit tests to verify that conversion is skipped for primitive / boxed scenarios.

See #2546.
2022-02-17 14:36:45 +01:00
Christoph Strobl
01291619f4 Update copyright year to 2022.
See: #2552
2022-02-17 12:46:14 +01:00
Oliver Drotbohm
21777293cc AbstractPersistentProperty.isMap() now delegates to underlying TypeInformation.
Issue #2549
2022-02-16 15:53:57 +01:00
Oliver Drotbohm
557465bf0a Introduce standard DtoInstantiatingConverter.
Move simple Spring Converter implementation that allow to create DTOs from a source object previously copied amongst a variety of store modules.

Issue #2476.
2022-02-16 08:56:02 +01:00
Oliver Drotbohm
ac9f99fc54 Polishing of annotation model for object creators.
Move to @PersistenceCreator as canonical annotation to explicitly express constructors and methods to be used to create domain object instances from persistence operations. Removed @FactoryMethod as it's not needed anymore. @PersistenceConstructor is now deprecated.

Renamed EntityCreatorMetadata(Support|Discoverer) to InstanceCreatorMetadata(Support|Discoverer) to avoid further manifestation of the notion of an entity in the metamodel as it's not used to only handle entities.

Issue #2476.
2022-02-15 17:26:00 +01:00
Mark Paluch
c4a324e3cf Introduce support to create domain objects via factory methods.
Issue #2476.
2022-02-15 17:04:47 +01:00
Greg L. Turnquist
0ee9c55f05 Update CI properties.
See #2530
2022-02-15 09:00:21 -06:00
Oliver Drotbohm
8bb88ffce1 Polishing.
Reorder methods according to conventions. More speaking names for the newly introduced type lookup methods.

Issue #2517.
2022-02-14 15:15:39 +01:00
nexx512
8d2a3466ef Fixed resolving generic types for Vavr maps.
Issue #2517.
2022-02-14 15:15:39 +01:00
Oliver Drotbohm
8ebe52dfd5 Complete Vavr collection detection on TypeInformation and CustomConversions.
Moved Vavr collection converters into a type in the utility package. Register the converters via CustomConversions.registerConvertersIn(…) to make sure that all the Spring Data object mapping converters automatically benefit from a ConversionService that is capable of translating between Java-native collections and Vavr ones.

Issue #2511.
2022-02-14 15:15:36 +01:00
nexx512
23c153aa55 Consider Vavr collections to be collection like in TypeInformation.
Issue #2511.
2022-02-14 14:45:57 +01:00
Mark Paluch
68bfa9af0e Performance improvements in ReactiveWrappers and ConvertingPropertyAccessor.
We now cache whether types are reactive wrappers and bypass the ConversionService for assignable primitive values.

Closes #2546
2022-02-11 15:22:03 +01:00
Mark Paluch
9146357b51 Polishing.
Let List… interface variants extend their base parent so that List-based variants participate in the type hierarchy.

See #2538
Original pull request: #2538.
2022-02-11 10:37:46 +01:00
Jens Schauder
f92a117b15 Add List-based repository interfaces.
This introduces the interfaces
* `ListCrudRepository`
* `ListQuerydslPredicateExecutor`
* `ListQueryByExampleExecutor`

They return `List` instead of `Iterable` when returning multiple entities.
They can be used in the same way the interfaces without the `List` prefix can be used.

Closes #2535.
Original pull request: #2538.
2022-02-11 10:37:35 +01:00
Jens Schauder
37eee0e35d Decouple Paging and Sorting repositories from CrudRepository.
This way they can be combined with different variants of CrudRepositories.

This affects
`PagingAndSortingRepository`, `ReactiveSortingRepository`, `CoroutineSortingRepository`, and `RxJavaSortingRepository`.

Any repository implementing those interfaces now needs to also implement a suitable CRUD repository, or needs to manually add the methods from a CRUD repository as needed.

Closes #2537
Original pull request: #2540.
2022-02-11 10:26:59 +01:00
Mark Paluch
c9cdc93809 Upgrade to XMLBeam 1.4.22.
Closes #2545
2022-02-10 11:01:42 +01:00
Mark Paluch
dab27e14b6 Polishing.
Extract artifactory credentials into properties file.

See #2541
2022-02-04 09:57:26 +01:00
Mark Paluch
e099741b7f Polishing.
Extract docker credentials into properties file.

See #2541
2022-02-02 10:39:38 +01:00
Greg L. Turnquist
92eedc5530 Externalize build properties.
See #2541.
2022-02-02 10:39:26 +01:00
Mark Paluch
ce9fcf9eb7 Refine PropertyReferenceException message.
Use single-quotes to indicate which elements belong to the underlying type and which are part of the textual message.

Closes #2395
2022-01-25 14:42:57 +01:00
Mark Paluch
da64183e61 Refine Coroutine wording around when to use suspend in method declarations.
Closes #2503
2022-01-25 11:08:36 +01:00
Mark Paluch
13f9657561 Document dynamic projections parameter detection.
Closes #2510
2022-01-25 09:50:57 +01:00
yelis913
05260bf5d7 Add missing verb to the error message.
Closes #2524
2022-01-17 11:15:46 +01:00
Mark Paluch
eb4eecdc99 After release cleanups.
See #2525
2022-01-14 14:43:22 +01:00
Mark Paluch
73e4c56289 Prepare next development iteration.
See #2525
2022-01-14 14:43:19 +01:00
Mark Paluch
463468c9fe Release version 3.0 M1 (2022.0.0).
See #2525
2022-01-14 14:35:09 +01:00
Mark Paluch
717db1c073 Prepare 3.0 M1 (2022.0.0).
See #2525
2022-01-14 14:34:47 +01:00
Jens Schauder
38f50e3da8 Remove Eclipse Non-Javadoc comments.
Closes #2522
2022-01-13 18:51:02 +01:00
Mark Paluch
8ec01cb816 Fix spliterator size hint in CloseableIterator.spliterator().
We now report -1 as size to avoid zero-size results for count() or toList() operators.

Closes #2519
2022-01-13 18:50:55 +01:00
Mark Paluch
a56ef010da Remove own class reading infrastructure in favor of extensions to AnnotationMetadata.
We now remove fully our own class-reading visitors as AnnotationMetadata exposes getDeclaredMethods.
MethodsMetadataReaderFactory and MethodsMetadataReader remain deprecated bridging return types to retain backward compatibility.

Closes #2520
2022-01-13 18:49:23 +01:00
Christoph Strobl
2ee509b707 Remove invalid imports from types used for ASM metadata parsing.
See #2498
2022-01-13 18:49:23 +01:00