Commit Graph

846 Commits

Author SHA1 Message Date
Greg L. Turnquist
e080fa4fa7 #1474 - Backport support for new sonatype infrastructure to 1.1.x. 2021-02-24 10:09:34 -06:00
Greg L. Turnquist
5a3e3169f0 #1421 - Use JDK 15 for CI testing. 2021-02-24 10:06:05 -06:00
Oliver Drotbohm
f79c3e2f26 #1479 - Polishing. 2021-02-23 22:57:16 +01:00
Oliver Drotbohm
580f2d564d #1479 - DelegatingEntityLinks now overrides linkForItemResource(Class<?>, Object). 2021-02-23 22:57:16 +01:00
Oliver Drotbohm
63494c3201 #1473 - Continue development on 1.1.5.BUILD-SNAPSHOT. 2021-02-16 19:30:26 +01:00
Oliver Drotbohm
971a7f9d82 #1473 - Releasing Spring HATEOAS 1.1.4.RELEASE. 2021-02-16 19:30:18 +01:00
Oliver Drotbohm
e04910b782 #1473 - Prepare 1.1.4 release.
Updated changelog. Added missing entries from 1.1.3 release as well.
2021-02-16 16:14:25 +01:00
Oliver Drotbohm
318284263d #1466 - Upgrade to Spring Framework 5.2.13. 2021-02-16 15:29:40 +01:00
Oliver Drotbohm
c141896af7 #1470 - Mapping discoverer now keeps trailing slashes around. 2021-02-16 13:32:37 +01:00
Oliver Drotbohm
15e8a65f67 #1465 - Upgrade to Reactor Dysprosium SR17. 2021-02-16 09:57:25 +01:00
Oliver Drotbohm
5f2d8a623d #1460 - Parsing Link instances now supports unquoted attribute values.
Switched from using regular expressions to a simple manual parsing algorithm for the attributes attached to a link. Adapt a couple of broken tests that previously erroneously worked.
2021-02-15 15:48:32 +01:00
Oliver Drotbohm
1192eba607 #1455 - Fix template variable cleanup for variables using regular expressions.
Switched to manual parsing of template variables as regular expressions can contain { and } characters which makes matching variables using these as delimiters impossible.

Related ticket: #1414.
2021-02-10 21:59:41 +01:00
Oliver Drotbohm
93cdc2d887 #1437 - Avoid rendering curies if none is available.
If CurieProvider.getCurieInformation(Links) returns an empty list of curies, we now don't render curies at all.
2021-01-18 17:41:33 +01:00
Oliver Drotbohm
b5ce20a0fb #1435 - EntityModel now explicitly rejects types rendered as @JsonValue.
It doesn't make sense to wrap an object to be rendered as value into an EntityModel as the latter will end up as JSON Object and thus, the representation of the target object *needs* to consist of key-value pairs.

Previously we just produced invalid JSON which ultimately failed as well.
2021-01-18 16:52:16 +01:00
Greg L. Turnquist
9073286b6f #1420 - Backport directly releasing to maven central to 1.1.x.
By removing our need to use bintray for releases and instead deploying directly to maven central, we can reduce the risk of issues.

Related issue: #1417, #1419
2020-12-18 17:17:45 -06:00
Greg L. Turnquist
faf3babccc #1416 - Use proper build plugins. 2020-12-16 12:10:00 -06:00
Oliver Drotbohm
8c4420bcbc #1414 - Discovered mappings now get regex matchers removed.
We now remove potentially used regular expression matchers from template variables to avoid the to show up in links generated for the templates.

Backport of #1412.
2020-12-12 17:48:22 +01:00
Oliver Drotbohm
bb852c9539 #1408 - Continue development on 1.1.4.BUILD-SNAPSHOT. 2020-12-09 10:20:06 +01:00
Oliver Drotbohm
eb059eecdc #1408 - Releasing Spring HATEOAS 1.1.3.RELEASE. 2020-12-09 10:20:03 +01:00
Oliver Drotbohm
54d7dcece5 #1408 - Polish repositories before release. 2020-12-09 10:16:38 +01:00
Oliver Drotbohm
a2d35d4f46 #1407 - Upgrade to Spring Framework 5.2.12.
Also:

Spring Doc Resource 0.2.2 -> 0.2.5
Jackson 2.11.0 -> 2.11.3
JUnit 5.6.2 -> 5.6.3
Reactor Dysprosium SR12 -> Dysprosium SR15
Kotlin 1.3.71 -> 1.3.72

No Kotlin coroutines and Mockk upgrades as they seem to be binary incompatible
2020-12-09 10:02:19 +01:00
Oliver Drotbohm
9e8abf07fe #1387 - Proper type resolution for CollectionModel post-processing.
CollectionModelProcessorWrapper erroneously returned a raw type in case a CollectionModel type assignment check failed which rendered the element type verification to always match as it's effectively compared against Object.

We're now returning null to rather proceed with the next candidate type.

