Commit Graph

3751 Commits

Author SHA1 Message Date
Christoph Strobl
645baab77e Add AOT proxy hints for CrudMethodMetadata.
Closes: #4534
2023-10-17 09:43:06 +02:00
Greg L. Turnquist
02c6d33f21 Polishing.
See #4532
2023-10-16 13:34:08 -05:00
Greg L. Turnquist
92c00f9b15 Update CI properties.
See #4532
2023-10-16 13:28:20 -05:00
John Blum
4f6410d570 After release cleanups.
See #4507
2023-10-13 08:52:00 -07:00
John Blum
cfad366476 Prepare next development iteration.
See #4507
2023-10-13 08:51:58 -07:00
John Blum
9f6bcfd552 Release version 4.2 RC1 (2023.1.0).
See #4507
2023-10-13 08:44:25 -07:00
John Blum
69666caffd Prepare 4.2 RC1 (2023.1.0).
See #4507
2023-10-13 08:43:55 -07:00
Mark Paluch
f71a2e2dfe Update Java.next CI config.
See #4507
2023-10-13 08:30:02 +02:00
Christoph Strobl
80d20c0cbe Fix link in Javadoc.
See: #2971
2023-10-13 08:03:56 +02:00
Christoph Strobl
b5deb1bc0a Upgrade to MongoDB Driver 4.11.0.
Closes: #4527
2023-10-13 07:43:10 +02:00
Christoph Strobl
5afb8ada85 Reduce public API surface.
Limit exposure of API methods to package visibility.
Also remove fields and methods not directly required to support current feature scope.
Finally add missing since tags and provide additional tests.

See: #2971
2023-10-12 15:28:57 +02:00
Mark Paluch
5d2564588f Add CrudMethodMetadata to support ReadPreference annotations on overridden base repository methods.
See: #2971
Original Pull Request: #4503
2023-10-12 15:28:15 +02:00
Mark Paluch
74b07e5d21 Polishing.
Tweak documentation wording. Refine constructor nullability rules. Fix javadoc references.

Original Pull Request: #4503
2023-10-12 15:27:43 +02:00
Christoph Strobl
715231e9ef Detect ReadPreference for annotated aggregations and inherited find methods.
This commit reduces the API surface of the ReadPreference annotation leaving fine grained control such as Tags to the Template API.
Next to supporting read preference for annotated queries we now also make sure to apply read preferences for annotated aggregation methods as well as predefined finder methods running queries.

See: #2971
Original Pull Request: #4503
2023-10-12 15:26:29 +02:00
Jorge Rodríguez Martín
16b97a26cc Add ReadPreference annotation.
The annotation enables a declarative style of defining the ReadPreference to use for individual or all repository queries.

Closes: #2971
Original Pull Request: #4503
2023-10-12 15:25:14 +02:00
Christoph Strobl
0474f65044 Fix id value conversion when projecting result types.
Contextual information required for converting values are now passed on correctly when projecting id properties.

Closes: #4524
Original pull request: #4525
2023-10-11 15:36:34 +02:00
Mark Paluch
9c09edd594 Polishing.
Replace duplicate occurrences of _id with FieldName.ID.name(). Shorten property names to avoid repetative "field" wording. Add Javadoc
to MongoField builder.

See #4464
Original pull request: #4512
2023-10-09 15:36:43 +02:00
Christoph Strobl
691fc055ed Add support for mapping document fields with dots in the field name.
This commit introduces support for mapping (read/write) fields that contain dots in their name, preserving the name as is instead of considering the dot being a separator within a path of nested objects.
Query and Update functionality remains unaffected which means no automatic rewrite for field names containing paths will NOT take place. It's in the users responsibility to pick the appropriate query/update operator (eg. $expr) to interact with the field.

Closes #4464
Original pull request: #4512
2023-10-09 15:34:35 +02:00
Mark Paluch
661607a603 Polishing.
Use Lock utility for easier lock handling.

Original Pull Request: #4431
See also: spring-projects/spring-data-commmons#2944
2023-10-05 10:43:26 +02:00
Christoph Strobl
cc56a93ae7 Refine locking.
Closes: #4429
Original Pull Request: #4431
2023-10-05 10:39:57 +02:00
John Blum
fd96974747 Update CI properties.
See #4507
2023-10-04 17:24:10 -07:00
John Blum
17a9539bad Upgrade to Maven Wrapper 3.9.5.
See #4520
2023-10-04 16:58:02 -07:00
Mark Paluch
99891b355e Upgrade to OpenWebBeans 4.0.
Closes #4518
2023-09-29 09:28:05 +02:00
Christoph Strobl
f84a62b94d Add expression support for median aggregation.
Original Pull Request: #4515
2023-09-28 09:06:37 +02:00
Julia
d506cd026f Add support for $median aggregation operator.
Closes #4472
Original Pull Request: #4515
2023-09-28 09:06:04 +02:00
Mark Paluch
cd80c8441f After release cleanups.
See #4479
2023-09-15 14:44:46 +02:00
Mark Paluch
e1570a55c3 Prepare next development iteration.
See #4479
2023-09-15 14:44:46 +02:00
Mark Paluch
a5cc27ab17 Release version 4.2 M3 (2023.1.0).
See #4479
2023-09-15 14:44:45 +02:00
Mark Paluch
5e12b23f65 Prepare 4.2 M3 (2023.1.0).
See #4479
2023-09-15 11:29:20 +02:00
Mark Paluch
8844b3031c Remove changelog shipped with the binaries.
Closes #3737
2023-09-14 11:18:47 +02:00
Christoph Strobl
e139a31dbd Reduce number of build pipeline steps.
Remove stage with MongoDB 6.0/Java 20 in favour of the newly introduced MongoDB 7.0/Java20 stage.

