Commit Graph

3651 Commits

Author SHA1 Message Date
Christoph Strobl
431512a66c Prepare next development iteration.
See #4369
2023-05-12 14:18:51 +02:00
Christoph Strobl
532b460067 Release version 4.1 GA (2023.0.0).
See #4369
4.1.0
2023-05-12 14:14:38 +02:00
Christoph Strobl
af846a962a Prepare 4.1 GA (2023.0.0).
See #4369
2023-05-12 14:14:05 +02:00
Mark Paluch
776dadeac8 Polishing.
Introduce has…() and getRequired…() methods for comment and max time limit to remove code duplications.

See #4374
Original pull request: #4378
2023-05-11 10:13:56 +02:00
Christoph Strobl
629dfc187e Fix missing query options when calling MongoOperations#count.
This commit makes sure to forward maxTimeMsec and comment options from the query to the CountOptions.

Closes: #4374
Original pull request: #4378
2023-05-10 15:19:17 +02:00
Christoph Strobl
289438b1e4 Fix regression in value to String mapping.
Previous versions allow arbitrary values to be mapped to an string property by calling the ObjectToString converter. This behaviour got lost and is not reestablished.

Closes #4371
Original pull request #4373
2023-05-10 14:52:53 +02:00
Oliver Drotbohm
83958ba316 Adapt to ScrollPosition API changes in Spring Data Commons.
Fixes #4377.
Related ticket: #2824.
2023-04-27 19:42:27 +02:00
Christoph Strobl
3a99d4c29a Fix broken links in observability section of reference documentation.
Add back micrometer-docs-generator plugin in version 1.0.1.

Fixes: #4236
2023-04-24 13:04:38 +02:00
Tomasz Forys
561c3d4f39 Instanceof casting simplification.
Closes: #4265
2023-04-24 09:57:40 +02:00
Christoph Ahlers
7f74794a11 Fix inconsistent strong tag usage in javadoc.
Closes: #4177
2023-04-20 15:04:25 +02:00
Thom
238d8c5ed0 Fix link to custom conversion section in reference documentation.
Closes: #4287
2023-04-20 15:04:15 +02:00
Christoph Strobl
c096caac7d Provide context configuration hints for Spring Boot.
Closes: #3381
2023-04-20 15:04:04 +02:00
Christoph Strobl
c794acaf61 Cover missing Aggregation Stages in reference documentation.
Closes: #3938
2023-04-20 15:01:49 +02:00
Christoph Strobl
339db9d1b8 Add 2023.0 release to compatibility matrix.
Closes: #3940
2023-04-20 15:01:39 +02:00
Christoph Strobl
c04fe744cb Update AggregationExpression javadoc.
See: #4370
2023-04-20 15:01:32 +02:00
Greg L. Turnquist
a16558e4a3 After release cleanups.
See #4337
2023-04-14 12:00:02 -05:00
Greg L. Turnquist
0675b052c6 Prepare next development iteration.
See #4337
2023-04-14 11:59:56 -05:00
Greg L. Turnquist
6b85edfa84 Release version 4.1 RC1 (2023.0.0).
See #4337
4.1.0-RC1
2023-04-14 11:53:59 -05:00
Greg L. Turnquist
f4ec21792f Prepare 4.1 RC1 (2023.0.0).
See #4337
2023-04-14 11:53:21 -05:00
Mark Paluch
67bd722cfd Polishing.
Extract common code into BulkOperationsSupport. Reorder methods. Add missing verifyComplete to tests.

See #2821
Original pull request: #4342
2023-04-14 14:51:20 +02:00
Christoph Strobl
86dd81f770 Add support for reactive bulk operations.
Closes #2821
Original pull request: #4342
2023-04-14 14:51:19 +02:00
Mark Paluch
2f146dd142 Polishing.
Refine updateOne/updateMulti signatures to accept UpdateDefinition in the generic signature. Use pattern variables and records where applicable. Resolve code duplicates.

See #3872
Original pull request: #4344
2023-04-14 09:34:54 +02:00
Christoph Strobl
0ba857aa22 Add support for AggregationUpdate to BulkOperations.
We now accept `UpdateDefinition` in `BulkOperations` to support custom update definitions and aggregation updates.

Closes #3872
Original pull request: #4344
2023-04-14 09:34:54 +02:00
Mark Paluch
a94ea17e0e Polishing.
Reformat code. Remove unused fields, modifiers and documentation artifacts.

See #4088
Original pull request: #4341
2023-04-14 08:58:42 +02:00
Christoph Strobl
3b99fa0fb4 Skip output for void methods using declarative Aggregations having $out stage.
We now set the skipOutput flag if an annotated Aggregation defines an $out stage and when the method is declared to return no result (void / Mono<Void>, kotlin.Unit)

Closes: #4088
Original pull request: #4341
2023-04-14 08:58:42 +02:00
Christoph Strobl
4b0c0274e8 Enable index modification via IndexOperations.
Introduce IndexOptions that can be used to alter an existing index via IndexOperations.

See: #4348
2023-04-14 08:21:08 +02:00
Christoph Strobl
83217f3413 Polishing.
Add since tags.
Make sure IndexInfo holds hidden information.
Move and add tests.

