Add tests to verify expected behaviour of quoted expressions and string that look like expressions.
Remove comments that look like old merge conflict left overs and apply code format.
Original Pull Request: #4807
This change makes sure to apply conversion to non native mongo types when the context does not expose fields.
Closes: #4722
Original pull request: #4723
Fix ComputedFieldAppender as it is used in public API. Add missing Nullable annotation.
Switch to switch expressions.
Original pull request #4751
See #4745
This commit fixes an issue where settings regarding storage of null values had been ignored if a custom converter took care of the conversion.
Original pull request: #4728Closes#4710
We now use a different utility method that is aware of whether a return type maps to Kotlin's Unit to indicate a void return type.
Previously, we only checked for Java's void types.
Closes#4772
This commit makes sure to generate required cglib proxies during AOT phase so they are ready to use within a native image. Prior to this change default sorting raised an error as class generation is not allowed in a GraalVM native image.
Original pull request: #4747Closes#4744
We now compare the other object whether it equals the delegate in case UnwrappedMongoPersistentProperty.equals is being called with the MongoPersistentProperty retrieved from a MappingContext.
This ensures that unwrapped properties can be compared to vanilla MongoPersistentProperty instances when checking constructor/creator method correlation of parameters.
Closes#4732
Introduce FieldLookupPolicy and methods to create field-exposing/inheriting AggregationOperationContexts.
Move off RelaxedTypeBasedAggregationOperationContext.
See #4714
Original pull request: #4720
Parsing of string based aggregations lead to multiple invocations of potential converters due to missing reuse of bound parameter value as well as attempts to verify out/merge stages within the pipeline that triggered the stage to be converted into the target document.
The changes in this commit, reduce the number down to 2. One for examining potential expression dependencies and one for the actual conversion and parameter binding.
See #4712
Original pull request: #4717