Commit Graph

960 Commits

Author SHA1 Message Date
Christoph Strobl
95400c18bb DATAREST-1141 - Prepare 3.1 M1 (Lovelace). 2018-02-06 09:45:50 +01:00
Christoph Strobl
3eac353eb8 DATAREST-1141 - Updated changelog. 2018-02-06 09:45:47 +01:00
Mark Paluch
20151dc4bb DATAREST-1162 - Updated changelog. 2018-01-24 13:41:25 +01:00
Mark Paluch
e351a0c395 DATAREST-1161 - Updated changelog. 2018-01-24 12:22:14 +01:00
Oliver Gierke
9c9d125d78 DATAREST-1177 - DefaultExposureAwareCrudMethods now caches results. 2018-01-24 11:06:25 +01:00
Mark Paluch
5b47d8c95b DATAREST-1184 - Adapt to CORS changes in Spring Framework 5.0.3. 2018-01-24 10:26:34 +01:00
Oliver Gierke
a10aa934b7 DATAREST-1176 - Repository method exposure can now be controlled via RepositoryRestConfiguration.
The default exposure of repository methods is now controlled via RepositoryRestConfiguration.setExposeRepositoryMethodsByDefault(…). That allows us to remove the additional API from RepositoryDetectionStrategy as the mere detection is an orthogonal topic.

Also added RepositoryRestConfiguration.disableDefaultExposure() to set the RepositoryDetectionStategy to ANNOTATED and disables default method exposure in one go. That can be exposed via a Spring Boot configuration property downstream.
2018-01-18 18:41:07 +01:00
Oliver Gierke
6b61d2b026 DATAREST-1176 - Polishing.
Moved the flag to decide whether to expose repository methods by default to the RepositoryDetectionStrategy interface, so that it can be directly accessed and the test on the particular enum value is not needed anymore and thus also not duplicated into different parts of the codebase.

Added more tests to actually verify behavior on CrudMethodsSupportedHttpMethods. DefaultExposureAwareCrudMethods uses @RequiredArgumentConstructor again.
2018-01-18 18:41:07 +01:00
Tobias Weiß
5172f89281 DATAREST-1176 - Add explicitly method annotated detection strategy 2018-01-18 18:41:07 +01:00
Simon Allegraud
d4a3ba1195 DATAREST-1181 - Prevent NullPointerException during JsonLateObjectEvaluator.evaluate(…).
Original pull request: #287.
2018-01-18 13:49:53 +01:00
Oliver Gierke
7edfc75472 DATAREST-1174 - Enable constructor properties to make sure WrappedPropertiesUnitTests continue to work.
Removed Lombok constructor and accessor generation to avoid having to deal with the changed default in Lombok 1.16.20 not generating @ConstructorProperties by default anymore.
2018-01-10 12:51:29 +01:00
Mark Paluch
5d9dbf1823 DATAREST-1170 - Update copyright years to 2018. 2018-01-09 08:44:14 +01:00
Oliver Gierke
1ebdeb9589 DATAREST-1163 - ValidationErrors now properly looks up null values.
The field value lookup in ValidationErrors previously threw a NotReadablePropertyException in case a property value was null as we incorrectly piped the null value into an Optional in turn. We now eagerly reject the property if we can't find a PersistentProperty in the metamodel to avoid this.
2017-11-29 10:28:26 +01:00
Mark Paluch
4ba413d084 DATAREST-1157 - Updated changelog. 2017-11-27 16:43:43 +01:00
Mark Paluch
528f7bcb76 DATAREST-1150 - Updated changelog. 2017-11-27 15:58:47 +01:00
Oliver Gierke
d3c5e339db DATAREST-1160 - Adapt tests to new CORS defaults in Spring Framework.
Spring Framework 5.0.2 changes the default for the Allow-Credentials header to false. We now adapted our test case to that and also drop the expectation to see the request URL in the Allow-Origin header as that is only returned if Allow-Credentials is true, which it now isn't by default.
2017-11-27 09:57:30 +01:00
Oliver Gierke
1642826a57 DATAREST-1159 - Fixed link to contribution guidelines in Spring Data Build. 2017-11-17 15:19:53 +01:00
Oliver Gierke
454ec53419 DATAREST-1140 - Updated changelog. 2017-10-27 16:36:53 +02:00
Oliver Gierke
d48499ad8d DATAREST-1152 - Overhaul of patch expression handling.
Significantly refactored the way that patch path expressions are handled and evaluated. The new design is centered around SpelPath that is aware of the original path as well as the derived SpEL expression. That SpelPath then requires clients to bind it to a type so that the original path can be validated (and rejected if invalid) and provide API to read, set, copy and move values backed by the original path. Both SpelPath and TypedSpelPath instances are cached to avoid repeated creation.

PatchOperation implementations now provide more fluent factory methods, in some cases via intermediate builders. Removed a lot of obsolete code that created JsonNodes from a list of PatchOperations as we don't actually use that functionality anywhere. Removed obsolete generics where possible.
2017-10-25 17:34:46 +02:00
Simmo Saan
74e12a55b7 DATAREST-1148 - Fix eager toString() call on domain object in ResourceStatus.
Originl pull request: #282.
2017-10-12 23:12:34 +02:00
Oliver Gierke
c8d8ed7e5f DATAREST-1128 - Updated changelog. 2017-10-11 19:01:42 +02:00
Oliver Gierke
33c551014d DATAREST-1006 - Polishing.
Added unit test on MappingProperties directly.

