3212 Commits

Author SHA1 Message Date
Mark Paluch
9348a31457 Polishing.
Fix documentation build profile and path.

See #3314
2025-06-17 09:20:56 +02:00
Tran Ngoc Nhan
e506aa8215 Update readme with DCO and Maven wrapper links.
Closes #3314

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2025-06-17 09:20:30 +02:00
Mark Paluch
c65f1656d0 Refine NullableUtils deprecations.
See #3305
Original pull request: #3307
2025-06-12 11:20:52 +02:00
Mark Paluch
cb6793fb52 Polishing.
Move off deprecated API in tests.

See #3305
Original pull request: #3307
2025-06-12 11:20:52 +02:00
Christoph Strobl
a0d8c7fa5f Move off deprecated API.
See #3305
Original pull request: #3307
2025-06-12 11:20:52 +02:00
Christoph Strobl
b97cc46469 Move off deprecated API in AOT support.
Closes #3305
Original pull request: #3307
2025-06-12 11:20:52 +02:00
Mark Paluch
9ce25da431 Polishing.
Extract method.

See #3310
2025-06-11 09:11:02 +02:00
Mark Paluch
8e38e374b3 Defer MappingContext access inPersistentEntities.
We now fetch mapping contexts from Iterable<MappingContext> later, when accessing PersistentEntities API to defer potential resolution when e.g. obtaining beans from a BeanFactory.

Closes #3310
2025-06-11 09:10:31 +02:00
Mark Paluch
bb244edcc3 Polishing.
Address compiler warnings.

See #3309
2025-06-11 08:49:42 +02:00
Chris Bono
06a98db984 Let Kotlin repository generics extend Any.
The move to Kotlin 2.x introduces warnings in the Kotlin extensions for type arguments tha are not within their bounds (i.e. `Thing<T>` should be `Thing<T : Any>`). This commit fixes these cases and removes the warnings.

Signed-off-by: Chris Bono <chris.bono@broadcom.com>
Closes #3309
2025-06-11 08:48:48 +02:00
Christoph Strobl
f28a2c2052 Polishing.
Use getPackageName() instead of getPackage().getName(), remove essentially duplicate tests and fix array type handling of Q types by using the arrays component type for assignability checks.

Original Pull Request: #3284
2025-06-05 12:58:06 +02:00
ckdgus0808
349901218b Fix NPE in Q type resolution for primitive and array types.
Closes: #3284
See: spring-projects/spring-data-mongodb#4958

Signed-off-by: ckdgus08 <ckdgus0808@naver.com>
2025-06-05 12:43:07 +02:00
Mark Paluch
cb4338e3f0 Polishing.
Refine message. Use explicit variable types instead of var. Add tests.

See #3300
Original pull request: #3303
2025-06-04 12:11:39 +02:00
Chris Bono
dc51b4a25f Log a warning if param not annotated with @ProjectedPayload.
This commit introduces a warning log if a parameter is not annotated with `@ProjectedPayload` that this style is deprecated and that we will drop support for projections if a parameter (or the parameter type) is not explicitly annotated with `@ProjectedPayload`.

Resolves #3300
Original pull request: #3303

Signed-off-by: Chris Bono <chris.bono@broadcom.com>
2025-06-04 12:11:21 +02:00
Mark Paluch
3d08c10158 Avoid warn logging for custom converters using Collection.
If the collection type is not a store-native type, we no longer issue a warn log. Converters can be registered for List or Collection types and convert into a different, non-collection type while being a support converter instead of forcing a specific write type.

This is e.g. the case for MongoDB where a List of numbers is converted to the Vector type.

Closes #3306
2025-06-03 17:12:35 +02:00
Mark Paluch
d114269a12 Polishing.
Add unit tests.

See #3304
2025-06-03 11:51:54 +02:00
Yanming Zhou
115bebafda Use mutable list to collect items from Stream for reversal.
>> There are no guarantees on the type, mutability, serializability, or thread-safety of the List returned

`Collector.toList()` doesn't guarantee mutability, then passing it to `Collections.reverse()` is not safe.

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
Closes #3304
2025-06-03 11:51:45 +02:00
Mark Paluch
2760cb9686 Reinstate version placeholder usage for RxJava 3.
Closes #3295
2025-05-19 10:03:38 +02:00
Mark Paluch
87ec42beaf After release cleanups.
See #3276
2025-05-16 14:18:48 +02:00
Mark Paluch
d2be802d5d Prepare next development iteration.
See #3276
2025-05-16 14:18:46 +02:00
Mark Paluch
4fcf3ca6f4 Release version 4.0 M3 (2025.1.0).
See #3276
2025-05-16 14:16:17 +02:00
Mark Paluch
b26dc1d370 Prepare 4.0 M3 (2025.1.0).
See #3276
2025-05-16 14:15:55 +02:00
Mark Paluch
857ccceb37 Add support for ConfigurationSource and Dynamic Projections.
See: #3279
Original Pull Request: #3289
2025-05-16 12:04:48 +02:00
Mark Paluch
368fe71e48 Refine customization of EntityInformation.
We now provide a getEntityInformation(RepositoryMetadata) customization hook for EntityInformation creation as several modules require access to RepositoryMetadata details (such as the Id type).

