Commit Graph

809 Commits

Author SHA1 Message Date
Mark Paluch
c3c9da67f2 Upgrade to JPA API 3.1 and Servlet API 6.1.
Closes #2195
2022-11-07 15:54:22 +01:00
Mark Paluch
da86021c12 Prepare next development iteration.
See #2192
2022-11-04 15:26:38 +01:00
Mark Paluch
fd5715c829 Release version 4.0 RC2 (2022.0.0).
See #2192
2022-11-04 15:23:17 +01:00
Christoph Strobl
b3e8489085 Added AOT metadata.
We now register @BasePathAwareController instances for class proxy generation. Also, we scan the packages of repository definitions for projection interfaces to register reflective access for them.

Fixes #2183.
2022-10-27 11:50:57 +02:00
Mark Paluch
9c05312d36 Prepare next development iteration.
See #2180
2022-10-13 17:31:15 +02:00
Mark Paluch
47f2ac1a8a Release version 4.0 RC1 (2022.0.0).
See #2180
2022-10-13 17:24:25 +02:00
Spring Builds
0450c88dfe Prepare next development iteration.
See #2162
2022-09-19 14:38:58 +00:00
Spring Builds
04c620ce40 Release version 4.0 M6 (2022.0.0).
See #2162
2022-09-19 14:15:25 +00:00
Oliver Drotbohm
5d0687d1a1 Improve JSON Patch implementation.
Refactor JSON Patch application implementation to improve the property detection for which values are supposed to be set.

Fixes #2177.
2022-09-19 10:21:19 +02:00
Christoph Strobl
5a4f98213c Prepare next development iteration.
See #2144
2022-07-15 15:30:46 +02:00
Christoph Strobl
630568b05b Release version 4.0 M5 (2022.0.0).
See #2144
2022-07-15 15:18:30 +02:00
Oliver Drotbohm
23dfeafee4 Add explicit qualifier names to references to RepositoryInvokerFactory in RepositoryRestMvcConfiguration.
Fixes #2161.
2022-07-15 14:01:11 +02:00
Oliver Drotbohm
1205ef1eb8 Polish annotation attribute aliasing in RepositoryRestController.
Related ticket: #2157.
2022-07-14 17:45:26 +02:00
Oliver Drotbohm
753886fa2c Forward StringValueResolver to DelegatingHandlerMappings targets.
RepositoryRestMvcConfiguration now implements EmbeddedValueResolver to forward the StringValueResolver given to both BasePathAwareHandlerMapping and RepositoryRestHandlerMapping.

Related ticket: #2157.
2022-07-13 23:47:36 +02:00
Mark Paluch
070d284e69 Upgrade to Hibernate 6.
Introduce bytebuddy exclusions to avoid clashes with Mockito-provided byte buddy versions. Extend version range in Jackson Hibernate module registrar.

Closes #2158
2022-07-13 08:54:26 +02:00
Oliver Drotbohm
07ebc501cd Polishing.
Added test case and re-enabled the base URI to be prepended even in case a controller path prefix is configured. That functionality had been lost with the originally submitted changes.

Related ticket: #2157
Original pull request: #2088.
2022-07-06 17:26:07 +02:00
Yves Galante
8daacadb1e Add support for controller base path on BasePathAwareController / RepositoryRestController.
This commit introduces support for a common base path shared amongst all handler methods of a controller annotated with @BasePathAwareController / @RepositoryRestController.

