Commit Graph

1202 Commits

Author SHA1 Message Date
Juhyoung Jeon
42c80aeee6 DATACMNS-1479 - Fix usage of PageRequest in reference documentation.
Previously, the docs still showed the usage of the constructor of PageRequest, which has now been changed to an ….of(…) factory method.
2019-02-12 19:06:11 +01:00
Greg Turnquist
8c076f921d DATACMNS-1470 - Upgrade to Spring HATEOAS 1.0 API 2019-02-02 00:09:48 +01:00
Oliver Drotbohm
e3d80aa69a DATACMNS-1476 - Polishing. 2019-01-28 11:05:29 +01:00
Oliver Drotbohm
8c75a92b24 DATACMNS-1476 - Added Slice.nextOrLastPageable() and ….previousOrFirstPageable().
We now expose methods that allow to traverse the Pageables but make sure we stay within the result bounds.

Related ticket: DATACMNS-1475.
2019-01-28 11:05:29 +01:00
Oliver Drotbohm
b5972257af DATACMNS-1475 - Fixed Javadoc of Slice.nextPageable() and ….previousPageable().
Documented Slice.nextPageable() and ….previousPageable() to return Pageable.unpaged() instead of null.

Follow-up ticket: DATACMNS-1476.
2019-01-28 11:05:17 +01:00
Christoph Strobl
0c1811946d DATACMNS-1081 - Polishing.
Update Javadoc.

Original Pull Request: #331
2019-01-23 10:24:43 +01:00
Mark Paluch
73eb4ca928 DATACMNS-1081 - Add ReactiveQuerydslPredicateExecutor.
We now ship with a common interface for reactive repositories that want to support Querydsl.

Original Pull Request: #331
2019-01-23 10:23:34 +01:00
Oliver Drotbohm
1b0f9b8c62 DATACMNS-1439 - Polishing.
Extended copyright years. More reasonable defaults in the mock implementation of ImplementationDetectionConfiguration in case someone might want to reuse it in other test cases.

Original pull request: #325.
2019-01-15 12:57:18 +01:00
Mark Paluch
c755c71a36 DATACMNS-1439 - Polishing.
Reformat, remove trailing whitespaces.

Original pull request: #325.
2019-01-15 12:57:18 +01:00
Mark Paluch
9fe35a24c9 DATACMNS-1439 - Use Java Beans decapitalization for default repository implementation bean names.
We now use Java Beans Introspector during default bean name derivation from class names. Previously, we used String.decapitalize(…) which decapitalizes always the first character. Java Beans do not decapitalize upper case sequences so a class name com.acme.UDPRepository translates to a bean name with UDPRepository instead of uDPRepository.

Original pull request: #325.
2019-01-15 12:57:18 +01:00
Oliver Drotbohm
fe1ccd50be DATACMNS-1466 - Polishing. 2019-01-11 11:48:26 +01:00
Oliver Drotbohm
e0c08e64e8 DATACMNS-1466 - Fixed potential ArrayIndexOutOfBoundsException in DefaultPersistentPropertyPath.
Introduced explicit content checks in ….getLeafProperty() and ….getBaseProperty().
2019-01-11 11:48:23 +01:00
Mark Paluch
92848cd178 DATACMNS-1426 - Updated changelog. 2019-01-10 14:15:38 +01:00
Mark Paluch
53ec026484 DATACMNS-1425 - Updated changelog. 2019-01-10 12:26:31 +01:00
Mark Paluch
28dae00203 DATACMNS-1424 - Updated changelog. 2019-01-10 11:01:17 +01:00
Mark Paluch
1969f4bcdc DATACMNS-1459 - Update copyright years to 2019. 2019-01-02 12:12:19 +01:00
Oliver Drotbohm
0877ca8e11 DATACMNS-1456 - Polishing. 2018-12-21 15:17:51 +01:00
Oliver Drotbohm
135272ec3e DATACMNS-1456 - ExtensionAwareEvaluationContextProvider now uses a ConcurrentHashMap as cache. 2018-12-21 15:17:42 +01:00
Oliver Drotbohm
566e6a3258 DATACMNS-1455 - HateoasPageableHandlerMethodArgumentResolver handles Pageable.unpaged() coprrectly.
Pageable.unpaged() is now effectively handled like a null value given in the 1.x branch.
2018-12-21 09:55:11 +01:00
Oliver Drotbohm
bb44322b3a DATACMNS-1453 - Polishing.
Renamed test methods and made use of AssertJ assertions to verify exceptions being thrown.