Original ticket: #1379.
2020-10-28 22:51:51 +01:00
Greg L. Turnquist
02a387244b #1370 - Continue development on 1.1.3.BUILD-SNAPSHOT. 2020-09-15 12:51:37 -05:00
Greg L. Turnquist
a59d31212a #1370 - Releasing Spring HATEOAS 1.1.2.RELEASE. 2020-09-15 12:51:35 -05:00
Greg L. Turnquist
b2adfc0f54 #1370 - Releasing Spring HATEOAS 1.1.2.RELEASE. 2020-09-15 12:51:01 -05:00
Greg L. Turnquist
458c44e5ae #1369 - Upgrade to Reactor Dysprosium-SR12. 2020-09-15 12:50:02 -05:00
Greg L. Turnquist
fd351c4404 #1368 - Upgrade to Spring Framework 5.2.9.RELEASE. 2020-09-15 12:47:12 -05:00
Oliver Drotbohm
8d9219f77e #1365 - Polishing. 2020-09-14 22:09:02 +02:00
Oliver Drotbohm
bc12bf0fe6 #1365 - Document recommended visibility of media type configuration classes. 2020-09-14 22:08:51 +02:00
Greg L. Turnquist
aa7f07b0d4 #1359 - Update documentation links for JSON:API.
Original issue: #1358.
2020-09-01 20:48:26 -05:00
Oliver Drotbohm
f3b9738b1e #1354 - Change in implementation strategy for Maps in EntityModel.
We now use a custom serializer for EntityModel.getContent() as we need that to still return the Map content for programmatic clients. The serializer skips maps entirely and programmatically unwraps all other content.

A simple Converter (@JsonSerialize(convert = …)) to filter Maps unfortunately didn't do the trick as that causes a a delegating serializer to be registered for the property and @JsonUnwrapped stops working as it's designed to work with bean serializers only.

Adapted test cases accordingly.

Original pull request: #1353.
2020-08-12 09:38:05 +02:00
Greg L. Turnquist
657406034f #1354 - Render Map entries once.
Maps, when wrapped inside an EntityModel, were getting double-rendered. Fix it so that they are only rendered once.

Original pull request: #1353.
2020-08-12 09:37:51 +02:00
Greg L. Turnquist
f4f122e7bd #1336 - Polishing. 2020-07-30 15:21:41 -05:00
Greg L. Turnquist
0b4648b25a #1336 - Continue development on 1.1.2.BUILD-SNAPSHOT. 2020-07-30 13:44:54 -05:00
Greg L. Turnquist
845f8638b8 #1336 - Releasing Spring HATEOAS 1.1.1.RELEASE. 2020-07-30 13:44:52 -05:00
Greg L. Turnquist
c0755c06fb #1336 - Update CI to handle 1.1 patch released. 2020-07-30 13:44:43 -05:00
Greg L. Turnquist
f1a18b9b4f #1336 - Update changelogs. 2020-07-30 12:51:30 -05:00
Greg L. Turnquist
73c73fa0db #1342 - Backport listing of community-led media types.
Include JSON:API and Siren implementations.

Original issue: #1337
2020-07-29 15:25:38 -05:00
Greg L. Turnquist
2f7a3024e2 #1338 - Backport the adjustment to ref docs about custom media types.
Custom media types do NOT require registering a MediaTypeConfigurationProvider implementation with spring.factories. The reference docs must be updated to illustrate this. Also add to the javadocs so users are properly warned.

Original issue: #1304
2020-07-28 15:04:31 -05:00
Oliver Drotbohm
ae1bf18adf #1332 - Upgrade to Reactor Dysprosium SR10. 2020-07-27 18:32:12 +02:00
Oliver Drotbohm
020ccbedba #1331 - Upgrade to Spring 5.2.8. 2020-07-27 18:31:25 +02:00
Oliver Drotbohm
f1d52d13d6 #1330 - Revert to version style used in 1.1.0.RELEASE. 2020-07-27 18:28:00 +02:00
Oliver Drotbohm
d5b87615ac #1327 - Polishing. 2020-07-27 13:23:13 +02:00
Greg Turnquist
9ac8bae500 #1327 - Support alphanumeric logref for VndError.
According to https://github.com/blongden/vnd.error, logref is for "expressing a (numeric/alpha/alphanumeric) identifier". This patches `VndError` to support both strings and integers, ensuring each serializes properly.

NOTE: `VndErrors` has been deprecated due to the spec itself being dead since 2014. However, it must be supported until fully removed from Spring HATEOAS.

Backport of: #1291.
Original pull request: #1293.
2020-07-27 13:22:56 +02:00
Oliver Drotbohm
a166f41bf6 #1325 - Polishing.
Related ticket: #1314.
2020-07-24 09:00:34 +02:00
Oliver Drotbohm
6f9b1238be #1325 - HalLinkRelations now properly parses link relations with more than one colon.
Previously the parsing of link relations had assumed that a curie relation only consists of a single colon, thus, that a split by colon would always end up in two elements and only re-assembled these two elements. In case a URI that contains multiple colons handed into the parsing method, further segments had been dropped. We now remain everything following the first colon as local part of the URI.

Also, we now detect IANA registered URI schemes [0] and consider source relations starting with those as uncuried ones.

Related ticket: #1314.

[0] https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
2020-07-24 09:00:12 +02:00
Oliver Drotbohm
14a43ab2d8 #1324 - Fixed potential memory leak when creating many links.
We now avoid creating the UriTemplate instance for a Link if the Link does not contain curly braces in the first place. That allows us to remove the cache within UriTemplate in the first place.

Related tickets: #1287.
2020-07-23 22:56:03 +02:00
Greg L. Turnquist
dff0699861 #1317 - Mend Jenkinsfile for 1.1.x branch. 2020-07-01 12:07:26 -05:00
Greg L. Turnquist
c9209d56ed #1317 - Backporting the polishing of a test case.
Related issues: #1294.
2020-07-01 12:04:13 -05:00
Greg L. Turnquist
1450ad115f #1317 - Backport de-lomboking of production code.
Production code will no longer use Lombok. It's confined to test scope.

Related issue: #1294.
2020-07-01 12:03:36 -05:00