Commit Graph

1878 Commits

Author SHA1 Message Date
Mark Paluch
37165dd76d DATAMONGO-1664 - Updated changelog. 2017-05-09 11:22:07 +02:00
Mark Paluch
b22fd056aa DATAMONGO-1667 - Rename @InfiniteStream to @Tailable.
Rename InfiniteStream annotation to Tailable to reflect the related MongoDB approach used for repository query methods returning an infinite stream. InfiniteStream is the high-level concept that is achieved by using tailable cursors.

Original Pull Request: #458
2017-05-04 15:17:14 +02:00
Mark Paluch
42672a6df9 DATAMONGO-1518 - Polishing.
Rename ICULocale to CollationLocale. Introduce interface for ComparisonLevel construction and let ICUComparisonLevel types implement that interface. Make value types immutable where possible. Provide static instances for default comparison level instances.

Replace collation conversion IndexConverters with Collation.from(…).toMongoCollation() converter. Introduce missing generic types. Replace Optional.get() with Optional.map(…).orElse(…).

Update reference documentation.

Original pull request: #459.
2017-05-04 11:36:05 +02:00
Christoph Strobl
0b169d5341 DATAMONGO-1518 - Add support for collations.
We now support collations for collections, indexes, queries, findAndModify, delete, geo, bulk and aggregation operations in both the imperative and reactive implementations on template level.

Collation collation = Collation.of("fr")
  .strength(ComparisonLevel.secondary()
    .includeCase())
  .numericOrderingEnabled()
  .alternate(Alternate.shifted().punct())
  .forwardDiacriticSort()
  .normalizationEnabled();

template.createCollection(Person.class, CollectionOptions.just(collation));

Query query = new Query(Criteria.where("firstName").is("Amél")).collation(collation);

Original pull request: #459.
2017-05-04 11:33:44 +02:00
Oliver Gierke
b9d301e525 DATAMONGO-1679 - Further removal of Serializable as requirement for identifiers. 2017-05-03 18:23:31 +02:00
Oliver Gierke
e3238593ce DATAMONGO-1679 - Adapt to API changes in repository interfaces. 2017-05-03 17:51:45 +02:00
Mark Paluch
5d8370fa90 DATAMONGO-1684 - Adopt documentation to removed JodaTime DateMidnight support.
Related ticket: DATACMNS-1014.
2017-05-03 08:34:56 +02:00
Oliver Gierke
e01c745884 DATAMONGO-1674 - Adapted to Range API changes. 2017-04-26 18:02:29 +02:00
Mark Paluch
9ae3a29103 DATAMONGO-1660 - Adapt to moved CustomConversions to Spring Data Commons.
Introduce MongoCustomConversions extending o.s.d.convert.CustomConversions.

Remove o.s.d.mongo.core.convert.CustomConversions implementation code and utility classes and let it extend MongoCustomConversions. Replace references to o.s.d.m.c.c.CustomConversions with o.s.d.convert.CustomConversions. Adapt tests and MappingMongoConverter to MongoCustomConversions.

Related ticket: DATACMNS-1035.
2017-04-24 13:20:11 +02:00
Mark Paluch
6a446cbc7f DATAMONGO-1325 - Polishing.
Add since tag to new method. Set year of inception in copyright header. Add ticket reference to test. Minor code reformatting. Add integration test.

Change query keyword for query-by-example from $sample to $example to prevent accidental collisions.

Remove Mongo 3.4-next build profile due to removed Mongo 3.4 driver snapshots.

Original pull request: #452.
2017-04-20 10:55:49 +02:00
Gustavo de Geus
d40084f78e DATAMONGO-1325 - Add $sample aggregation stage.
We now support the $sample aggregation pipeline stage via Aggregation to select a random subset of result documents.

TypedAggregation<Employee> agg = Aggregation.newAggregation(Employee.class,
		sample(5));

Original pull request: #452.
2017-04-20 10:42:50 +02:00
Mark Paluch
7bfbff0602 DATAMONGO-1205 - Polishing.
Add author tag. Extend year range in copyright header.

Original pull request: #397.
2017-04-20 08:41:22 +02:00
Martin Macko
fc377cf0f9 DATAMONGO-1205 - Log only CyclicPropertyReferenceException message.
We log CyclicPropertyReferenceException with its message only and removed the stack trace from the log. The stacktrace points to a verifier location and is not particularly useful in finding the offending code. This change creates consistency over how CyclicPropertyReferenceException is logged.