Original pull request: #328.
2018-12-20 15:53:20 +01:00
Francisco Soler
789099f6b9 DATACMNS-1453 - Fixed wrong assertion in AuditingBeanDefinitionRegistrarSupport.
Original pull request: #328.
2018-12-20 15:52:06 +01:00
Oliver Drotbohm
d8705c1cca DATACMNS-1448 - Repositories now favors primary repositories.
If multiple repositories pointing to a single domain type are found we now favor the one registered as primary bean definition. This allows allows reliable disambiguation on which repository is supposed to be used for generic repository interactions.

Related tickets: DATAREST-923.
2018-12-12 22:33:02 +01:00
Oliver Drotbohm
97390a1eef DATACMNS-1447 - Streamable now exposes Collectors.
Added Streamable.toStreamable() and ….toStreamable(Collector) to allow the creation of a Streamable from streams wither using a default List-based intermediate collector (former) or providing an explicit one (latter).
2018-12-12 11:26:15 +01:00
Christoph Strobl
8021dc35ba DATACMNS-1441 - Prepare 2.2 M1 (Moore). 2018-12-11 10:53:11 +01:00
Christoph Strobl
250d396a8f DATACMNS-1441 - Updated changelog. 2018-12-11 10:53:07 +01:00
Oliver Drotbohm
0731b72ea5 DATACMNS-1444 - Polishing.
Removed references to Serializable in repository interface declarations. Reformatting to waste less space with lines only containing ellipsis.
2018-12-11 10:01:16 +01:00
Oliver Drotbohm
defbff4bea DATACMNS-1444 - Restructured query method documentation.
Moved collection return type and nullability handling to query method sections.
2018-12-11 09:41:06 +01:00
Oliver Drotbohm
638e9569cb DATACMNS-1444 - Added documentation on Streamable and collection return types.
Includes documentation of Vavr return types.
2018-12-11 09:40:21 +01:00
Oliver Drotbohm
f2967a919e DATACMNS-1443 - Fixed Querydsl web data binding for blank strings.
We now use StringUtils.hasLength(…) in the check whether to drop request elements from binding instead of ….hasText(…) as the latter drops blank strings so that's impossible to search for properties that contain a blank.
2018-12-10 16:55:26 +01:00
Mark Paluch
901d8b60b9 DATACMNS-1442 - Simplify reference documentation setup. 2018-12-10 10:05:59 +01:00
Oliver Drotbohm
4537c11eba DATACMNS-1440 - Added converters to parse LocalDate(Time) and Instant from their toString() representation. 2018-12-08 12:28:00 +01:00
Oliver Drotbohm
b3879a2f4f DATACMNS-1346 - Polishing.
License headers, Javadoc, @since tags.

Original pull request: #299.
2018-12-07 15:47:11 +01:00
Sebastien Deleuze
9554185a9e DATACMNS-1346 - Add a findByIdOrNull(…) extension to CrudRepository.
In Kotlin, it is idiomatic to deal with return value that could have or not a result with nullable types since they are natively supported by the language. This commit adds CrudRepository.findByIdOrNull(…) variant to CrudRepository#findById that returns T? instead of Optional<T>.

