Commit Graph

2680 Commits

Author SHA1 Message Date
Mark Paluch
0145b68f61 DATAMONGO-2325 - Upgrade to MongoDB Driver 3.11.0-rc0.
Adapt tests to added overloads.
2019-07-26 09:42:54 +02:00
Mark Paluch
c7ea0782df DATAMONGO-2324 - Adapt to API changes in Commons. 2019-07-26 08:48:33 +02:00
Greg Turnquist
c3ef62a7be DATAMONGO-2280 - Polishing. 2019-07-19 11:46:45 -05:00
Greg Turnquist
0eebf64ec3 DATAMONGO-2280 - Publish documentation for main branch. 2019-07-19 11:46:44 -05:00
Mark Paluch
bdd2b236e8 DATAMONGO-2322 - Polishing.
Suspend change streams tests relying heavily on timing.
2019-07-18 10:06:56 +02:00
Mark Paluch
804106ec9a DATAMONGO-2322 - Handle exceptions thrown by MessageListeners.
ErrorHandlers associated with a CursorReadingTask (Change Streams, imperative Tailable Cursors) now handle exceptions raised by the listener callback.

Exceptions are now catched and the callback continues with the next message.
2019-07-18 09:57:32 +02:00
Mark Paluch
b3e70475eb DATAMONGO-2323 - Polishing.
Use .as(StepVerifier::create) syntax where possible.
2019-07-17 14:35:18 +02:00
Mark Paluch
1f146c3b5c DATAMONGO-2323 - Fix query(…) and stream(…) to be used with BSON Document.
MongoTemplate.stream(…), MongoTemplate.query(…) and ReactiveMongoTemplate.query(…) now no longer fail when used with BSON Document.class.

Previously, field mapping failed because it required an entity type. Now we gracefully back off when find methods are used with a simple Document entity type.
2019-07-17 14:28:11 +02:00
Mark Paluch
d49b1c33b7 DATAMONGO-2306 - Polishing.
Add Nullable annotation to nullable method args. Remove IV from JSON Schema as it is not listed in Mongo specs.

Tweak wording in docs. Parse encryption-settings-ref for MongoClientOptions. Add support for KeyId's in encrypted JSON schema properties.

Original pull request: #766.
2019-07-17 14:03:44 +02:00
Christoph Strobl
da0cb6d766 DATAMONGO-2306 - Add field level encryption to JSON Schema.
We now support encrypted fields via MongoJsonSchema and allow XML configuration of com.mongodb.AutoEncryptionSettings via a dedicated factory bean.

Original pull request: #766.
2019-07-17 14:03:36 +02:00
Mark Paluch
56ac8397aa DATAMONGO-2319 - Deprecate Query.withHint(String) and introduce withHint(Document).
The $hint operator is deprecated since MongoDB 3.2 so we're now deprecating Query.withHint() accepting a String as the String is expected to be a valid document. Therefore, we're introducing withHint(Document) to accept a type-safe representation of query hints.
2019-07-11 15:16:14 +02:00
Mark Paluch
945d3b0085 DATAMONGO-2321 - Polishing.
Reduce AtTest(expected = …) and ExpectedException with the corresponding AssertJ assertThatExceptionOfType(…) and assertThatIllegalArgumentException().isThrownBy(…).
2019-07-11 12:06:27 +02:00
Mark Paluch
fad18341fa DATAMONGO-2321 - Migrate tests to AssertJ. 2019-07-11 11:07:15 +02:00
Mark Paluch
394efa8b82 DATAMONGO-2318 - Fix typo. 2019-07-10 09:46:05 +02:00
Mark Paluch
880b3c6ee0 DATAMONGO-2089 - Polishing.
Loosen assertion to prevent false positives due to non-deterministic ordering.
2019-07-09 15:59:57 +02:00
Mark Paluch
4307c46619 DATAMONGO-2280 - Cleanup release profile.
Reuse inherited configuration from parent pom.
2019-07-09 11:01:38 +02:00
Mark Paluch
86bcfde568 DATAMONGO-2318 - Revise readme for a consistent structure. 2019-07-09 11:01:38 +02:00
Mark Paluch
5b3a9434f1 DATAMONGO-2316 - Configure simple collation on resolved text-indexes for non-simple collation Collections.
We now configure resolved text-indexes with a simple collation when the text index is created in a collection that uses a non-simple collation.