See: #4501
2023-09-13 11:47:53 +02:00
Julia
9058820f6f Add CI stage for MongoDB 7.0.x
Closes #4501
Original Pull Request: #4496
2023-09-13 11:32:16 +02:00
Julia
32bd540f91 Add support for $percentile aggregation operator.
Closes #4473
Original Pull Request: #4496
2023-09-13 11:31:09 +02:00
Christoph Strobl
11b992c449 Test unwrapped.empty instantiation when used as ctor argument.
Original Pull Request: #4492
2023-09-11 12:30:48 +02:00
Mark Paluch
9429cfd9c5 Polishing.
Remove sysout from tests.

See #4491
2023-09-11 12:28:34 +02:00
Mark Paluch
7213b99824 Consistently use the same reading strategies to read associations.
Return the value to set instead of calling the accessor directly. Remove duplicate calls to resolve associations.

See #4491
2023-09-11 12:28:23 +02:00
Mark Paluch
04e80ed635 Correctly read unwrapped properties during constructor creation.
Closes: #4491
Original Pull Request: #4492
2023-09-11 12:28:13 +02:00
Christoph Strobl
b4133c03e2 Reduce method signatures in Reactive-/MongoOperations and add fluent reactive api variant.
Narrow the scope of exposed methods on MongoOperations interface. The broader replace API variant has been moved to a protected method allowing users to hook into the implementation and (if needed) expose it.

See: #4462
Original Pull Request: #4463
2023-09-11 11:00:42 +02:00
Mark Paluch
ea07e83552 Guard against potential NPE.
Original Pull Request: #4463
2023-09-11 11:00:42 +02:00
Mark Paluch
501a1cce39 Polishing.
Consistently use Document instead of record. Reformat code. Tweak documentation wording.

See: #4462
2023-09-11 11:00:42 +02:00
Christoph Strobl
49ff6f1e48 Add fluent & reactive API for replace operation.
...and update the documentation.

See: #4462
Original Pull Request: #4463
2023-09-11 11:00:42 +02:00
Jakub
f7549f739e Add support for replaceOne operation.
Add replace methods to MongoOperations and MongoTemplate that allow to replace the first matching document with a given value.

Closes: #4462
Original Pull Request: #4463
2023-09-11 11:00:42 +02:00
Christoph Strobl
66c4a3bd80 Update copyright year in documentation.
See: #4497
2023-09-11 11:00:35 +02:00
Christoph Strobl
34d27ac151 Update readme and documentation navigation.
See: #4497
2023-09-08 12:57:08 +02:00
Mark Paluch
7c50f991ed Restructure documentation.
Move examples into test source root to ensure proper compilation. Remove lingering asciidoc resources.
Merge entity callbacks into lifecycle events. Add links from MongoDB overview.

See: #4497
2023-09-08 12:29:40 +02:00
Christoph Strobl
5acb174837 Migrate Documentation to Antora.
See: #4497
2023-09-08 12:26:27 +02:00
Christoph Strobl
492f09fbdf Add isReadable method to UnwrappedMongoPersistentProperty.
Closes: #4489
2023-08-31 09:43:58 +02:00
Julia
e3e73f5351 Fix #self @DocumentReference resolution when used in constructor.
This commit enables document reference lookup to use `DocumentReferenceSource` to properly instantiate an entity containig a @DocumentReference `#self` property.

Closes #4484
Original Pull Request: #4486
2023-08-31 07:57:44 +02:00
Mark Paluch
e5aff2645b Polishing.
Refactor duplicate code into callback.

See #4481
2023-08-24 14:01:28 +02:00
Mark Paluch
b3c0fbb02d Guard command completion listener against unsupported observation context.
We now no longer attempt to complete the Observation if the context is not a MongoDB one. For commands that target the admin database and run within a parent observation, we still might have an Observation but that one points to the parent invocation and not the MongoDB one as we do not record commands for the admin database.

Closes #4481
2023-08-24 14:01:28 +02:00