Commit Graph

2505 Commits

Author SHA1 Message Date
Mark Paluch
eb4eecdc99 After release cleanups.
See #2525
2022-01-14 14:43:22 +01:00
Mark Paluch
73e4c56289 Prepare next development iteration.
See #2525
2022-01-14 14:43:19 +01:00
Mark Paluch
463468c9fe Release version 3.0 M1 (2022.0.0).
See #2525
2022-01-14 14:35:09 +01:00
Mark Paluch
717db1c073 Prepare 3.0 M1 (2022.0.0).
See #2525
2022-01-14 14:34:47 +01:00
Jens Schauder
38f50e3da8 Remove Eclipse Non-Javadoc comments.
Closes #2522
2022-01-13 18:51:02 +01:00
Mark Paluch
8ec01cb816 Fix spliterator size hint in CloseableIterator.spliterator().
We now report -1 as size to avoid zero-size results for count() or toList() operators.

Closes #2519
2022-01-13 18:50:55 +01:00
Mark Paluch
a56ef010da Remove own class reading infrastructure in favor of extensions to AnnotationMetadata.
We now remove fully our own class-reading visitors as AnnotationMetadata exposes getDeclaredMethods.
MethodsMetadataReaderFactory and MethodsMetadataReader remain deprecated bridging return types to retain backward compatibility.

Closes #2520
2022-01-13 18:49:23 +01:00
Christoph Strobl
2ee509b707 Remove invalid imports from types used for ASM metadata parsing.
See #2498
2022-01-13 18:49:23 +01:00
Mark Paluch
227c50b02d Introduce local copies of removed Spring Framework API for ASM metadata parsing.
Should be removed after revisiting our design.

See #2498
2022-01-13 18:49:23 +01:00
Mark Paluch
54c96dde8b Move off deprecated Spring Framework API.
See #2499
2022-01-13 18:49:23 +01:00
Mark Paluch
c735b58607 Migrate code to Java 17 style.
Use var instead of explicit local types where applicable. Use pattern variable instead instanceof and cast. Prefer loops and nullable types over Stream and Optional. Convert classes to records where applicable.

See #2465
2022-01-13 18:49:07 +01:00
Mark Paluch
d4036ec0a9 Drop support for RxJava 2.
Closes #2469
2022-01-13 18:45:48 +01:00
Mark Paluch
20a1220cd1 Drop support for RxJava 1.
Closes #2469
2022-01-13 18:45:48 +01:00
Mark Paluch
5a59e43745 Migrate to Jakarta EE 9.
Rename javax imports to jakarta, switch to Jakarta API artifacts.

Closes #2464
2022-01-13 18:45:48 +01:00
Jens Schauder
7cfc0c2a8c Use the correct MappingContext for constructing the PersistentEntities.
See #2467
2022-01-13 18:45:48 +01:00
Jens Schauder
fcf786b4ae Stop using deprecated constructor of AuditHandler for XML configuration.
Introduces PersistentEntitiesFactoryBean.

Closes #2467
2022-01-13 18:45:48 +01:00
Mark Paluch
e75bb40b2e Polishing.
See #2423
2022-01-13 18:45:48 +01:00
Mark Paluch
2618221115 General removal of deprecated API.
See #2466
2022-01-13 18:45:48 +01:00
Mark Paluch
aecdf5001a Remove deprecated EntityInstantiator in convert package in favor of instantiators in mapping.model.
See #2466
2022-01-13 18:45:47 +01:00
Mark Paluch
582319a5fe Remove support for Joda Time and ThreeTenBackport.
Closes #2276
2022-01-13 18:45:47 +01:00
Mark Paluch
f417c4ca13 Upgrade to Java 17.
Avoid usage of encapsulated tests as dummies. Add dependency override for ASM dependencies.

Use Java 17 in CI pipeline.

Closes #2465
2022-01-13 18:45:47 +01:00
Mark Paluch
33428fe5ad Prepare Spring Data 3.0 branch.
Closes #2463.
2022-01-13 18:45:47 +01:00
Mark Paluch
3f44d268b6 Fix spliterator size hint in CloseableIterator.spliterator().
We now report -1 as size to avoid zero-size results for count() or toList() operators.

Closes #2519
2022-01-03 13:50:33 +01:00
Jens Schauder
6cf2634a64 Fixed dependency cycle.
Closes #2514
2021-12-14 15:06:14 +01:00
Christoph Strobl
ecec2e5666 Polishing.
Replace boolean flag with enum, assert open vs. closed projection and update javadoc.