This explicit setting is required by MongoDB to properly create a text index.

Previously, index creation failed.
2019-07-08 13:53:24 +02:00
Mark Paluch
f2ac413c61 DATAMONGO-2188 - Polishing.
Reduce MappingContext requirements in IndexResolver to require only a properly parametrized MappingContext instead of MongoMappingContext.
2019-07-08 13:50:44 +02:00
Christoph Strobl
4e44d07402 DATAMONGO-2307 - Polishing.
Remove unused import and turn static variable into method reference.

Original Pull Request: #765
2019-07-05 12:50:14 +02:00
Michael Simons
1dc6a04d74 DATAMONGO-2307 - Consistently use result of BeforeSaveCallback.
Original Pull Request: #765
2019-07-05 12:50:14 +02:00
Mark Paluch
513e6a0111 DATAMONGO-2315 - Polishing.
Tweak method name. Javadoc.

Original pull request: #772.
2019-07-05 12:15:17 +02:00
Christoph Strobl
8ca16e1cb4 DATAMONGO-2315 - Fix $date parameter binding for string based queries.
Original pull request: #772.
2019-07-05 12:15:10 +02:00
Mark Paluch
296e97903d DATAMONGO-2314 - Polishing.
Reformat code. Remove unnecessary warning suppressions. Switch to diamond syntax.

Original pull request: #771.
2019-07-04 16:26:46 +02:00
Christoph Strobl
617828533e DATAMONGO-2314 - Fix query by example on nested properties.
This fix allows using alike on nested properties.

new Criteria("nested").alike(Example.of(probe, matching().withIgnorePaths("_class"))));

Switch tests to AssertJ.

Original pull request: #771.
2019-07-04 16:26:32 +02:00
Greg Turnquist
c0a22667b9 DATAMONGO-2280 - Use parent 'artifactory' profile for snapshot releases. 2019-07-03 17:10:56 -05:00
Mark Paluch
ada6eb814e DATAMONGO-2089 - Polishing.
Add watchCollection(…) accepting an entity class. Use static import for assertions. Tweak javadoc.

Original pull request: #751.
2019-07-03 11:21:28 +02:00
Christoph Strobl
4a17048ec6 DATAMONGO-2089 - Add fluent change stream API to ReactiveMongoTemplate.
We now offer a fluent API for more intuitive change stream interaction.

Flux<ChangeStreamEvent<User>> flux = reactiveTemplate.changeStream(User.class)
    .watchCollection("people")
    .filter(where("age").gte(38))
    .listen();

Original pull request: #751.
2019-07-03 11:07:03 +02:00
Mark Paluch
06018fa3de DATAMONGO-2287 - Polishing.
Add since tags. Remove final modifier from method args. Switch to lambdas.

Original pull request: #760.
2019-07-02 14:57:37 +02:00
Christoph Strobl
8b406b23ff DATAMONGO-2287 - Polishing.
Add new factory method for ArrayOperators that deals with a collection of values.

Original pull request: #760.
2019-07-02 14:57:37 +02:00
Shashank Sharma
a3ef9b5856 DATAMONGO-2287 - Add support for $in aggregation pipeline operator.
Original pull request: #760.
2019-07-02 14:57:10 +02:00
Mark Paluch
bb280bd59b DATAMONGO-2200 - Polishing.
Tweak Javadoc. Simplify Fields creation from Stream. Remove final modifier from private static method. Iterate with loop over PersistentEntity.

