Commit Graph

941 Commits

Author SHA1 Message Date
Oliver Drotbohm
847d76d6e2 #1534 - Upgrade to Spring Framework 5.3.7.
Upgrade to Reactor 2020.0.7 as well.
2021-05-12 13:39:42 +02:00
Oliver Drotbohm
ba3a266158 #1530 - Add build profile for Kotlin 1.5.0. 2021-05-12 13:12:41 +02:00
Oliver Drotbohm
d22629fd0b #1529 - Make WebConverters public. 2021-05-12 13:04:24 +02:00
Oliver Drotbohm
b03944be91 #1523 - Additional HtmlInputTypes (checkbox, radio, file). 2021-04-20 23:48:42 +02:00
Oliver Drotbohm
5764648adb #1515 - Fix key rendering of embedded resources.
We now also eagerly map the keys for the _embedded map in a HAL response to Strings to make sure they work properly when sorting of map keys is activated for the Jackson ObjectMapper.
2021-04-20 12:51:38 +02:00
Oliver Drotbohm
d7ac32a99d #1521 - Allow HATEOAS bootstrap without any default media type enabled.
@EnableHypermediaSupport(types = {}) was not working anymore as the Comparator implementation working with the selected types rejected an empty list. We now do not reject that anymore to enable applications that solely work with third party media types.
2021-04-19 16:53:46 +02:00
Oliver Drotbohm
91e17f1196 #1516 - Support for NamingBase in property translation for HAL.
We now also support the newly NamingBase introduced in Jackson 2.12 as a replacement for PropertyNamingStrategyBase.
2021-04-14 09:39:31 +02:00
Oliver Drotbohm
e939852362 #1515 - Fix HAL link serialization issues when Jackson map entry sorting is enabled.
Prior to this commit, the map of links to be rendered would key by LinkRelation. Unfortunately, Jackson requires `Map` keys to implement `Comparable` in case `SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS` is enabled. We now use the link relation's value as key right aways as Strings are comparable out of the box.

Switched to use Spring's MultiValueMap to avoid having to deal with the value list initialization ourselves.
2021-04-14 09:33:20 +02:00
Oliver Drotbohm
bf62d037cd #1514 - Continue development on 1.4.0-SNAPSHOT. 2021-04-13 19:43:19 +02:00
Oliver Drotbohm
9680ceca34 #1514 - Releasing Spring HATEOAS 1.3.0. 2021-04-13 19:43:10 +02:00
Oliver Drotbohm
ebcbaeb7cc #1514 - Prepare changelog. 2021-04-13 19:41:47 +02:00
Oliver Drotbohm
16f3b91e7d #1513 - Upgrade to Jackson 2.12.3. 2021-04-13 19:00:22 +02:00
Oliver Drotbohm
b5076d853b #1512 - Upgrade to Spring Framework 5.3.6 and Reactor 2020.0.6. 2021-04-13 13:52:34 +02:00
Oliver Drotbohm
bbb8f426fe #1510 - Support for defining the selected value on HalFormsOptions.
We now expose a HalFormsOptions.withSelectedValue(…) and propagate this into the HAL FORMS property field named "value".
2021-04-08 13:08:50 +02:00
Greg L. Turnquist
39775148dd #1509 - Migrate to main branch.
Move all project references to `main` instead of `master`.
2021-04-08 12:46:06 +02:00
Oliver Drotbohm
43b9f29ee8 #1507 - Fix potential NullPointerException in Jsr303AwarePropertyMetadata.
We now check whether we could really load `@Range`, which is only available in Hibernate Validator. An arrangement in which the Validation API JAR is on the classpath but not Hibernate Validator would let us end up with the relevant instance being `null` and need a check for before being handed into code that requires the type to not be `null`.
2021-04-03 17:16:23 +02:00
Oliver Drotbohm
107fcfafa9 #1506 - Continue development on 1.3.0-SNAPSHOT. 2021-03-31 15:59:30 +02:00
Oliver Drotbohm
d92a9fec4f #1506 - Releasing Spring HATEOAS 1.3.0-RC1. 2021-03-31 15:59:22 +02:00
Oliver Drotbohm
6f559ad34a #1506 - Prepare 1.3 RC1 release.
Update changelog.
2021-03-31 15:56:45 +02:00
Oliver Drotbohm
01c5fae3f0 #1505 - Improve signatures of HalFormsOptions.inline(…).
A bit of generics ♥️ for HalFormsOptions.inline(…) to avoid compiler warnings.
2021-03-31 15:44:54 +02:00
Oliver Drotbohm
759785f98e #1504 - Add RepresentationModel.mapLinkIf(…). 2021-03-25 17:38:07 +01:00
Oliver Drotbohm
5ec99df255 #1483 - Make HalFormsConfiguration.getHalConfiguration() public again. 2021-03-25 16:47:21 +01:00
Oliver Drotbohm
7ff383b51c #1489 - Adapt changelog after 1.3 M3 release. 2021-03-25 16:46:42 +01:00
Oliver Drotbohm
065435280b #1489 - Continue development on 1.3.0-SNAPSHOT. 2021-03-16 10:33:23 +01:00
Oliver Drotbohm
01f471923e #1489 - Releasing Spring HATEOAS 1.3.0-M3. 2021-03-16 10:33:12 +01:00
Oliver Drotbohm
27da42d61a #1497 - Upgrade to Spring 5.3.5. 2021-03-16 10:21:43 +01:00
Oliver Drotbohm
ca1aebaaf6 #1494 - Improved HAL Link deserialization.
Configuring the Link.of(…) factory method as explicit creator method allows us to get rid of the wither chain previously required in HalLinkListDeserializer.
2021-03-16 09:45:16 +01:00
Oliver Drotbohm
8443bf788b #1492 - Upgrade to Jackson 2.12.2. 2021-03-16 08:59:52 +01:00
Oliver Drotbohm
2a37cbe148 #1489 - POM polishing. 2021-03-16 08:17:25 +01:00
Oliver Drotbohm
397dcc1a85 #1493 - Upgrade to JaCoCo 0.8.6. 2021-03-16 08:17:25 +01:00
Oliver Drotbohm
094ddfc5cf #1491 - Upgrade to Kotlin Coroutines 1.4.3. 2021-03-15 23:44:35 +01:00
Oliver Drotbohm
f0f69add5b #1490 - Upgrade to Reactor 2020.0.5. 2021-03-15 23:44:17 +01:00
Oliver Drotbohm
47486f42d7 #118 - Always default to fallback ConversionService in WebMvcLinkBuilder. 2021-03-11 14:44:46 +01:00
Oliver Drotbohm
8e78cf2275 #1484 - Fix performance regression in WebHandler.
Moved the affordance metadata caching into SpringAffordanceBuilder and separate the caching of the metadata lookup from the assembly of the affordance. The latter is based on the URI resulting from expanding the request mapping with the given value and thus is likely to produce a lot of different values so that they're rather unsuitable as cache key.

