Commit Graph

2076 Commits

Author SHA1 Message Date
Mark Paluch
461647403d DATACMNS-1698 - Reduce allocations in EntityCallbackDiscoverer.
We now detect whether callbacks are present before we create result lists instead of always allocating a Collection. CallbackRetriever now also returns a cached variant of its list of callbacks instead of always allocating a new ArrayList.
2020-04-06 14:34:18 +02:00
Mark Paluch
c3b107c034 DATACMNS-1680 - After release cleanups. 2020-03-31 15:08:05 +02:00
Mark Paluch
4fc3a8ea5c DATACMNS-1680 - Prepare next development iteration. 2020-03-31 15:08:04 +02:00
Mark Paluch
8f7610ec6b DATACMNS-1680 - Release version 2.3 RC1 (Neumann). 2020-03-31 14:59:41 +02:00
Mark Paluch
f1757364f9 DATACMNS-1680 - Prepare 2.3 RC1 (Neumann). 2020-03-31 14:59:20 +02:00
Mark Paluch
448323851c DATACMNS-1680 - Updated changelog. 2020-03-31 14:59:11 +02:00
Oliver Drotbohm
6b581927c9 DATACMNS-1691 - Update .gitignore to include more STS config files. 2020-03-26 13:45:27 +01:00
Mark Paluch
20acc8707e DATACMNS-1675 - Updated changelog. 2020-03-25 10:59:46 +01:00
Mark Paluch
a0abf009a0 DATACMNS-1689 - Resolve suspendable query method result type from Continuation parameter.
Kotlin coroutine methods are compiled returning Object so the original return type gets lost. We resolve the return type from the Continuation parameter that synthetized as last parameter in a coroutine method declaration.
2020-03-19 10:45:27 +01:00
Mark Paluch
f047743cfa DATACMNS-1683 - Rebuild quotation index from rewritten SpEL query.
We now use the correct quotation map that is based on the rewritten SpEL query to detect whether an expression was quoted.
Previously, we used the quotation map from the original query.
After augmenting the query with synthetic parameters, the quotation offset no longer matched the query that ß∑was under inspection and calls to SpelExtractor.isQuoted(…) could report an improper result.

Original pull request: #434.
2020-03-17 11:02:10 +01:00
Mark Paluch
69e6958aa2 DATACMNS-1683 - Polishing.
Trim trailing whitespaces.

Original pull request: #434.
2020-03-17 11:01:24 +01:00
Mark Paluch
582242e76b DATACMNS-1685 - Provide documentation for custom conversions.
Add common section to be included in documentation.
2020-03-17 10:33:47 +01:00
Mark Paluch
e962f6bfc3 DATACMNS-1684 - Polishing.
Reformat sources.
2020-03-17 10:05:55 +01:00
Mark Paluch
ecab3bc5a9 DATACMNS-1684 - Fix grammar in reference documentation. 2020-03-17 10:05:22 +01:00
Mark Paluch
54d9f01619 DATACMNS-658 - Polishing.
Introduce caseSensitive() flag to `@SortDefault`. Move sort spec parsing into parser class. Update documentation.

Original pull request: #172.
2020-03-11 10:18:54 +01:00
Dan Nawrocki
9ef3099711 DATACMNS-658 - Add IgnoreCase ordering option to SortHandlerMethodArgumentResolver.
We now pick up case-insensitive sorting flags by parsing it up from a sort query string argument.

To enable ignore case for one or more properties, we expect "ignorecase" as last element in a sort spec. Sort order and case-sensitivity options are parsed case-insensitive for a greater flexibility:

http://localhost/?sort=firstname,IgnoreCase or http://localhost/?sort=firstname,ASC,ignorecase

Original pull request: #172.
2020-03-11 10:15:29 +01:00
Jens Schauder
f2a6391273 DATACMNS-1667 - After release cleanups. 2020-03-11 09:57:42 +01:00
Jens Schauder
7e4f930078 DATACMNS-1667 - Prepare next development iteration. 2020-03-11 09:57:41 +01:00
Jens Schauder
f42236c4a8 DATACMNS-1667 - Release version 2.3 M4 (Neumann). 2020-03-11 09:47:07 +01:00
Jens Schauder
0eb397e974 DATACMNS-1667 - Prepare 2.3 M4 (Neumann). 2020-03-11 09:46:29 +01:00
Jens Schauder
a96da8107a DATACMNS-1667 - Updated changelog. 2020-03-11 09:46:15 +01:00
Mark Paluch
4bd49f3f01 DATACMNS-1679 - Make ReactiveWrappers.ReactiveLibrary public.
Fix visibility for type that is used in the public API.
2020-03-11 08:47:42 +01:00
Mark Paluch
3831332f26 DATACMNS-1650 - Updated changelog. 2020-02-26 11:55:04 +01:00
Mark Paluch
5a3182aa18 DATACMNS-1648 - Updated changelog. 2020-02-26 11:31:47 +01:00
Mark Paluch
ed7561a880 DATACMNS-1673 - Polishing.
Convert instance field to constant. Use parameter count for iteration instead of cloning the parameter array.

Original pull request: #426.
2020-02-25 09:43:16 +01:00
SergiiTsypanov
eaaa37d4ff DATACMNS-1673 - Polishing.
Use method references where possible. Cleanup generics. Omit superfluous calls.

Original pull request: #426.
2020-02-25 09:39:17 +01:00
SergiiTsypanov
5f3102144c DATACMNS-1673 - Use Method.getParameterCount() where possible to improve performance.
Original pull request: #426.
2020-02-25 09:39:12 +01:00
Zed Spencer-Milnes
48e49babe3 DATACMNS-1672 - Fix code sample in documentation.
Add required parentheses to method call.

