3a2551072ebd0a11b655b5e54114c13361f7468e
9 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
3a2551072e |
#1216 - Provide String constants in IanaLinkRelations.
This commit adds String constants to IanaLinkRelations, so that IanaLinkRelations can be leveraged in places where compile time constants are required, such as Relation#itemRelation and Relation#collectionRelation. |
||
|
|
0d25b2e66e | #1169 - Update copyright years to 2020. | ||
|
|
a2290c692a |
#1132 - HAL link relation rendering now applies Jackson's PropertyNamingStrategy.
The rendering of HAL's link relations now applies Jackson's PropertyNamingStrategy if one is configured except it's a IANA link relation. This behavior can be opt out from by setting HalConfiguration.withApplyPropertyNamingStrategy(false). LinkRelation now has a ….map(…) method allowing the post-processing of it given a Function<String, String>. By default, that's applied to all relations that are not IANA ones. HalLinkRelation applies this transformation to only the local part of the relation. Tweaked IanaLinkRelations.isIanaLinkRelation(…) to do a simple ….contains(…) check first before we stream over all values to apply a case insensitive check. |
||
|
|
0e02d4f041 |
#910 - URL cleanup.
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener). # Fixed URLs ## Fixed Success These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended. * [ ] http://www.apache.org/licenses/ with 2 occurrences migrated to: https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200). * [ ] http://www.apache.org/licenses/LICENSE-2.0 with 268 occurrences migrated to: https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200). |
||
|
|
dd910f77df |
#890 - URL cleanup.
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener). # HTTP URLs that Could Not Be Fixed These URLs were unable to be fixed. Please review them to see if they can be manually resolved. * [ ] http://alps.io (200) with 1 occurrences could not be migrated: ([https](https://alps.io) result AnnotatedConnectException). * [ ] http://alps.io/spec/ (200) with 6 occurrences could not be migrated: ([https](https://alps.io/spec/) result AnnotatedConnectException). * [ ] http://amundsen.com/media-types/collection/ (200) with 1 occurrences could not be migrated: ([https](https://amundsen.com/media-types/collection/) result AnnotatedConnectException). * [ ] http://amundsen.com/media-types/collection/examples/ (200) with 7 occurrences could not be migrated: ([https](https://amundsen.com/media-types/collection/examples/) result AnnotatedConnectException). * [ ] http://amundsen.com/media-types/collection/format/ (200) with 2 occurrences could not be migrated: ([https](https://amundsen.com/media-types/collection/format/) result AnnotatedConnectException). * [ ] http://stateless.co/hal_specification.html (200) with 2 occurrences could not be migrated: ([https](https://stateless.co/hal_specification.html) result SSLHandshakeException). * [ ] http://www.opensearch.org/Specifications/OpenSearch/1.1 (200) with 1 occurrences could not be migrated: ([https](https://www.opensearch.org/Specifications/OpenSearch/1.1) result SSLHandshakeException). * [ ] http://foo.com/bar (301) with 8 occurrences could not be migrated: ([https](https://foo.com/bar) result SSLHandshakeException). * [ ] http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html (302) with 1 occurrences could not be migrated: ([https](https://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html) result SSLHandshakeException). * [ ] http://alps.io/ext/range (404) with 2 occurrences could not be migrated: ([https](https://alps.io/ext/range) result AnnotatedConnectException). # Fixed URLs ## Fixed But Review Recommended These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended. * [ ] http://tools.ietf.org/html/draft-kelly-json-hal (301) with 2 occurrences migrated to: https://tools.ietf.org/html/draft-kelly-json-hal ([https](https://tools.ietf.org/html/draft-kelly-json-hal) result ReadTimeoutException). * [ ] http://api.acme.com/foo/ (UnknownHostException) with 1 occurrences migrated to: https://api.acme.com/foo/ ([https](https://api.acme.com/foo/) result UnknownHostException). * [ ] http://barfoo:8888 (UnknownHostException) with 2 occurrences migrated to: https://barfoo:8888 ([https](https://barfoo:8888) result UnknownHostException). * [ ] http://examples.org/blogs/jdoe (UnknownHostException) with 7 occurrences migrated to: https://examples.org/blogs/jdoe ([https](https://examples.org/blogs/jdoe) result UnknownHostException). * [ ] http://examples.org/blogs/msmith (UnknownHostException) with 4 occurrences migrated to: https://examples.org/blogs/msmith ([https](https://examples.org/blogs/msmith) result UnknownHostException). * [ ] http://examples.org/blogs/rwilliams (UnknownHostException) with 4 occurrences migrated to: https://examples.org/blogs/rwilliams ([https](https://examples.org/blogs/rwilliams) result UnknownHostException). * [ ] http://examples.org/images/jdoe (UnknownHostException) with 7 occurrences migrated to: https://examples.org/images/jdoe ([https](https://examples.org/images/jdoe) result UnknownHostException). * [ ] http://examples.org/images/msmith (UnknownHostException) with 4 occurrences migrated to: https://examples.org/images/msmith ([https](https://examples.org/images/msmith) result UnknownHostException). * [ ] http://examples.org/images/rwilliams (UnknownHostException) with 4 occurrences migrated to: https://examples.org/images/rwilliams ([https](https://examples.org/images/rwilliams) result UnknownHostException). * [ ] http://foobar (UnknownHostException) with 1 occurrences migrated to: https://foobar ([https](https://foobar) result UnknownHostException). * [ ] http://foobar:8088 (UnknownHostException) with 2 occurrences migrated to: https://foobar:8088 ([https](https://foobar:8088) result UnknownHostException). * [ ] http://foobarhost/ (UnknownHostException) with 2 occurrences migrated to: https://foobarhost/ ([https](https://foobarhost/) result UnknownHostException). * [ ] http://foobarhost:9090/ (UnknownHostException) with 2 occurrences migrated to: https://foobarhost:9090/ ([https](https://foobarhost:9090/) result UnknownHostException). * [ ] http://myhost/cart/42 (UnknownHostException) with 1 occurrences migrated to: https://myhost/cart/42 ([https](https://myhost/cart/42) result UnknownHostException). * [ ] http://myhost/inventory/12 (UnknownHostException) with 3 occurrences migrated to: https://myhost/inventory/12 ([https](https://myhost/inventory/12) result UnknownHostException). * [ ] http://myhost/people/42 (UnknownHostException) with 2 occurrences migrated to: https://myhost/people/42 ([https](https://myhost/people/42) result UnknownHostException). * [ ] http://myhost/person/1 (UnknownHostException) with 1 occurrences migrated to: https://myhost/person/1 ([https](https://myhost/person/1) result UnknownHostException). * [ ] http://myhost/person/1/orders (UnknownHostException) with 1 occurrences migrated to: https://myhost/person/1/orders ([https](https://myhost/person/1/orders) result UnknownHostException). * [ ] http://proxy1:1443 (UnknownHostException) with 2 occurrences migrated to: https://proxy1:1443 ([https](https://proxy1:1443) result UnknownHostException). * [ ] http://somehost/bar (UnknownHostException) with 1 occurrences migrated to: https://somehost/bar ([https](https://somehost/bar) result UnknownHostException). * [ ] http://somehost/foo (UnknownHostException) with 1 occurrences migrated to: https://somehost/foo ([https](https://somehost/foo) result UnknownHostException). * [ ] http://somehost/foo/ (UnknownHostException) with 1 occurrences migrated to: https://somehost/foo/ ([https](https://somehost/foo/) result UnknownHostException). * [ ] http://somehost/foo/bar (UnknownHostException) with 1 occurrences migrated to: https://somehost/foo/bar ([https](https://somehost/foo/bar) result UnknownHostException). * [ ] http://somehost/foo/bar/foobar (UnknownHostException) with 1 occurrences migrated to: https://somehost/foo/bar/foobar ([https](https://somehost/foo/bar/foobar) result UnknownHostException). * [ ] http://somethingDifferent (UnknownHostException) with 2 occurrences migrated to: https://somethingDifferent ([https](https://somethingDifferent) result UnknownHostException). * [ ] http://acme.com/rels/foo-bar (404) with 2 occurrences migrated to: https://acme.com/rels/foo-bar ([https](https://acme.com/rels/foo-bar) result 404). * [ ] http://example.com/api (404) with 2 occurrences migrated to: https://example.com/api ([https](https://example.com/api) result 404). * [ ] http://example.com/custom/deprecated (404) with 1 occurrences migrated to: https://example.com/custom/deprecated ([https](https://example.com/custom/deprecated) result 404). * [ ] http://example.com/customers/deprecated (404) with 6 occurrences migrated to: https://example.com/customers/deprecated ([https](https://example.com/customers/deprecated) result 404). * [ ] http://example.com/rels/ (404) with 2 occurrences migrated to: https://example.com/rels/ ([https](https://example.com/rels/) result 404). * [ ] http://example.com/rels/persons (404) with 1 occurrences migrated to: https://example.com/rels/persons ([https](https://example.com/rels/persons) result 404). * [ ] http://example.org/blogs/wchandry (404) with 3 occurrences migrated to: https://example.org/blogs/wchandry ([https](https://example.org/blogs/wchandry) result 404). * [ ] http://example.org/friends/ (404) with 19 occurrences migrated to: https://example.org/friends/ ([https](https://example.org/friends/) result 404). * [ ] http://example.org/friends/?queries (404) with 3 occurrences migrated to: https://example.org/friends/?queries ([https](https://example.org/friends/?queries) result 404). * [ ] http://example.org/friends/?template (404) with 3 occurrences migrated to: https://example.org/friends/?template ([https](https://example.org/friends/?template) result 404). * [ ] http://example.org/friends/jdoe (404) with 6 occurrences migrated to: https://example.org/friends/jdoe ([https](https://example.org/friends/jdoe) result 404). * [ ] http://example.org/friends/msmith (404) with 3 occurrences migrated to: https://example.org/friends/msmith ([https](https://example.org/friends/msmith) result 404). * [ ] http://example.org/friends/rss (404) with 7 occurrences migrated to: https://example.org/friends/rss ([https](https://example.org/friends/rss) result 404). * [ ] http://example.org/friends/rwilliams (404) with 3 occurrences migrated to: https://example.org/friends/rwilliams ([https](https://example.org/friends/rwilliams) result 404). * [ ] http://example.org/friends/search (404) with 4 occurrences migrated to: https://example.org/friends/search ([https](https://example.org/friends/search) result 404). * [ ] http://example.org/images/wchandry (404) with 3 occurrences migrated to: https://example.org/images/wchandry ([https](https://example.org/images/wchandry) result 404). * [ ] http://example.org/rels/todo (404) with 3 occurrences migrated to: https://example.org/rels/todo ([https](https://example.org/rels/todo) result 404). * [ ] http://example.org/samples/full/doc.html (404) with 3 occurrences migrated to: https://example.org/samples/full/doc.html ([https](https://example.org/samples/full/doc.html) result 404). * [ ] http://pubsubhubbub.googlecode.com (404) with 1 occurrences migrated to: https://pubsubhubbub.googlecode.com ([https](https://pubsubhubbub.googlecode.com) result 404). * [ ] http://www.example.com/rels/ (404) with 1 occurrences migrated to: https://www.example.com/rels/ ([https](https://www.example.com/rels/) result 404). ## Fixed Success These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended. * [ ] http://docs.spring.io/spring-hateoas/docs/current/reference/html/ with 1 occurrences migrated to: https://docs.spring.io/spring-hateoas/docs/current/reference/html/ ([https](https://docs.spring.io/spring-hateoas/docs/current/reference/html/) result 200). * [ ] http://docs.spring.io/spring-hateoas/docs/current/reference/pdf/spring-hateoas-reference.pdf with 1 occurrences migrated to: https://docs.spring.io/spring-hateoas/docs/current/reference/pdf/spring-hateoas-reference.pdf ([https](https://docs.spring.io/spring-hateoas/docs/current/reference/pdf/spring-hateoas-reference.pdf) result 200). * [ ] http://en.wikipedia.org/wiki/HATEOAS with 2 occurrences migrated to: https://en.wikipedia.org/wiki/HATEOAS ([https](https://en.wikipedia.org/wiki/HATEOAS) result 200). * [ ] http://example.com?name=foo with 1 occurrences migrated to: https://example.com?name=foo ([https](https://example.com?name=foo) result 200). * [ ] http://mamund.site44.com/misc/hal-forms/ with 1 occurrences migrated to: https://mamund.site44.com/misc/hal-forms/ ([https](https://mamund.site44.com/misc/hal-forms/) result 200). * [ ] http://uberhypermedia.org/ (302) with 2 occurrences migrated to: https://rawgit.com/uber-hypermedia/specification/master/uber-hypermedia.html ([https](https://uberhypermedia.org/) result 200). * [ ] http://tools.ietf.org/html/draft-kelly-json-hal-05 with 1 occurrences migrated to: https://tools.ietf.org/html/draft-kelly-json-hal-05 ([https](https://tools.ietf.org/html/draft-kelly-json-hal-05) result 200). * [ ] http://tools.ietf.org/html/rfc6570 with 1 occurrences migrated to: https://tools.ietf.org/html/rfc6570 ([https](https://tools.ietf.org/html/rfc6570) result 200). * [ ] http://www.example.com with 2 occurrences migrated to: https://www.example.com ([https](https://www.example.com) result 200). * [ ] http://www.hixie.ch/specs/pingback/pingback with 1 occurrences migrated to: https://www.hixie.ch/specs/pingback/pingback ([https](https://www.hixie.ch/specs/pingback/pingback) result 200). * [ ] http://www.iana.org/assignments/link-relations/link-relations.xhtml with 2 occurrences migrated to: https://www.iana.org/assignments/link-relations/link-relations.xhtml ([https](https://www.iana.org/assignments/link-relations/link-relations.xhtml) result 200). * [ ] http://www.w3.org/TR/2011/WD-html5-20110113/links.html with 1 occurrences migrated to: https://www.w3.org/TR/2011/WD-html5-20110113/links.html ([https](https://www.w3.org/TR/2011/WD-html5-20110113/links.html) result 200). * [ ] http://www.w3.org/TR/html5/links.html with 11 occurrences migrated to: https://www.w3.org/TR/html5/links.html ([https](https://www.w3.org/TR/html5/links.html) result 200). * [ ] http://www.w3.org/TR/powder-dr/ with 1 occurrences migrated to: https://www.w3.org/TR/powder-dr/ ([https](https://www.w3.org/TR/powder-dr/) result 200). * [ ] http://www.w3.org/TR/preload/ with 1 occurrences migrated to: https://www.w3.org/TR/preload/ ([https](https://www.w3.org/TR/preload/) result 200). * [ ] http://www.w3.org/TR/resource-hints/ with 1 occurrences migrated to: https://www.w3.org/TR/resource-hints/ ([https](https://www.w3.org/TR/resource-hints/) result 200). * [ ] http://www.w3.org/TR/webmention/ with 1 occurrences migrated to: https://www.w3.org/TR/webmention/ ([https](https://www.w3.org/TR/webmention/) result 200). * [ ] http://amazon.com with 4 occurrences migrated to: https://amazon.com ([https](https://amazon.com) result 301). * [ ] http://contributor-covenant.org with 1 occurrences migrated to: https://contributor-covenant.org ([https](https://contributor-covenant.org) result 301). * [ ] http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to: https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/) result 301). * [ ] http://www.w3.org/TR/1999/REC-html401-19991224 with 10 occurrences migrated to: https://www.w3.org/TR/1999/REC-html401-19991224 ([https](https://www.w3.org/TR/1999/REC-html401-19991224) result 301). * [ ] http://www.w3.org/TR/curie with 1 occurrences migrated to: https://www.w3.org/TR/curie ([https](https://www.w3.org/TR/curie) result 301). * [ ] http://tools.ietf.org/html/rfc5988=section-4 with 1 occurrences migrated to: https://tools.ietf.org/html/rfc5988=section-4 ([https](https://tools.ietf.org/html/rfc5988=section-4) result 302). * [ ] http://www.springsource.org/download with 1 occurrences migrated to: https://www.springsource.org/download ([https](https://www.springsource.org/download) result 302). # Ignored These URLs were intentionally ignored. * http://localhost with 11 occurrences * http://localhost/ with 1 occurrences * http://localhost/customers/15 with 1 occurrences * http://localhost/employees with 56 occurrences * http://localhost/employees/0 with 34 occurrences * http://localhost/employees/1 with 15 occurrences * http://localhost/employees/2 with 24 occurrences * http://localhost/sample/1/foo with 1 occurrences * http://localhost/sample/2/bar with 1 occurrences * http://localhost/something/bar/foo with 2 occurrences * http://localhost:8080/ with 2 occurrences * http://localhost:8080/api with 8 occurrences * http://localhost:8080/api/ with 1 occurrences * http://localhost:8080/api/employees with 4 occurrences * http://localhost:8080/employees/1 with 4 occurrences * http://localhost:8080/foo with 2 occurrences * http://localhost:8080/my/custom/location with 2 occurrences * http://localhost:8080/rels with 1 occurrences * http://localhost:8080/rels/ with 6 occurrences * http://localhost:8080/test?page=0&filter=foo,bar with 2 occurrences * http://localhost:8080/your-app with 1 occurrences * http://localhost:8080/your-app/people with 1 occurrences * http://www.w3.org/2005/Atom with 1 occurrences |
||
|
|
37ef8e9960 |
#837 - Javadoc improvements.
Fixed @see tags pointing to URIs by wrapping the URIs in {@link …}.
|
||
|
|
2f063e63c7 | #845 - Polishing. | ||
|
|
5f772e30c5 |
#845 - Polished Link, UriTemplate, TemplateVariables and IanaLinkRelations.
Added Link.toURI() to conveniently create URIs from Link instances. |
||
|
|
9e5db1874e |
#812 - General overhaul and refactorings.
Cleanups in Affordance API and implementations of hypermedia type (de)serializers. Added a lot more domain methods and types to Link, ResourceSupport etc. to be able to move a lot of representation building logic into those. AffordanceModelFactory is not a Spring Plugin anymore as that functionality is not needed currently as we statically look up all factories via the SpringFactoriesLoader mechanism. Redesigned LinkRelation to become a first class abstraction in the codebase. IanaLinkRelations is now a collection of constants. Link now keeps a LinkRelation instance around instead of a plain String. Tweaked LinkDiscoverer API to return Optional and Links instead of nullable Link and List<Link>. Tweaked API of CurieProvider to make use of the newly introduced HalLinkRelation based on the general LinkRelation. Additional fixes for the Kotlin extension functions. Make Kotlin build setup compile with JDK 8. Removed Objects helper class in favor of Spring's already existing Assert and it's usage in ResourceAssemblerSupport. |