Original pull request: #299.
2018-12-07 15:45:54 +01:00
Oliver Drotbohm
e6213135e2 DATACMNS-1438 - Integration test showing that auditing is working in general. 2018-12-06 10:35:49 +01:00
Oliver Drotbohm
75c9ab0a63 DATACMNS-1430 - Tweaked TypeDiscoverer to consider subtypes of Streamable collection like. 2018-12-04 15:43:54 +01:00
Oliver Drotbohm
db6e4cc024 DATACMNS-1434 - Removed Javaslang support. 2018-12-04 14:05:24 +01:00
Oliver Drotbohm
a3a5c8e484 DATACMNS-1433 - Added additional Streamable.and(…) flavors for convenience.
Removed superfluous Streamable creation from DefaultImplementationlookupConfiguration.
2018-12-04 12:46:06 +01:00
Oliver Drotbohm
9b39f51635 DATACMNS-1432 - Added Streamable.toList() and ….toSet() for convenience. 2018-12-04 12:40:14 +01:00
Oliver Drotbohm
cf1eaff784 DATACMNS-1430 - Support for returning wrapper types of Streamable.
Extended IterableToStreamableConverter in use in QueryExecutionConverters so that it can not only return Streamable instances but also instances of types that have a factory method or constructor taking a Streamable (by making use of the ObjectToObjectConverter in a default ConversionService).
2018-12-04 11:47:56 +01:00
Oliver Drotbohm
840addcdbe DATACMNS-993 - Polishing.
Removed System.out in ShadowingClassLoader.
2018-12-04 11:43:38 +01:00
Mark Paluch
39c6099ef2 DATACMNS-1414 - Updated changelog. 2018-11-27 14:54:01 +01:00
Mark Paluch
2332cef876 DATACMNS-1407 - Updated changelog. 2018-11-27 12:36:43 +01:00
Mark Paluch
cc013129f9 DATACMNS-1408 - Updated changelog. 2018-11-27 11:27:19 +01:00
Mark Paluch
596b0d8177 DATACMNS-1422 - Fall back to reflection-based PropertyAccessor/EntityInstantiator on inaccessible framework types.
We now fall back to reflection-based PropertyAccessor/EntityInstantiator strategies when framework types are not visible by the entity's ClassLoader.

Typically, we use class generation to create and load PropertyAccessor and EntityInstantiator classes to bypass reflection. Generated types are injected into the ClassLoader that has loaded the actual entity. Generated classes implement framework types such as ObjectInstantiator and these interfaces must be visible to the ClassLoader that hosts the generated class. Some arrangements, such as OSGi isolate class repositories so the OSGi class loader cannot load our own types which prevents loading the generated class.

Original pull request: #324.
2018-11-23 15:19:54 +01:00
Oliver Drotbohm
9791bb9354 DATACMNS-1421 - Polishing.
Extracted method filter into dedicated method. Changed method order according to conventions.

Original pull request: #323.
2018-11-19 19:46:03 +01:00
Mark Paluch
5bbb458dc5 DATACMNS-1421 - Lookup most specific wither method for a property.
We now inspect all methods that match the wither method pattern (name, accepting a single argument) to find the most specific method returning the actual entity type.

Previously, we attempted to find a method only considering name and argument properties and not the return type. This lookup strategy could find a method returning the entity super type that isn't assignable to the entity type.

Original pull request: #323.
2018-11-19 19:46:03 +01:00
Oliver Drotbohm
9d16739943 DATACMNS-1419 - Added TypeInformation.isSubtypeOf(…). 2018-11-19 19:21:33 +01:00
Mark Paluch
caaec1b862 DATACMNS-1415 - Use thread-safe caching in SpelAwareProxyProjectionFactory.
We now use ConcurrentHashMap as type instead of HashMap to properly synchronize concurrent updates to missing cache elements.

The previously used HashMap was not thread-safe so concurrent modifications resulted in ConcurrentModificationException.
2018-11-12 16:01:21 +01:00
Mark Paluch
443606bfa8 DATACMNS-1406 - Updated changelog. 2018-10-29 14:30:28 +01:00
Mark Paluch
8cea52125d DATACMNS-1403 - Polishing.
Rewrite auditing example to functional use of java.util.Optional.

Original pull request: #321.
2018-10-16 15:12:52 +02:00