Original pull request: #335.
2020-02-25 09:29:12 +01:00
wonwoo
12b9850a85 DATACMNS-1672 - Fix typos in Javadoc.
Original pull request: #431.
2020-02-25 09:23:52 +01:00
Mark Paluch
09e3bedf74 DATACMNS-1671 - Forward-port unit test.
Add unit test to remain consistent across branches.
2020-02-24 15:40:08 +01:00
Mark Paluch
64d08294ae DATACMNS-1655 - After release cleanups. 2020-02-12 15:04:22 +01:00
Mark Paluch
a4cc2209f8 DATACMNS-1655 - Prepare next development iteration. 2020-02-12 15:04:21 +01:00
Mark Paluch
1d47b5bd63 DATACMNS-1655 - Release version 2.3 M3 (Neumann). 2020-02-12 14:47:16 +01:00
Mark Paluch
c952998740 DATACMNS-1655 - Prepare 2.3 M3 (Neumann). 2020-02-12 14:46:56 +01:00
Mark Paluch
705baa540e DATACMNS-1655 - Updated changelog. 2020-02-12 14:46:47 +01:00
Henri
f0d7a657fc DATACMNS-1212 - Remove unnecessary conversion between Instant and ZonedDateTime.
Converting from instant to ZoneDateTime and back to Instant does not seem to have a purpose as the timezone information will never be used

Original pull request: #260.
2020-02-12 12:02:14 +01:00
minsungryu
656fb75c22 DATACMNS-1661 - Add missing parameter to object-mapping property population in reference docs.
Original pull request: #429.
2020-02-12 11:43:14 +01:00
Mark Paluch
ea9c6176af DATACMNS-1666 - Deprecate Joda-Time and ThreeTenBackport support.
Joda-Time and ThreeTenBackport converters are now deprecated in favor of JSR-310 (java.time) support. These converters are now in maintenance mode without receiving future enhancements.
2020-02-12 10:52:07 +01:00
Mark Paluch
148c859be6 DATACMNS-1665 - Consider store conversions as ConverterRegistrationIntent.
Store converters are now properly considered as registration candidates.

Original Pull Request: #430
2020-02-11 10:28:07 +01:00
Mark Paluch
09153baf62 DATACMNS-1615 - Polishing.
Replace list creation with constant. Replace ConverterConfiguration.skipFor list with Predicate for flexible conditions. Fix typo. Simplify conditionals.

Original pull request: #421.
2020-02-07 12:14:05 +01:00
Christoph Strobl
dbcf9aefff DATACMNS-1615 - Allow fine grained store specific converter registration.
CustomConversions now registers all given user defined converters and selects only those converters from the StoreConversions that convert to or from a store supported simple type.
By doing so we make sure to only register supported converters which removes warning messages from the log and reduces the number of converters within the ConversionService.

Original pull request: #421.
2020-02-07 12:13:54 +01:00
Oliver Drotbohm
d5786edec7 DATACMNS-1610 - Polishing. 2020-02-03 13:53:17 +01:00
Oliver Drotbohm
5cdb3139a4 DATACMNS-1610 - Improved property path access.
We now expose a dedicated PersistentPropertyPathAccessor and optionally take options for both the read and write access to properties. On read, clients can define to eagerly receive null in case one of the path segments is null. By default, we reject those as it indicates that there might be an issue with the backing object if the client assumes it can look up the more deeply nested path to receive a result.

On write access clients can define to either reject, skip or log intermediate null segments where skip means, that the setting is just silently aborted. Clients can also control how to deal with collection and map intermediates. By default we now propagate the attempt to set a value to all collection or map items respectively. This could be potentially extended to provide a filter receiving both the property and property value to selectively propagate those calls in the future.

The separation of these APIs (PersistentPropertyAccessor and PersistentPropertyPathAccessor) is introduced as the latter can be implemented on top of the former and the former potentially being dynamically generated. The logic of the latter can then be clearly separated from the actual individual property lookup. ConvertingPropertyAccessor is now a PersistentPropertyPathAccessor, too, and overrides SimplePersistentPropertyPathAccessor.getTypedProperty(…) to plug in conversion logic. This allows custom collection types being used if the ConversionService backing the accessor can convert from and to Collection or Map respectively.

Deprecated all PersistentPropertyPath-related methods on PersistentPropertyAccessor for removal in 2.3.

MappingAuditableBeanWrapperFactory now uses these new settings to skip both null values as well as collection and map values when setting auditing metadata.

Related tickets: DATACMNS-1438, DATACMNS-1461, DATACMNS-1609.
2020-02-03 13:11:44 +01:00
taeyeonkim
70f973f6f9 DATACMNS-1660 - Add anchor to object-mapping recommendations in reference docs.
Original pull request: #428.
2020-01-28 15:08:30 +01:00
Mark Paluch
b69ef25dc2 DATACMNS-1652 - After release cleanups. 2020-01-17 09:47:50 +01:00
Mark Paluch
fa1e9dc199 DATACMNS-1652 - Prepare next development iteration. 2020-01-17 09:47:49 +01:00
Mark Paluch
562cb60acf DATACMNS-1652 - Release version 2.3 M2 (Neumann). 2020-01-17 09:39:03 +01:00
Mark Paluch
a15834b7a8 DATACMNS-1652 - Prepare 2.3 M2 (Neumann). 2020-01-17 09:38:43 +01:00
Mark Paluch
2ad517c7a2 DATACMNS-1652 - Updated changelog. 2020-01-17 09:38:33 +01:00
Mark Paluch
5bd2bc5bb9 DATACMNS-1587 - After release cleanups. 2020-01-16 16:11:55 +01:00