Original Pull Request: #4349
2023-04-14 08:20:17 +02:00
张行帅
aaa1450b2a Add hidden support for index.
Closes: #4348
Original Pull Request: #4349
2023-04-14 08:18:40 +02:00
Mark Paluch
89c6099a3c Polishing.
Reformat code. Make getAnnotatedHint non-nullable.

See #3230
Original pull request: #4339
2023-04-13 11:51:16 +02:00
Christoph Strobl
7b44f78133 Add Hint annotation.
This commit introduces the new `@Hint` annotation that allows to override MongoDB's default index selection for repository query, update and aggregate operations.

```
@Hint("lastname-idx")
List<Person> findByLastname(String lastname);

@Query(value = "{ 'firstname' : ?0 }", hint="firstname-idx")
List<Person> findByFirstname(String firstname);
```

Closes: #3230
Original pull request: #4339
2023-04-13 11:51:12 +02:00
Christoph Strobl
af2076d4a5 Fix null value handling in ParameterBindingJsonReader#readStringFromExtendedJson.
This commit makes sure to return null for a null parameter value avoiding a potential NPE when parsing data.
In doing so we can ensure object creation is done with the intended value that may or may not lead to a downstream error eg. when trying to create an ObjectId with a null hexString.

Closes: #4282
Original pull request: #4334
2023-04-13 11:32:19 +02:00
Christoph Strobl
79c6427cc9 Update date time parser.
See: #3750
Original pull request: #4334
2023-04-13 11:32:19 +02:00
Christoph Strobl
d54f2e47b0 Follow changes in uuid processing.
Closes: #3750
Original pull request: #4334
2023-04-13 11:32:18 +02:00
Mark Paluch
cc3b33e885 Polishing.
Tweak naming.

Original pull request: #4352
See #4351
2023-04-13 11:12:29 +02:00
Christoph Strobl
b081089df4 Fix AOT processing for lazy-loading Jdk proxies.
This commit makes sure to use the ProxyFactory for retrieving the proxied interfaces. This makes sure to capture the exact interface order required when finally loading the proxy at runtime.

Original pull request: #4352
Closes #4351
2023-04-13 11:12:28 +02:00
Mark Paluch
414cf51f98 Upgrade to MongoDB 4.9.1.
Closes #4362
2023-04-11 15:58:58 +02:00
Mark Paluch
8bbc64317d Upgrade to Maven Wrapper 3.9.1.
See #4356
2023-04-06 16:16:28 +02:00
Oliver Drotbohm
5f48ee5644 Prefer implementing PersistentPropertyAccessor over PersistentPropertyPathAccessor.
In preparation of spring-projects/spring-data-commons#2813 we're moving off the implementation of PersistentPropertyPathAccessor and rather only implement PersistenPropertyAccessor.

Fixes #4354.
2023-04-04 11:10:27 +02:00
Greg L. Turnquist
5733a00f54 Test against Java 20 on CI.
See #4350.
2023-03-29 16:28:08 -05:00
Greg L. Turnquist
894acbb0fc Update CI properties.
See #4337
2023-03-28 13:58:15 -05:00
Christoph Strobl
d70a9ed7c6 Update visibility of ConversionContext.
The ConversionContext should not be package private due to its usage in protected method signatures.

Closes: #4345
2023-03-24 13:40:48 +01:00
Mark Paluch
27de3680b4 Fix reverse keyset scrolling.
We now use gt/lt instead of gte/lte to avoid duplicates during reverse keyset scrolling.

Closes #4343
2023-03-24 11:14:03 +01:00
Christoph Strobl
244b949b6d After release cleanups.
See #4295
2023-03-20 15:05:35 +01:00
Christoph Strobl
29b9123f5b Prepare next development iteration.
See #4295
2023-03-20 15:05:33 +01:00
Christoph Strobl
a2296534c7 Release version 4.1 M3 (2023.0.0).
See #4295
4.1.0-M3
2023-03-20 15:01:47 +01:00
Christoph Strobl
dc8e9d2e0f Prepare 4.1 M3 (2023.0.0).
See #4295
2023-03-20 15:01:19 +01:00
Mark Paluch
25f610cc8a Fix keyset backwards scrolling.
We now correctly scroll backwards by reversing sort order to apply the correct limit and reverse the results again to restore the actual sort order.

Closes #4332
2023-03-20 08:54:50 +01:00
Christoph Strobl
d8c04f0ec9 Use projecting read callback to allow interface projections.
Along the lines fix entity operations proxy handling by reading the underlying map instead of inspecting the proxy interface.
Also make sure to map potential raw fields back to the according property.

See: #4308
Original Pull Request: #4317
2023-03-17 13:07:44 +01:00
Mark Paluch
85826e1fe0 Document limitations around nullable properties.
See: #4308
Original Pull Request: #4317
2023-03-17 13:07:05 +01:00
Mark Paluch
14a722f2fd Add support for reverse scrolling.
Closes #4325
Related to: #4308
Original Pull Request: #4317
2023-03-17 13:06:27 +01:00