Original pull request: #748.
2019-07-02 14:24:20 +02:00
Christoph Strobl
e24c5e0846 DATAMONGO-2200 - Use mapping context where available.
Use the mapping context to get the required fields or fall back to property descriptors if no mapping context is available.

Original pull request: #748.
2019-07-02 14:24:17 +02:00
Christoph Strobl
839aa1b1e6 DATAMONGO-2200 - Derive fields for aggregation $project stage from a given type.
We now allow to derive field names for a $project stage from a given type by including all top level fields.

    // $project : { title : 1, author : 1 }
    Aggregation.project(Book.class)

Original pull request: #748.
2019-07-02 14:24:09 +02:00
Mark Paluch
ff7a189c98 DATAMONGO-2296 - Polishing.
Use getCollectionName() in MongoTemplate.insert/save. Consistently use getCollectionName(Class) from ReactiveMongoTemplate and fluent API implementations.

Original pull request: #768.
2019-07-01 16:36:46 +02:00
Christoph Strobl
de144a6b0d DATAMONGO-2296 - Consistent use of getCollectionName(Class) throughout MongoTemplate.
Original pull request: #768.
2019-07-01 16:36:38 +02:00
Mark Paluch
bfe514acd7 DATAMONGO-2304 - Polishing.
Align anchor naming. Add code fences to EntityCallbacks.

Original pull request: #767.
2019-07-01 15:10:21 +02:00
Christoph Strobl
87343d2ae5 DATAMONGO-2304 - Fix documentation anchor for entity callback API.
Original pull request: #767.
2019-07-01 15:10:18 +02:00
Christoph Strobl
5e452e1be0 DATAMONGO-2305 - Upgrade to MongoDB Java Driver 3.11.0-beta4.
Tested against 4.0.9 and 4.2.0-rc1 servers.
Added a delay and left a todo in one of the tests where the 4.2.0-rc1 server takes a bit longer than it predecessor when creating indexes which can lead to BackgroundOperationInProgressForNamespace errors.

Original pull request: #764.
2019-07-01 13:31:59 +02:00
Greg Turnquist
8ce8a8307a DATAMONGO-2280 - Only test main branch for upstream triggers. 2019-06-28 19:29:51 -05:00
Greg Turnquist
df94214527 DATAMONGO-2280 - Set user.name and user.home for CI jobs. 2019-06-25 13:33:11 -05:00
Mark Paluch
31f8a63a17 DATAMONGO-2240 - Polishing.
Consistently use this for field access. Access GridFSFile through getter.

Original Pull Request: #741
2019-06-17 14:01:03 +02:00
Mark Paluch
888054bb2a DATAMONGO-2240 - Expose GridFSFile through GridFsResource and ReactiveGridFsResource.
Original Pull Request: #741
2019-06-17 14:00:08 +02:00
Christoph Strobl
29bf74c24c DATAMONGO-2256 - After release cleanups. 2019-06-14 15:12:52 +02:00
Christoph Strobl
1798678e4d DATAMONGO-2256 - Prepare next development iteration. 2019-06-14 15:12:50 +02:00
Christoph Strobl
bd78ccede9 DATAMONGO-2256 - Release version 2.2 RC1 (Moore). 2.2.0.RC1 2019-06-14 14:44:25 +02:00
Christoph Strobl
349b87a2c4 DATAMONGO-2256 - Prepare 2.2 RC1 (Moore). 2019-06-14 14:43:17 +02:00
Christoph Strobl
63ed62b988 DATAMONGO-2256 - Updated changelog. 2019-06-14 14:43:12 +02:00
Christoph Strobl
8c1a7cc163 DATAMONGO-2271 - Updated changelog. 2019-06-14 13:27:15 +02:00
Jens Schauder
597354ea7e DATAMONGO-2290 - Polishing.
Extracted complex lambdas into methods.
Added null check.

Original pull request: #762.
2019-06-13 15:18:04 +02:00