Original pull request: #397.
2017-04-20 08:41:00 +02:00
Oliver Gierke
d594afb5bb DATAMONGO-1670 - Updated changelog. 2017-04-19 21:04:19 +02:00
Oliver Gierke
3012e228c5 DATAMONGO-1669 - Updated changelog. 2017-04-19 20:01:47 +02:00
Mark Paluch
0a947da7e4 DATAMONGO-1668 - Polishing.
Replace new Sort(…) with Sort.by(…) and new PageRequest(…) with PageRequest.of(…).
2017-04-19 15:11:19 +02:00
Mark Paluch
eb85fb3a14 DATAMONGO-1668 - Adopt changed Mono and Flux error handling API.
Replace Flux/Mono.onErrorResumeWith(…) with Flux/Mono.onErrorMap(…) and turn translateException into a method returning a mapping function instead of a reactive type emitting the mapped exception.
2017-04-19 14:54:14 +02:00
Oliver Gierke
ebc8c5df3a DATAMONGO-1634 - Updated changelog. 2017-04-19 13:04:08 +02:00
Oliver Gierke
5b52af4efe DATAMONGO-1633 - Updated changelog. 2017-04-19 11:50:47 +02:00
Christoph Strobl
74161162b4 DATAMONGO-1666 - Polishing.
Some minor language level cleanups and removal of deprecated API usage.

Original Pull Request: #457
2017-04-13 11:26:18 +02:00
Mark Paluch
bcba123e32 DATAMONGO-1666 - Consider collection type in bulk DBRef fetching.
We now consider the property's collection type after bulk-fetching DBRefs before returning the actual result value. The issue got only visible if bulk fetching is possible and constructor creation is used. Setting the property value on through an property accessor works fine because the property accessor checks all values for assignability and potentially converts values to their target type. That's different for constructor creation.

Original Pull Request: #457
2017-04-13 11:25:47 +02:00
Sebastien Deleuze
935db07511 DATAMONGO-1665 - Upgraded to Reactor 3.1.0.BUILD-SNAPSHOT.
Original pull request: #456.
Related ticket: spring-projects/spring-data-build#333
2017-04-12 07:20:55 +02:00
Oliver Gierke
314b95370f DATAMONGO-1597 - Updated changelog. 2017-04-10 13:41:25 +02:00
Michael J. Simons
20929b34f1 DATAMONGO-1662 - Fix classname in reference docs about projections in aggregations.
Original pull request: #455.
2017-04-10 09:13:12 +02:00
Oliver Gierke
782bcd4d5f DATAMONGO-1535 - After release cleanups. 2017-04-04 22:08:18 +02:00
Oliver Gierke
33fb40c872 DATAMONGO-1535 - Prepare next development iteration. 2017-04-04 22:08:15 +02:00
Oliver Gierke
bf61c5782e DATAMONGO-1535 - Release version 2.0 M2 (Kay). 2017-04-04 21:12:35 +02:00
Oliver Gierke
431e71f4a0 DATAMONGO-1535 - Prepare 2.0 M2 (Kay). 2017-04-04 21:12:02 +02:00
Oliver Gierke
3192d7dd78 DATAMONGO-1535 - Updated changelog. 2017-04-04 21:11:53 +02:00
Christoph Strobl
d7a6594933 DATAMONGO-1655 - Remove obsolete build profiles.
And add snapshot profile for 3.5.0.
2017-04-03 18:37:19 +02:00
Christoph Strobl
609d6d5a19 DATAMONGO-1656 - Upgrade to MongoDB Driver 3.4.2 and Reactive Streams Driver 1.3.0.
Prepare issue branch.
2017-04-03 18:37:06 +02:00
Mark Paluch
19c8788376 DATAMONGO-1643 - Polishing.
Fix documentation for namespace types. Remove unused ReflectiveDBCollectionInvoker. Simplify tests, align bean name to mongoClient. Remove injection of Mongo in favor of injecting MongoTemplate.

Remove throws declaration from AbstractMongoConfiguration.mongoClient(). MongoClient creation does not throw checked exceptions so throwing an Exception is no longer required. Replace Mongo by MongoClient in reference documentation.

Original pull request: #451.
2017-04-03 15:36:58 +02:00
Christoph Strobl
db9934c7d8 DATAMONGO-1643 - Replace references to Mongo by MongoClient.
Remove and replace usage of "mongo" by "mongoClient". This involves xsd schema, bean names, constructor and parameter types. This required some API changes as some server commands are no longer directly available through the api, but have to be invoked via runCommand.

