Commit Graph

1075 Commits

Author SHA1 Message Date
Christoph Strobl
dfcd29ea6d DATAREST-1318 - Prepare 3.2 M2 (Moore). 2019-03-07 09:41:17 +01:00
Christoph Strobl
650958bf1d DATAREST-1318 - Updated changelog. 2019-03-07 09:41:15 +01:00
Oliver Drotbohm
dc10166679 DATAREST-1304 - EntityLookupConfiguration is now used in PUT for creation.
Previously the backend identifier derived from the URI was set as identifier on the object to be created in a PUT request. However, in case a custom entity lookup is used, this is not the identifier but an arbitrary property pointed to through user defined code, mostly a method reference.

We now use the newly introduced MethodInvocationRecorder API in Spring Data Commons to be able to obtain the property that is supposed to be used and set that to the value calculated. This requires the entity type for which the custom lookup is configured to be non-final as the invocation recording is build on top of proxies.

Related tickets: DATACMNS-1449.
2019-03-06 14:34:58 +01:00
Jeroen Reijn
6d0acfd997 DATAREST-1143 - Prefer ResourceNotFoundException over ResponseEntity.notFound().
This is to allow users to plug in custom exception handling to control these situations.

Original pull request: #284.
2019-03-05 15:46:05 +01:00
Oliver Drotbohm
017b69c4e1 DATAREST-1338 - JsonPatch handling is now able to traverse maps.
We're now able to correctly identify Map keys within JsonPatch paths so that e.g. people/Dave/name properly translates into a people['Dave'].name SpEL expression.

Streamlined the design of SpelPath to avoid duplicate parsing and properly express the difference between typed and untyped paths in the type hierarchy. Slightly refactored the type hierarchy so that only methods that make sense in either untyped or typed state appear on the instance returned (getLeafType(Class) was exposed on TypedSpelPath before, which was confusing).
2019-03-05 13:54:58 +01:00
Oliver Drotbohm
e6c816faad DATAREST-1348 - Upgrade to Spring Plugin 2.0 M1. 2019-03-04 17:02:27 +01:00
Oliver Drotbohm
d714d10675 DATAREST-1341 - Upgrade to latest API changes in Spring HATEOAS. 2019-03-04 11:42:58 +01:00
Oliver Drotbohm
47a759e3c3 DATAREST-1341 - Upgrade to latest API changes in Spring HATEOAS. 2019-03-01 00:26:06 +01:00
Greg Turnquist
f0508dfe2c DATAREST-1333 - Introduce Concourse. 2019-02-28 11:21:44 -06:00
Oliver Drotbohm
1bf08180db DATAREST-1341 - Adapt to package refactorings in Spring HATEOAS. 2019-02-27 20:31:59 +01:00
Oliver Drotbohm
85694576b2 DATAREST-1341 - Adapt RepositoryLinkBuilder to API changes in Spring HATEOAS.
Removed obsolete BaseUriLinkBuilder as well.
2019-02-22 18:33:50 +01:00
Oliver Drotbohm
900baeb926 DATAREST-1341 - Add Spring MVC as core dependency temporarily.
Previiously, Spring HATEOAS pulled in the Spring WebMVC and apparently CorsRegistry, referenced from RepositoryRestConfiguration (unexpectedly) lives in that module. We now explicitly declare Spring WebMVC as dependency of Spring Data REST Core for the time being until [0] is resolved.

Related tickets: [0] spring-projects/spring-framework#22458
2019-02-22 18:33:12 +01:00
Oliver Drotbohm
554d6cb27b DATAREST-1341 - Further API adaption for Spring HATEOAS 1.0. 2019-02-15 11:10:59 +01:00
Mark Paluch
ce321da807 DATAREST-1336 - Updated changelog. 2019-02-13 11:47:59 +01:00
Oliver Drotbohm
93b8e68bbf DATAREST-1341 - Move off of Java8PluginRegistry in favor of Spring Plugin's update one. 2019-02-07 20:55:42 +01:00
Greg Turnquist
af6f55a92c DATAREST-1341 - Upgrade to Spring HATEOAS 1.0. 2019-02-07 20:55:42 +01:00
Oliver Drotbohm
a05d6a2a90 DATAREST-1332 - Polishing. 2019-02-07 20:55:42 +01:00
Oliver Drotbohm
e4c1625447 DATAREST-1332 - Fixed regression in CORS request handling.
The lookup of the RequestMappingInfo in exposeEffectiveLookupPathKey(…) yields null for CORS preflight requests to resources that do not support OPTIONAL explicitly. We now guard against that to avoid a subsequent NullPointerException.
2019-02-07 20:55:42 +01:00
Mark Paluch
e9b8c3f98a DATAREST-1309 - Updated changelog. 2019-01-10 14:15:43 +01:00
Mark Paluch
3edec9f699 DATAREST-1308 - Updated changelog. 2019-01-10 12:26:37 +01:00
Mark Paluch
6f2fc1e9e4 DATAREST-1307 - Updated changelog. 2019-01-10 11:01:21 +01:00
Oliver Drotbohm
3432a926b9 DATAREST-1321 - Add .externalToolBuilders to .gitignore. 2019-01-08 11:49:51 +01:00
Oliver Drotbohm
fa9b31c9af DATAREST-1321 - Lookup types can now produce non-String reference values.
Previously we assumed lookup types to always result in String based values. We now loosen that constraint to also allow other scalar types, mostly targeting numeric types like long and integer.
2019-01-08 11:47:45 +01:00
Mark Paluch
68bfd55982 DATAREST-1330 - Update copyright years to 2019. 2019-01-08 11:47:37 +01:00
Oliver Drotbohm
3ea48a6223 DATAREST-1320 - Polishing. 2018-12-21 15:04:52 +01:00
Oliver Drotbohm
39b897e6d1 DATAREST-1320 - Fixed lookup of cached values in PersistentEntitiesResourceMappings.
We now properly only answer PersistentEntitiesResourceMappings.hasMappingsFor(…) with true if we find a non-null value in the cache. Previously, even a failed attempt to create some ResourceMapping would've caused ….hasMappingsFor(…) to indicate it PersistentEntitiesResourceMappings contains a mapping.