Original Pull Request: #2420
2021-12-13 13:03:18 +01:00
Mark Paluch
a63774e6ec Add support for properties using deep map-in-map/list-in-map nesting.
Original Pull Request: #2420
2021-12-13 13:02:52 +01:00
Mark Paluch
0744580766 Move EntityProjection from inner class to top-level class.
Original Pull Request: #2420
2021-12-13 13:02:25 +01:00
Mark Paluch
0c80e9fa46 Add Predicates utility.
Original Pull Request: #2420
2021-12-13 13:02:01 +01:00
Mark Paluch
b189240aaf Polishing.
Original Pull Request: #2420
2021-12-13 13:01:27 +01:00
Mark Paluch
caa8c6afc5 Refactor PropertyFilterSupport into EntityProjectionIntrospector.
Original Pull Request: #2420
2021-12-13 13:00:59 +01:00
Mark Paluch
9948fefe69 Provide class for inspecting nested projections.
Original Pull Request: #2420
2021-12-13 13:00:20 +01:00
heowc
8969a55c27 Add @Nullable to ParametersParameterAccessor.getValue().
Add missing Override and Nullable annotations. Update Javadoc to mention correct return value.

Closes #2506
2021-12-13 10:53:59 +01:00
Mark Paluch
ea335f06ef Polishing.
Add missing override annotations.

See #2508
2021-12-09 11:18:51 +01:00
Mark Paluch
6a52f274f6 Introduce configuration of class loader in SimpleTypeInformationMapper.
We now support configuration of the class loader in SimpleTypeInformationMapper to use a configured class loader instead of falling always back to the default/contextual class loader. In arrangements where the contextual class loader isn't able to provide access to the desired classes (e.g. parallel Streams, general Fork/Join Thread usage) the contextual class loader may not have access to the entity types. By implementing BeanClassLoaderAware, we can now propagate a configured class loader.

Closes #2508
2021-12-09 11:17:46 +01:00
Mark Paluch
ef522f8e9c Polishing.
Extract duplicate calls to findAnnotation(…) into static helper methods.

See #2500
2021-12-08 14:04:36 +01:00
XenoAmess
ca723d11c7 Use AnnotationUtils.findAnnotation(…) instead of AnnotatedElement.isAnnotationPresent(…).
Enable use of meta annotations by leveraging MergedAnnotations.

Closes #2500
2021-12-08 10:15:06 +01:00
Mark Paluch
8bd81a796d Fix argument expansion in RepositoryFactorySupport logging.
Closes #2502
2021-12-07 09:32:51 +01:00
Mark Paluch
788457c901 Migrate off SLF4J to Spring JCL.
Closes #2496
2021-11-16 10:48:56 +01:00
Jens Schauder
1040452c62 After release cleanups.
See #2484
2021-11-12 10:59:43 +01:00
Jens Schauder
51fd81eca1 Prepare next development iteration.
See #2484
2021-11-12 10:59:41 +01:00
Jens Schauder
ba84e875ff Release version 2.6 GA (2021.1.0).
See #2484
2021-11-12 10:49:36 +01:00
Jens Schauder
153108a3af Prepare 2.6 GA (2021.1.0).
See #2484
2021-11-12 10:49:15 +01:00
Mark Paluch
55b83dfa83 Refine documentation for PageableExecutionUtils.
Closes #2492
2021-11-09 14:48:42 +01:00
Oliver Drotbohm
c866b42025 Polishing.
A few further tweaks: ClassTypeInformation now never unwraps the user type to consistently work with the type originally presented in the lookup. That allows us to get rid of the custom equals(…)/hashCode() methods and removes the need to deal with original and user type in the same CTI instance.

The augmented caching of PersistentEntities in AbstractMappingContext now primarily happens in doAddPersistentEntity(…). We still need to implement a cache manipulation for the case that a user type has caused the creation of a PersistentEntity first and we see a lookup for the proxy type later. Before actually processing the TypeInformation we now try to lookup an already existing PersistentEntity for the user type and augment the cache if one was found.

See #2485
Original pull request: #2486.
2021-10-27 12:19:15 +02:00
Mark Paluch
ac9d11638c Polishing.
Remove isProxyTypeInformation from TypeInformation. Use computeIfAbsent to fall back to user type information when attempting to add a entity to the MappingContext.

See #2485
Original pull request: #2486.
2021-10-27 09:19:36 +02:00
Christoph Strobl
c30f3fc8af Create PersistentEntities only for user class in case of proxy instance.
This commit makes sure to only create a PersistentEntity for an actual user type. Therefore ClassTypeInformation now considers the given type and not only the user one for both equals and hashcode. This makes sure we can distinguish TypeInformation for a proxy from the one of a user class.
The AbstractMapping context will take care of unpacking proxied types and registering the created entity for both the user as well as the proxy type information.
Prior to this commit build time generated proxy instances would have been able to pollute the context depending on the order they had been served by the initial entity set.

Closes #2485
Original pull request: #2486.
2021-10-27 09:19:36 +02:00
Mark Paluch
69397a11b2 Polishing.
Reduce test element visibility, remove unused constant.

See #2472
2021-10-19 14:31:20 +02:00
Mark Paluch
7c1886201c Consider nested property paths containing a number.
PropertyPath now considers nested property paths (userLastname2 -> user.lastname2) that contain or end with a number.

Closes #2472
2021-10-19 14:31:20 +02:00
Mark Paluch
96ad5d7fb0 After release cleanups.
See #2462
2021-10-18 13:55:41 +02:00
Mark Paluch
99e55bf6cf Prepare next development iteration.
See #2462
2021-10-18 13:55:38 +02:00