Commit Graph

1006 Commits

Author SHA1 Message Date
Oliver Drotbohm
d9ced02300 #1677 - Upgrade to Jackson 2.13.0. 2021-10-14 16:35:49 +02:00
Oliver Drotbohm
02442362ed #1676 - Upgrade to AssertJ 3.21.0. 2021-10-14 16:34:48 +02:00
Oliver Drotbohm
7021ecf7cf #1647 - Upgrade to Spring Framework 5.3.11. 2021-10-14 16:33:09 +02:00
Josh Gough
994bf861d2 #1659 - Documentation fix in HalModelBuilder usage.
Changed ….halModel(order) to ….halModelOf(order) for plain entities.
2021-10-13 16:31:47 +02:00
Oliver Drotbohm
3d7458b5f6 #1662 - HAL FORMS template target must be a URL.
We now expand the affordance link before we add it to the HAL FORMS template.

Also see #1660.
2021-10-12 13:52:34 +02:00
Oliver Drotbohm
ab02d45b8e #1657 - Prevent IndexOutOfBoundException in WebConverters.
We now skip the registration of the default media type if no hypermedia types are activated in the first place. We previously assumed there'd be at least one media type configuration registered.
2021-10-12 13:14:08 +02:00
Oliver Drotbohm
eca7fc23e7 #1658 - Re-expose AnnotationMappingDiscoverer.
It's required from Spring Data REST.
2021-10-08 10:50:28 +02:00
Oliver Drotbohm
f0a000a07e #1652 - Tighten contracts for parameter values in MethodLinkBuilderFactory.linkTo(…).
If a parameter array is given to MethodLinkBuilderFactory.linkTo(…) methods, we now verify its correct length in correspondence to the method given. If no parameters are given at all, we automatically create a parameter value array of the required length.
2021-09-24 16:36:53 +02:00
Oliver Drotbohm
3b94d4b862 #1448 - Improve proxy creation in DummyInvocationUtils.
We now explicitly set the optimize flag on the ProxyFactory for class based proxies used to create dummy invocation proxies. Still needs the upgrade to Spring Framework 5.3.11 (spring-projects/spring-framework#27439, #1647) to create full effect.
2021-09-21 17:55:28 +02:00
Oliver Drotbohm
fe1657386d #1648 - Removed further deprecations. 2021-09-21 17:46:04 +02:00
Oliver Drotbohm
054d2bf7d1 #1639 - Update build plugins to be JDK 17 compatible. 2021-09-21 14:21:04 +02:00
Oliver Drotbohm
fc99a84439 #1639 - Javadoc polishing in preparation of stringer linting in JDK 17. 2021-09-21 14:20:50 +02:00
Oliver Drotbohm
690ea3e967 #1638 - Avoid trying to proxy Object for controller method dummy invocations.
On JDK 17, trying to proxy Object doesn't work anymore. We now simply return the interceptor that would've been applied to the proxy directly and detect that properly in requests to extract the LastInvocationAware instance.
2021-09-20 13:27:35 +02:00
Oliver Drotbohm
2fcad81d6c #1640 - Tweak CI build to run compatibility builds against JDK 17. 2021-09-20 13:14:06 +02:00
Oliver Drotbohm
56b4dcc255 #1637 - Upgrade to Lombok 1.18.20.
For JDK 17 support.
2021-09-20 13:11:36 +02:00
Oliver Drotbohm
95174ae911 #1635 - Continue development on 1.4.0-SNAPSHOT. 2021-09-16 15:07:20 +02:00
Oliver Drotbohm
21597fe1b9 #1635 - Releasing Spring HATEOAS 1.4.0-M3. 2021-09-16 15:07:17 +02:00
Oliver Drotbohm
1ad6448c36 #1635 - Prepare changelog for 1.4 M3 release. 2021-09-16 15:06:28 +02:00
Oliver Drotbohm
60e7f2e04e #1608 - HAL FORMS templates now expose HTTP method in all caps.
See the RFC for details: https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.1.
2021-09-16 15:03:44 +02:00
Oliver Drotbohm
f9274a692e #1634 - Upgrade to AssertJ 3.20.2. 2021-09-16 14:33:16 +02:00
Oliver Drotbohm
c5e297299f #1633 - Upgrade to EvoInflector 1.3. 2021-09-16 14:31:57 +02:00
Oliver Drotbohm
229e3829c3 #1632 - Upgrade to Logback 1.2.6. 2021-09-16 14:30:19 +02:00
Oliver Drotbohm
42b1f6aee3 #1631 - Upgrade to JaCoCo 0.8.7. 2021-09-16 14:28:58 +02:00
Oliver Drotbohm
ff2470b2bd #1630 - Upgrade to Jackson 2.12.5. 2021-09-16 14:27:28 +02:00
Oliver Drotbohm
19a997e163 #1629 - Upgrade to JUnit 5.8. 2021-09-16 14:26:01 +02:00
Oliver Drotbohm
fbebf8933b #1627 - Upgrade to Mockk 1.12.0. 2021-09-16 14:24:23 +02:00
Oliver Drotbohm
27b468ac76 #1628 - Upgrade to Slf4j 1.7.32. 2021-09-16 14:24:02 +02:00
Oliver Drotbohm
9d015b5599 #1626 - Upgrade to Kotlin 1.5.30 and Coroutines 1.5.2. 2021-09-16 14:21:13 +02:00
Oliver Drotbohm
ac7ee048be #1625 - Upgrade to Reactor 2020.0.11. 2021-09-16 14:18:11 +02:00
Oliver Drotbohm
5c28c769ed #1624 - Upgrade to Spring Framework 5.3.10. 2021-09-16 14:17:17 +02:00
Oliver Drotbohm
140ae541f6 #1609 - Avoid superfluous object creation in Link.valueOf(…).
We now avoid calling with…-methods for every attribute parsed from an RFC-8288 link string.
2021-09-16 11:28:00 +02:00
Oliver Drotbohm
2751b11acf #1607 - Polishing. 2021-09-14 11:43:31 +02:00
Oliver Drotbohm
7d763043d2 #1607 - Remove deprecations in Affordances. 2021-09-14 11:43:04 +02:00
Oliver Drotbohm
55aa4ff278 #1602 - Polish nullability for Link. 2021-09-14 10:17:26 +02:00
Oliver Drotbohm
cfd891ebf1 #1599 - Properly contextualize MapSuppressingUnwrappingSerializer.
According to FasterXML/jackson-databind#3272, we have to explicitly contextualize the delegate serializer we use for non-Map content in EntityModel.
2021-09-14 09:01:35 +02:00
Oliver Drotbohm
4705797322 #1402 - Properly create Property instances in PropertyUtils.
We now hand the already known property name (from the PropertyDescriptor) to the Property instance we create when inspecting classes for metadata. This avoids ambiguities stemming from the fact that Property assumes Java Bean style properties but Spring's BeanUtils also supporting Java Records style accessors. In special naming contexts like the one used in the test case, this can lead to properties considered "the same" as their accessor methods imply their name is the same.
2021-09-09 13:00:32 +02:00
Oliver Drotbohm
f891f3be6d #1598 - Fully prepare handler method values in link creation.
We now eagerly convert all request parameters and path variables into their String representation using the MVC ConversionService to make sure we can use all formatting metadata available on the parameters.
2021-08-27 17:41:47 +02:00
Oliver Drotbohm
7acf6b8485 #1595 - Continue development on 1.4.0-SNAPSHOT. 2021-08-12 10:25:26 +02:00
Oliver Drotbohm
848cdf1fbb #1595 - Releasing Spring HATEOAS 1.4.0-M2. 2021-08-12 10:25:18 +02:00
Oliver Drotbohm
8bec37c67c #1595 - Update changelog. 2021-08-12 10:24:31 +02:00
Oliver Drotbohm
748da756db #1591 - Polishing.
Port configuration lookup caching from HAL FORMS into HAL configuration.
2021-07-29 17:58:20 +02:00
Oliver Drotbohm
662dde692e #1591 - Support for custom media type aliases in HAL FORMS. 2021-07-29 17:58:20 +02:00
Oliver Drotbohm
db885baaff #1590 - Polishing. 2021-07-29 17:58:20 +02:00
Oliver Drotbohm
a1d2752dd0 #1590 - Support for explicit type information on CollectionModel.
We now allow explicit definition of a fallback collection element type on CollectionModel to be used in cases of an empty model, so that the RepresentationModelProcessor infrastructure can still reason about the element type and also invoke the processor for empty collection models.

Fixes #1590.
2021-07-29 17:58:17 +02:00
Oliver Drotbohm
db1cd5db16 #1485 - Ensure proper encoding for request parameter expansion.
We now use the encoding rules defined in RFC 6570 (URI templates, API introduced in #1583) to prepare request parameters added to the URIs rendered.
2021-07-28 22:42:08 +02:00
Oliver Drotbohm
d6d816d77b #1575 - Support for non-composite request parameters.
This commit introduces @NonComposite, an annotation to be used with collection or array typed @RequestParam handler method parameters. Using the annotation causes the rendering of request parameters to use the non-composite way of rendering URI template values (param=value1,value2) rather than the default, composite flavor of param=value1&param=value2.

A bit of polish in TemplateVariable, which now also exposes a prepareAndEncode(Object) method that renders a given value according to the rules defined in the URI template spec for the particular variable type and state (composite VS. non-composite).
2021-07-28 17:28:02 +02:00
Oliver Drotbohm
ce71b144a1 #1588 - WebMvcLinkBuilder.linkTo(Method, Object[]) now properly handles request parameters.
We now route calls to WebMvcLinkBuilder.linkTo(Method, Object[]) through the same infrastructure that linkTo(…) calls with a dummy method invocation are routed through. We construct a fake LastInvocationAware pointing to the given Method and parameters.
2021-07-21 10:02:51 +02:00
Oliver Drotbohm
a85952ebc1 #1587 - Continue development on 1.4.0-SNAPSHOT. 2021-07-14 23:33:22 +02:00
Oliver Drotbohm
394ed16778 #1587 - Releasing Spring HATEOAS 1.4.0-M1. 2021-07-14 23:33:13 +02:00
Oliver Drotbohm
ea720b4ba7 #1587 - Prepare 1.4 M1 release. 2021-07-14 23:32:28 +02:00