This lead to downstream NullPointerExceptions as ….getMetadataFor(…) was accessed without a null guard after ….hasMappingFor(…) returned true.
2018-12-21 15:04:44 +01:00
Oliver Drotbohm
8c0348f41b DATAREST-1324 - Polishing.
Removed trailing whitespace from Javadoc comments.
2018-12-21 14:32:26 +01:00
Oliver Drotbohm
7900ca8657 DATAREST-1324 - Fixed return type of ConfigurableHttpMethods.enable(…).
We now also return ConfigurableHttpMethods from its ….enable(…) method to make sure it can be chained properly.
2018-12-21 14:32:02 +01:00
Oliver Drotbohm
5f4abe70f3 DATAREST-1325 - Upgrade Hibernate dependency to 5.2.17. 2018-12-20 17:17:17 +01:00
Oliver Drotbohm
13370f8e2f DATAREST-1322 - Fix proxy detection for Hibernate 5+ compatibility.
Switched to Spring Data Commons' ProxyUtils for a proxy detection mechanism that supports Hibernate 5 proxies.
2018-12-20 17:16:49 +01:00
Christoph Strobl
361be45c85 DATAREST-1316 - After release cleanups. 2018-12-11 11:07:53 +01:00
Christoph Strobl
5e9cb5014b DATAREST-1316 - Prepare next development iteration. 2018-12-11 11:07:51 +01:00
Christoph Strobl
0c026dc3d3 DATAREST-1316 - Release version 3.2 M1 (Moore). 2018-12-11 10:53:53 +01:00
Christoph Strobl
08a88ca225 DATAREST-1316 - Prepare 3.2 M1 (Moore). 2018-12-11 10:53:11 +01:00
Christoph Strobl
98a9abad61 DATAREST-1316 - Updated changelog. 2018-12-11 10:53:09 +01:00
Mark Paluch
7fe758deff DATAREST-1317 - Simplify reference documentation setup.
Adapt includes paths to generated asciidoctor sources directory.
2018-12-10 10:19:44 +01:00
Mark Paluch
d57560deef DATAREST-1298 - Updated changelog. 2018-11-27 14:54:08 +01:00
Mark Paluch
98b1fb5097 DATAREST-1292 - Updated changelog. 2018-11-27 12:36:48 +01:00
Mark Paluch
ca116773d6 DATAREST-1293 - Updated changelog. 2018-11-27 11:27:24 +01:00
Mark Paluch
5c7c2a8a1b DATAREST-1291 - Updated changelog. 2018-10-29 14:30:34 +01:00
Oliver Gierke
33c156dae0 DATAREST-1294 - Polishing.
Aligned with general request attribute naming conventions and prefixed the one we now use with the class' name. Altered the local attribute name to EFFECTIVE_REPOSITORY_RESOURCE_LOOKUP_PATH.

Renamed the constant holding the name from …_KEY to …_ATTRIBUTE.
2018-10-18 15:58:31 +02:00
Oliver Gierke
3f0eb17dcf DATAREST-1294 - Expose effective repository lookup path as request attribute.
We now expose a partially resolved PathPattern to contain the explicit repository base path so that the subpaths can be grouped around the individual repositories exposed.

Related ticket: spring-projects/spring-boot#14872
2018-10-18 12:17:12 +02:00
Mark Paluch
6855ccbb08 DATAREST-1283 - Updated changelog. 2018-10-15 14:29:56 +02:00
Mark Paluch
16d6bb36eb DATAREST-1287 - Updated changelog. 2018-10-15 11:37:26 +02:00
Mark Paluch
899883489a DATAREST-1277 - After release cleanups. 2018-09-21 07:45:29 -04:00
Mark Paluch
b0c0a70ff0 DATAREST-1277 - Prepare next development iteration. 2018-09-21 07:45:27 -04:00
Mark Paluch
e96904414b DATAREST-1277 - Release version 3.1 GA (Lovelace). 2018-09-21 07:08:39 -04:00
Mark Paluch
5b7adbb132 DATAREST-1277 - Prepare 3.1 GA (Lovelace). 2018-09-21 07:07:51 -04:00
Mark Paluch
470ea94bb7 DATAREST-1277 - Updated changelog. 2018-09-21 07:07:48 -04:00
Mark Paluch
fa9a35c81c DATAREST-1269 - Updated changelog. 2018-09-10 14:15:51 +02:00