Commit Graph

3779 Commits

Author SHA1 Message Date
Christoph Strobl
3dccdd2bc2 Fix NPE when traversing map.
We now use regular iteration instead of the Stream API.

Closes: #4567
Original pull request: #4568
2023-12-11 13:55:31 +01:00
Mark Paluch
e20d12fe34 Fix Query equality test considering Limit.
Closes #4584
2023-12-08 14:24:53 +01:00
Mark Paluch
a4fcbb15bf Adopt MongoParameters and MongoParameter to reflect the actual parameter type when using generics.
Closes #4579
2023-12-08 12:43:02 +01:00
Mark Paluch
6b8749278b Polishing.
Refactor fixture creation for easier readability. Tweak documentation wording.

See #4571
Original pull request: #4574
2023-11-30 16:47:33 +01:00
Christoph Strobl
e5b9f7d455 Document list/map/set initialization on read.
Update the reference documentation about collection initialization on read, add the required tests to make sure it behaves as expected and simplify BeanUtils value presence check.

Closes #4571
Original pull request: #4574
2023-11-30 16:47:32 +01:00
Christoph Strobl
fa9fbcb2ed Fix tab overflow in reference documentation.
Closes: #4575
2023-11-30 15:52:25 +01:00
Mark Paluch
b7eedad2f5 Introduce property for Jenkins user and Artifactory server details.
Closes #4570
2023-11-28 14:46:01 +01:00
Runbing
837d3c37d8 Fix URL to Spring Data Commons reference documentation.
This commit fixes an incorrect URL in the antora.yml file that prevents linking to the Spring Data Commons documentation.

Closes: #4563
2023-11-20 11:27:06 +01:00
Mark Paluch
53f7a7cc45 After release cleanups.
See #4532
2023-11-17 14:33:26 +01:00
Mark Paluch
629244e954 Prepare next development iteration.
See #4532
2023-11-17 14:33:24 +01:00
Mark Paluch
bae0d91010 Release version 4.2 GA (2023.1.0).
See #4532
2023-11-17 14:29:58 +01:00
Mark Paluch
22e25fc9a4 Prepare 4.2 GA (2023.1.0).
See #4532
2023-11-17 14:28:29 +01:00
Christoph Strobl
9721cf36c9 Polishing.
Remove unused imports.
Simplify if & switch statements.
Use Set.of, List.of for unmodifiable collections.
Remove redundant usage of semicolon.
Fix broken references in Javadoc.
Fix Typos.
Extend value caching for MongoPersistentProperties.

See: #4555
Original pull request: #4556
2023-11-15 14:38:51 +01:00
Christoph Strobl
9016b4e1b7 Polishing.
Reorder methods.

See: #4555
Original pull request: #4556
2023-11-15 14:38:34 +01:00
Christoph Strobl
03f8763623 Introduce MongoConverterConfigurationAdapter#withPropertyValueConversions.
Introduce new builder style method and deprecate exiting setter.

Closes: #4555
Original pull request: #4556
2023-11-15 14:38:22 +01:00
Mark Paluch
d94aa12363 Polishing.
Adjust grammar. Mention that we use proxies for PropertyValueConverter registration when using method handles.

Original pull request: #4553
See #4536
2023-11-13 15:25:40 +01:00
Christoph Strobl
fcf3143b79 Update documentation on version property handling.
Original pull request: #4553
Closes #4536
2023-11-13 15:25:40 +01:00
Christoph Strobl
5e76c0493e Upgrade to MongoDB driver 4.11.1
Closes: #4551
2023-11-09 09:03:08 +01:00
Mark Paluch
fcc222244b Switch to Flux.flatMapSequential(…) to prevent backpressure shaping.
We now use Flux.flatMapSequential(…) instead of concatMap as concatMap reduces the request size to 1. The change in backpressure/request size reduces parallelism and impacts the batch size by fetching 2 documents instead of considering the actual backpressure.

flatMapSequential doesn't tamper the requested amount while retaining the sequence order.

Closes: #4543
Original Pull Request: #4550
2023-11-07 10:29:16 +01:00
Mark Paluch
6413b20da2 Polishing.
Consistent offending method name format.

Use String.format(…) instead of formatted(…).

Original pull request: #4547
See #4546
2023-11-06 14:13:08 +01:00
Christoph Strobl
77699ddd50 Validate aggregation query method on query method creation.
This commit makes sure to fail early if an annotated string based annotation does not contain a syntactically valid pipeline.

Original pull request: #4547
Closes #4546
2023-11-06 14:12:38 +01:00
Mark Paluch
cd16375fea Polishing.
Replace consecutive if-statements with loop.

Original pull request: #4545
See #4542
2023-11-03 10:23:30 +01:00
Christoph Strobl
e78e1978d5 Resolve @ReadPreference on actual repository interface.
Original pull request: #4545
Closes #4542
2023-11-03 10:23:30 +01:00
Junghoon Ban
db86097c0d Polish MongoDbErrorCodes.
Add missing nullable annotation and fix typo.
Simplify return statement expressions.

Closes: #4537
2023-11-03 10:06:21 +01:00
Mark Paluch
e2d0734ae6 Polishing.
Reformat code. Suppress warnings in tests.

Original pull request: #4541
See #4495
2023-11-02 15:31:45 +01:00
Christoph Strobl
bf54054ad5 Pass on FullDocumentBeforeChange option to change stream iterable/publisher.
This commit ensures to pass on a potentially set FullDocumentBeforeChange option to the change stream iterable/publisher.
It also corrects false optional behavior within the change stream task which did some defaulting though the actual value is an optional one that must not be present.

Original pull request: #4541
Closes #4495
2023-11-02 15:31:45 +01:00
Eric Haag
69285151a0 Connect build to ge.spring.io.
This change publishes a build scan to ge.spring.io for every local build from an authenticated Spring committer and for CI where appropriate access tokens are available. The build will not fail if publishing fails.

This change also allows the build to benefit from local and remote build caching, providing faster builds for all contributors.

Additionally, the project will have access to all features of Gradle Enterprise such as:

- Dashboards to view all historical build scans, along with performance trends over time
- Build failure analytics for enhanced investigation and diagnosis of build failures
- Test failure analytics to better understand trends and causes around slow, failing, and flaky tests

See #4528
2023-10-19 16:43:18 -05:00
Greg L. Turnquist
13447e63a7 Update CI properties.
See #4532
2023-10-19 09:38:54 -05:00
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