Original pull request: #258.
2017-10-04 11:37:02 +02:00
Mathias Düsterhöft
4207be4243 DATAREST-1006 - MappedProperties now skips all ignored properties.
Original pull request: #258.
2017-10-04 11:36:54 +02:00
Mark Paluch
b05b5721b6 DATAREST-1129 - After release cleanups. 2017-10-02 11:37:23 +02:00
Mark Paluch
127640dd14 DATAREST-1129 - Prepare next development iteration. 2017-10-02 11:37:22 +02:00
Mark Paluch
ac2cbfcbc5 DATAREST-1129 - Release version 3.0 GA (Kay). 2017-10-02 11:10:23 +02:00
Mark Paluch
3ea2847bf0 DATAREST-1129 - Prepare 3.0 GA (Kay). 2017-10-02 11:09:17 +02:00
Mark Paluch
8b0df947cd DATAREST-1129 - Updated changelog. 2017-10-02 11:09:14 +02:00
Mark Paluch
69ef4ef42d DATAREST-1138 - Adapt to changed Spring Framework 5 documentation structure.
Update links in the reference docs to their new locations.
2017-09-27 14:04:30 +02:00
Oliver Gierke
973f932a39 DATAREST-1137 - All patch operations now verify path expressions.
We now make sure that all patch operations now get the path they're supposed to be applied to verified before execution.
2017-09-27 09:47:18 +02:00
Oliver Gierke
d56a1068ea DATAREST-1132 - Fixed @BasePathAwareController annotation lookup from CGLib proxies.
We now inspect the user class of the given bean type in BasePathAwareHandlerMapping.isHandler(…). We can't use AnnotationUtils as @RepositoryRestController is also annotated with @BasePathAwareController but must not be handled by this mapping.
2017-09-25 11:54:05 +02:00
Oliver Gierke
c0a3fb5678 DATAREST-1136 - DelegatingHandlerMapping now exposes its delegates. 2017-09-25 09:34:33 +02:00
Mark Paluch
a315e054ba DATAREST-1135 - Added explicit automatic module name for JDK 9. 2017-09-21 14:11:02 +02:00
Oliver Gierke
d8ea870349 DATAREST-1112 - After release cleanups. 2017-09-11 17:40:22 +02:00
Oliver Gierke
8e16a9553f DATAREST-1112 - Prepare next development iteration. 2017-09-11 17:40:19 +02:00
Oliver Gierke
c3dc9ebfaf DATAREST-1112 - Release version 3.0 RC3 (Kay). 2017-09-11 17:24:45 +02:00
Oliver Gierke
aff2608077 DATAREST-1112 - Prepare 3.0 RC3 (Kay). 2017-09-11 17:23:52 +02:00
Oliver Gierke
618667582b DATAREST-1112 - Updated changelog. 2017-09-11 17:23:47 +02:00
Mark Paluch
9a48da9e16 DATAREST-1114 - Updated changelog. 2017-09-11 12:44:06 +02:00
Oliver Gierke
8f269e28fe DATAREST-1127 - Patch operations now always verify paths before operation application.
Previously the SpEL expresssion created from JSON Patch path expressions were executed without double checking whether these paths actually exist on the target object in the first place. This is now in place.
2017-09-08 12:20:44 +02:00
Oliver Gierke
f49b54418d DATAREST-1126 - Upgrade to latest HAL browser (ad9b865). 2017-09-07 14:13:52 +02:00
Oliver Gierke
530e7c773e DATAREST-1121 - Skip last modified detection for query methods that project.
For an execution of a projecting query method we now skip the last modified detection as it actually doesn't make sense if applied to non-aggregates.
2017-08-24 22:19:18 +02:00
Oliver Gierke
5e5c2fd89b DATAREST-1110 - Updated changelog. 2017-07-27 00:49:00 +02:00
Oliver Gierke
44f10edc46 DATAREST-1111 - After release cleanups. 2017-07-25 16:10:39 +02:00
Oliver Gierke
2a8eb44cc9 DATAREST-1111 - Prepare next development iteration. 2017-07-25 16:10:35 +02:00
Oliver Gierke
ccc5b228cd DATAREST-1111 - Release version 3.0 RC2 (Kay). 2017-07-25 15:34:24 +02:00
Oliver Gierke
0d52e0ffab DATAREST-1111 - Prepare 3.0 RC2 (Kay). 2017-07-25 15:33:33 +02:00
Oliver Gierke
157105182d DATAREST-1111 - Updated changelog. 2017-07-25 15:33:28 +02:00
Oliver Gierke
a80f935f40 DATAREST-1093 - After release cleanups. 2017-07-25 10:00:09 +02:00
Oliver Gierke
59a9d4d7df DATAREST-1093 - Prepare next development iteration. 2017-07-25 10:00:06 +02:00