Also remove references to outdated API using Credentials and an authentication DB instead of MongoCredentials for authentication.

Updated and removed (unused) tests; Altered documentation.

Original pull request: #451.
2017-04-03 15:35:43 +02:00
Christoph Strobl
b5679744e7 DATAMONGO-1643 - Add and use 2.0 namespace xsd.
Original pull request: #451.
2017-04-03 15:35:27 +02:00
Mark Paluch
b1acda4188 DATAMONGO-1610 - Support RxJava 2 repositories.
Add RxJava 2 dependency. Add test to verify RxJava 2 interoperability.

Original Pull Request: #440
2017-04-03 14:57:11 +02:00
Christoph Strobl
2ab466eb35 DATAMONGO-1447 - Add support for isolations on Update.
We now allow usage of the $isolated update operator via Update.isolated().
In case isolated is set the query involved in MongoOperations.updateMulti will be enhanced by '$isolated' : 1 in case the isolation level has not already been set explicitly via eg. new BasicQuery("{'$isolated' : 0}").

Original pull request: #371.
2017-04-03 13:53:00 +02:00
Mark Paluch
e9da449667 DATAMONGO-1559 - Drop collections used in ReactiveMongoTemplateExecuteTests before tests.
We now drop the collections used in ReactiveMongoTemplateExecuteTests on test start to create a clean state for the tests. Previously, collections were dropped after the tests only so existing data in the collections could interfere with the tests themselves.
2017-03-27 08:40:10 +02:00
John Blum
6bc72a654f DATAMONGO-1648 - Rename getRepositoryFactoryClassName to getRepositoryFactoryBeanClassName. 2017-03-24 13:36:11 -07:00
Mark Paluch
4fd9edf585 DATAMONGO-1559 - Polishing.
Migrate off deprecated Cancellation API to Disposable.
2017-03-24 17:46:41 +01:00
Mark Paluch
955597bb54 DATAMONGO-1559 - Migrate reactive tests from TestSubscriber to StepVerifier. 2017-03-24 17:42:31 +01:00
Oliver Gierke
f59bbd351d DATAMONGO-1647 - Polishing. 2017-03-24 12:25:21 +01:00
Oliver Gierke
43ab3cad13 DATAMONGO-1647 - Switched to use IdentifierAccessor.getRequiredIdentifier() in MongoTemplate.doSaveVersioned(…). 2017-03-24 12:24:57 +01:00
Oliver Gierke
5ba46dadb8 DATAMONGO-1609 - Switched to Mockito from parent POM.
Moved of deprecated runner declarations.
2017-03-24 08:54:29 +01:00
Oliver Gierke
a245c0f280 DATAMONGO-1609 - Adapt to API changes in Spring Data Commons. 2017-03-24 08:54:29 +01:00
Christoph Strobl
288f244c34 DATAMONGO-1609 - Fix failing tests.
Fix issues pointed out by failing tests. Main focus was to restore functionality and not a Java 8 code cleanup. So, this one still needs some love and polishing.
2017-03-24 08:54:29 +01:00
Christoph Strobl
90bb6262f9 DATAMONGO-1609 - Fix compile errors.
Still way to go:
  - Failures: 113, Errors: 836, Skipped: 16
2017-03-24 08:54:29 +01:00
Oliver Gierke
826d00afa7 DATAMONGO-1609 - Hacking. 2017-03-24 08:54:29 +01:00
Mark Paluch
ac3f7dbf99 DATAMONGO-1645 - Polishing.
Clean up appender and log level after test run. Suppress log output during tests.

Original pull request: #450.
2017-03-21 10:52:14 +01:00
Christoph Strobl
f70e1fa291 DATAMONGO-1645 - Safely serialize JSON output for log message in LoggingEventListener.
We now make sure to safely serialize JSON output for mapped documents. This prevents the logger from rendering false exception messages to log appender.

Original pull request: #450.
2017-03-21 10:45:13 +01:00
Mark Paluch
a84c4b064d DATAMONGO-1637 - Polishing.
Move aggregation options conversion to AggregationOptions.getMongoAggregationOptions(). Allow cursor options to control cursor batch size. Add command logging to stream execution. Rearrange method order. Close cursor in tests. Change author name from user name to full name.

Original pull request: #447.
2017-03-21 09:57:25 +01:00