That means that we now return fresh Affordance instances for every request which probably causes a tiny hit on performance but still does not need additional metadata lookups. Also, it opens up the door to enrich the affordances with property value providers that would allow us to render affordance fields that refer to a instances property, e.g. to render edit forms.
2021-03-08 14:26:08 +01:00
Oliver Drotbohm
a665388758 #1483 - Reference docs for options support. 2021-03-08 13:50:01 +01:00
Oliver Drotbohm
94a50786f4 #1483 - Support for HAL-FORMS options element.
We now support defining the options element [0] for a HAL-FORMS property by registering a lookup of HalFormsOptions instances on HalFormsConfiguration.

[0] https://rwcbook.github.io/hal-forms/#options-element
2021-03-08 13:50:01 +01:00
Greg L. Turnquist
5592d29f68 #1482 - Properly collection version for CI jobs. 2021-02-26 15:41:25 -06:00
Greg L. Turnquist
254a2efd55 #1421 - Use JDK 15 for CI testing. 2021-02-24 10:03:37 -06:00
Oliver Drotbohm
a4aba5cbed #1477 - DelegatingEntityLinks implements EntityLinks. 2021-02-23 22:55:48 +01:00
Oliver Drotbohm
64254427d9 #1477 - Polishing. 2021-02-23 22:55:48 +01:00
Oliver Drotbohm
538a8a6874 #1477 - DelegatingEntityLinks now overrides linkForItemResource(Class<?>, Object). 2021-02-23 22:55:48 +01:00
Greg L. Turnquist
64c39692ff #1474 - Migrate to new Sonatype infrastructure. 2021-02-23 13:06:55 -06:00
Oliver Drotbohm
889f91cfed #1461 - Continue development on 1.3.0-SNAPSHOT. 2021-02-16 14:22:10 +01:00
Oliver Drotbohm
a40b2b5ed9 #1461 - Releasing Spring HATEOAS 1.3.0-M2. 2021-02-16 14:22:01 +01:00
Oliver Drotbohm
94fbb0b68b #1461 - Prepare 1.3 M2 release.
Updated changelog.
2021-02-16 14:18:49 +01:00
Oliver Drotbohm
1b42632534 #1452 - Upgrade to Spring 5.3.4. 2021-02-16 13:53:31 +01:00
Oliver Drotbohm
cd927e08a4 #1468 - Mapping discoverer now keeps trailing slashes around. 2021-02-16 12:52:24 +01:00
Oliver Drotbohm
3ea70227c4 #1462 - Upgrade to Reactor 2020.0.4. 2021-02-16 09:45:52 +01:00
Oliver Drotbohm
ef4c1c47eb #1461 - Switch to JakartaEE flavor of the validation API JAR. 2021-02-15 20:16:56 +01:00
Oliver Drotbohm
24a99d242b #1445, #1443, #1439, #1438, #1427 - Documentation for HAL-FORMS. 2021-02-15 19:30:54 +01:00