Related ticket: #2157
Original pull request: #2088.
2022-07-06 17:26:07 +02:00
Oliver Drotbohm
4bff95a180 Remove obsolete test case from RepositoryRestHandlerMappingUnitTests.
The test started to fail when Spring Framework 6 disabled trailing slash path matching (see spring-projects/spring-framework#28552 for details). If adapted to the non-trailing version, it basically duplicates another test already present in the test class.
2022-07-06 17:26:07 +02:00
John Blum
29b7305d71 Remove punctuation in Exception messages.
Closes #2152.
2022-06-08 16:08:03 -07:00
Christoph Strobl
33dd0c44f7 Prepare next development iteration.
See #2128
2022-05-13 10:53:23 +02:00
Christoph Strobl
4da2ea3e1d Release version 4.0 M4 (2022.0.0).
See #2128
2022-05-13 10:43:59 +02:00
Oliver Drotbohm
adcd7e74ef Fix PUT merge handling for polymorphic properties.
We now replace the original value of polymorphic properties with the newly deserialized one if the type of the new one is different from the old one. We still copy all JSON ignored properties to the new instance to make sure that non-exposed, server-side state is retained. We apply the same handling for explicitly immutable source and/or target types.

Fixes #2130.
2022-04-04 14:53:15 +02:00
Oliver Drotbohm
ed822390d8 Fix potential NullPointerException in HalFormsAdaptingResponseBodyAdvice.
Fixes #2123.
2022-03-28 16:50:34 +02:00
Mark Paluch
27a7f0d50e Prepare next development iteration.
See #2127
2022-03-22 14:07:36 +01:00
Mark Paluch
bd4230c0b7 Release version 4.0 M3 (2022.0.0).
See #2127
2022-03-22 14:00:23 +01:00
Mark Paluch
fc8885a09c Prepare next development iteration.
See #2100
2022-03-21 16:44:39 +01:00
Mark Paluch
fd01f85d92 Release version 4.0 M2 (2022.0.0).
See #2100
2022-03-21 16:35:08 +01:00
Oliver Drotbohm
b7d6b2b78c Update copyright years to 2022. 2022-02-07 10:26:46 +01:00
Mark Paluch
44cbabe1ac Prepare next development iteration.
See #2096
2022-01-14 14:43:20 +01:00
Mark Paluch
2a594d0d57 Release version 4.0 M1 (2022.0.0).
See #2096
2022-01-14 14:35:11 +01:00
Jens Schauder
ee317f1b91 Remove Eclipse Non-Javadoc comments.
Closes #2093
2022-01-05 13:40:05 +01:00
Oliver Drotbohm
e912907ec0 Adapt to changes in Spring Framework's HttpMethod. 2021-11-30 18:56:54 +01:00
Oliver Drotbohm
0efd1502d0 Further steps towards JakartaEE.
Remove temporary version placeholders and obsolete version declarations for modules we do not test against anymore.

Tweaked the JPA integration and the Jackson Hibernate 5 one in particular to work with the new Jakarta variants. Re-enabled JPA tests. Removed support for Jackson Hibernate 4 integration and JodaTime.
2021-11-30 18:56:54 +01:00
Oliver Drotbohm
ede294967f Upgrade to Spring Framework 6. 2021-11-30 18:56:53 +01:00
Oliver Drotbohm
3966ce83e5 Prepare 4.0 development.
Fixes #2068.
2021-11-30 18:56:50 +01:00
Jens Schauder
87b2601b27 Prepare next development iteration.
See #2079
2021-11-12 10:59:42 +01:00
Jens Schauder
e31c9d49bf Release version 3.6 GA (2021.1.0).
See #2079
2021-11-12 10:49:37 +01:00
Oliver Drotbohm
a40aec5deb Consider @CrossOrigin(originPatterns = …).
RepositoryRestHandlerMapping's RepositoryCorsConfigurationAccessor now also evaluates @CrossOrigin's originPatterns into the CorsConfiguration.

Fixes #2077.
2021-10-19 10:32:48 +02:00
Mark Paluch
f556973a6c Prepare next development iteration.
See #2066
2021-10-18 13:55:39 +02:00
Mark Paluch
cecc161fe6 Release version 3.6 RC1 (2021.1.0).
See #2066
2021-10-18 13:48:15 +02:00
Patrik Mihalcin
358bd3578a Fix typo in RepositoryRestController's JavaDoc
Fixes #2061.
2021-10-13 16:02:18 +02:00
Oliver Drotbohm
4434d32fae Prevent using NestedEntitySerializer if target serializer does not support unwrapping.
We now verify that the serializer registered for the type that's supposed to be handled by the NestedEntitySerializer actually supports unwrapping as the serialization in EntityModel (MapSuppressingUnwrappingSerializer) requires that to work properly.

Fixes #2056.
2021-10-13 11:59:53 +02:00
Oliver Drotbohm
1828a6a2a7 Switch to JUnit 5.
Issue #2075.
2021-10-12 22:29:45 +02:00
Oliver Drotbohm
18b39cb321 Reduce general runtime exception logging to debug.
Issue #2074.
2021-10-12 16:21:12 +02:00
Oliver Drotbohm
46dc6e03fc Prevent duplicate controller registrations through class-level @RequestMapping.
When we detected @BasePathAwareController and @RepositoryRestController instances, we now reject types that use @RequestMapping on the class level as doing so causes an inevitable registration of the controller with Spring MVC.

Fixes #1342, #1628, #1686, #1946.
2021-10-06 12:13:37 +02:00
Oliver Drotbohm
c6b77e3dd9 Polish Javadoc to prepare builds with JDK 17.
Issue #2068.
2021-09-21 16:36:26 +02:00
Mark Paluch
0cb5c3289f Prepare next development iteration.
See #2052
2021-09-17 09:52:19 +02:00
Mark Paluch
907b15e83b Release version 3.6 M3 (2021.1.0).
See #2052
2021-09-17 09:44:58 +02:00
Oliver Drotbohm
1dae476040 Adapt Content-Type header for HAL FORMS requests based on affordances.
Whenever HAL FORMS is supposed to be rendered, we now adapt the `Content-Type` header depending on whether affordances (and thus `_templates`) are present. If none can be found, we either adapt the header to either `application/hal+json` or even `application/json` depending on the `Accept` header arrangement given. If none match, we reject the request with `406 Not Acceptable`.

Had to reintroduce a dependency on Lombok to use @SneakyThrows as otherwise we cannot throw HttpMediaTypeNotAcceptableException from a ResponseBodyAdvice. A manual implementation of the pattern does not compile on Java 8 (at least on MacOS).

Fixes #2060.
2021-09-14 22:49:05 +02:00
Oliver Drotbohm
2aca2b24e0 Avoid reflection in RepositoryRestMvcConfiguration.
We now completely avoid reflection in RepositoryRestMvcConfiguration by delaying all bean lookups that were previously declared through autowired fields.

Fixes #2057.
2021-08-26 15:38:47 +02:00