Closes #3288
2025-05-16 12:04:29 +02:00
Mark Paluch
732e1c5516 Polishing.
Add missing nullable annotation.

See #3170
2025-05-16 12:04:29 +02:00
Mark Paluch
adf8828560 Fix Javadoc.
Java 24 has stricter Javadoc checks.

See #3276
2025-05-16 12:04:29 +02:00
Mark Paluch
3af53e2bc5 Update CI Properties.
See #3276
2025-05-16 12:04:29 +02:00
Mark Paluch
2b5c5975f5 Polishing.
Add missing documentation.

See #3285
2025-05-16 12:04:29 +02:00
Mark Paluch
a8c779c26b Reduce API surface, expose interfaces only.
See #3270
Original pull request: #3271
2025-05-16 12:04:29 +02:00
Mark Paluch
79c625d543 Polishing.
Refine local variable handling to logical and physical naming where the logical name is used in AOT contributor code while the physical name is rendered.

See #3270
Original pull request: #3271
2025-05-16 12:04:29 +02:00
Christoph Strobl
6360ef83b4 Add LocalVariableNameFactory.
Add a variable name factory that considers predefined names and resolves name clashes.
Expose variable name clash resolution via the generation context of a single method.

Closes #3270
Original pull request: #3271
2025-05-16 12:04:28 +02:00
Mark Paluch
3bc89bb221 Polishing.
Reformat code. Simplify flow. Add ticket reference to test.

See #3287
Original pull request: #3219
2025-05-16 12:04:28 +02:00
xeounxzxu
77b9cbd5b2 Avoid multiple DeferredRepositoryInitializationListener registrations in RepositoryConfigurationDelegate.
Closes #3287
Original pull request: #3219
2025-05-16 12:04:28 +02:00
Christoph Strobl
9a7ea62b2e Polishing.
Turn newly introduced methods on ParameterAccessor into default ones allowing modules to pick up changes at their own pace.
Add issue references and missing documentation.
Align Search- and GeoResults toString method with Page.

Original Pull Request: #3285
2025-05-16 12:04:28 +02:00
Mark Paluch
ecb2592493 Introduce SearchResult, SearchResults, Score and Similarity.
Closes: #3285
2025-05-16 12:04:28 +02:00
Christoph Strobl
00325610e8 Polishing.
Fix nullability warnings and update copyright header.

Original Pull Request: #3282
2025-05-16 12:04:28 +02:00
Mark Paluch
5f5e33c5e7 Polishing.
Original Pull Request: #3282
2025-05-16 12:04:28 +02:00
Mark Paluch
17a61f70d9 Polishing.
Introduce dedicated contributor interfaces to AotRepositoryBuilder.

See: #3279
Original Pull Request: #3282
2025-05-16 12:04:27 +02:00
Mark Paluch
5800600470 Refine AOT composition detection.
Associate Repository Bean Definition with RepositoryConfiguration and RepositoryConfigurationExtension attributes to capture configuration details such as the module name or the configuration source.

Introduce RepositoryFragmentsContributor to provide an abstraction for structural fragment implementation allowing to describe the implementation type instead of requiring the implementation object.

Obtain repository fragments from a RepositoryFragmentsContributor (either the configured one or one from a RepositoryFactoryBean).

Closes: #3279
Original Pull Request: #3282
2025-05-16 12:04:27 +02:00
Christoph Strobl
2dd6e74193 Polishing.
Ignore warnings for already checked constructs null away does not understand.

Original Pull Request: #3282
2025-05-16 12:04:27 +02:00
Christoph Strobl
9c966376a7 Refine Repository Composition retrieval during AOT.
Add module identifier and base repository implementation properties.
Fix fragment function previously overriding already set property due to name clash.
Extend tests for bean definition resolution and code block creation.

See: #3279
Original Pull Request: #3282
2025-05-16 12:04:27 +02:00
Mark Paluch
56b2cd0338 After release cleanups.
See #3239
2025-05-16 12:04:27 +02:00
Mark Paluch
537c94a776 Prepare next development iteration.
See #3239
2025-05-16 12:04:27 +02:00
Mark Paluch
1d936b2c88 Release version 4.0 M2 (2025.1.0).
See #3239
2025-05-16 12:04:27 +02:00
Mark Paluch
6f6470feb0 Prepare 4.0 M2 (2025.1.0).
See #3239
2025-05-16 12:04:26 +02:00
Mark Paluch
062da207cf remove me Polishing.
Reorder methods. Tweak Javadoc, add references to parameter naming. Add usage to newly introduced methods.

See #3088
Original pull request: #3272
2025-05-16 12:04:26 +02:00
Mark Paluch
b10fd8f1c1 Polishing.
Introduce Environment to AotContext.
Move JSON classes to aot/generate package.

Refine exposed API.

See #3265
2025-05-16 12:04:26 +02:00
Christoph Strobl
0e5bfcfd06 Allow arguments to be used without creating a field.
See #3265
2025-05-16 12:04:26 +02:00
Mark Paluch
a25a1bd206 Polishing.
Fix fragment method order lookup. Lazify ProjectionFactory retrieval on DefaultFragmentCreationContext.

See #3265
2025-05-16 12:04:26 +02:00
Mark Paluch
9c37a13c25 Add support for repository JSON metadata.
See #3265
2025-05-16 12:04:26 +02:00