vert-x3 / vertx-mongo-client

Mongo Client for Eclipse Vert.x
http://vertx.io
Apache License 2.0
58 stars 98 forks source link

Cleanup and fixing of various issues in Options data objects #274

Closed DarwinsBuddy closed 2 years ago

DarwinsBuddy commented 2 years ago

Changes

Fixes #225 (wrong doc string) in FindOptions Fix/Update equals/hashCode/toString in DistinctOptions, FindOptions, CreateCollationOptions, CountOptions, GridFsUploadOptions, GridFsDownloadOptions, IndexOptions, IndexModel, BulkWriteOptions, AggregateOptions, UpdateOptions, ValidationOptions Change tests accordingly, since CollationOptions can be empty ("simple" collation is assumed) Fix testcase in MongoClientTest not working without registered handler (now asserted) Refine AggregateOptionsTest to assert allowDiskUse, batchSize and collation Change all primitive to boxed primitive members in CountOptions/BulkOperation/CollationOptions/CreateCollectionOptions to set them explicitly iff set Change signature of distinct methods with DistinctOptions in mongo client methods (s.t. handler is on last position; crucial for vertx-rx) Add collation to toJson method in UpdateOptions Fix equals of CollationOptions (not properly comparing alternate property)

Motivation

Unfortunately my PR #273 got closed, but not merged and various issues (e.g. not possible to provide an empty collation options object in various options data objects, equals/hashCode methods not working properly, etc.) kept being unresolved. Since I thought that @tsegismont and me were agreeing on a consensus, and I accidentally had another PR #272 (which I inadvertently closed) with the same name, I assume PR #273 got closed by accident and my suggested changes are still somehow on the table. :) As vertx-wiremongo still had to circumvent the issues, which should be fixed by this PR, we rely on these changes to make it into master, one way or the other. Thanks for looking over it once more ;) FYI: I squashed my commits from the last PR and tried to describe above (and in the commit msg) what exactly the changes were, s.t. it's easier this time to comprehend the changes and the motivation behind them. It would be great to see these changes somehow being reflected in 4.2.5 or alike.