Commit Graph

1441 Commits

Author SHA1 Message Date
Jay Bryant
49ee98874f Wording changes
Removed the language of oppression and violence and replaced it with more neutral language.

Note that problematic words in the code have to remain in the docs until the code changes.

Fixes #379.
2021-07-16 00:11:10 +02:00
Oliver Drotbohm
9b4c1df0d9 Consistent anchor names for headings in documentation. 2021-07-15 16:30:53 +02:00
Oliver Drotbohm
d7c20256fb Tweak upstream CI triggers to reduce build load.
We now only build upon changes made to Spring HATEOAS and Spring Data Commons.
2021-07-13 13:04:08 +02:00
Oliver Drotbohm
c3e02642d6 PersistentEntitiesResourceMapping.hasMappingFor(…) should lookup metadata on cache miss. 2021-07-13 09:42:29 +02:00
Oliver Drotbohm
659a502914 Prevent NullPointerException in AggregateReferenceDeserializerModifier.
In AggregateReferenceDeserializerModifier we now look up the original property name on the Jackson metadata before trying to resolve the property target type. We also explicitly guard against null values returned from that lookup and opt out of the customization in those cases.
2021-07-13 09:42:26 +02:00
Oliver Drotbohm
c46d23a53f RepositoryResourceMappings now processes all entities to detect repository mappings.
We now consider all registered PersistentEntity instances and try to detect repository metadata for them. A case we didn't cover before was that a repository was declared for an aggregate super type but the actual child aggregate class didn't have a dedicated repository declared. While this is a perfectly valid scenario, the mapping information was broken as it fell back on the plain domain type information and produced paths and relation names derived from that, even if there's a super type repository available.

Thus, solely traversing the aggregate types we have repositories registered for is not enough. We now traverse all known PersistentEntity types and also register repository metadata for all types that are assignable to a known domain type. The latter is actually implemented in Spring Data Commons' Repositories via spring-projects/spring-data-commons#2406.
2021-07-07 16:23:32 +02:00
Mark Paluch
58f16af7c0 After release cleanups.
See #2012
2021-06-22 16:05:23 +02:00
Mark Paluch
15c53e71de Prepare next development iteration.
See #2012
2021-06-22 16:05:20 +02:00
Mark Paluch
7dbfa65774 Release version 3.5.2 (2021.0.2).
See #2012
2021-06-22 15:52:29 +02:00
Mark Paluch
9b432802e2 Prepare 3.5.2 (2021.0.2).
See #2012
2021-06-22 15:51:40 +02:00
Mark Paluch
caa4cc0306 Updated changelog.
See #2012
2021-06-22 15:51:35 +02:00
Mark Paluch
643638bbcc Updated changelog.
See #2011
2021-06-22 15:29:55 +02:00
Oliver Drotbohm
4dd40f8ff5 Remove explicit Spring HATEOAS snapshot version.
See #2019.
2021-06-22 15:14:03 +02:00
Oliver Drotbohm
cb71facead Avoid using Guava's Charset.
Replaced with Java's StandardCharset. Fixes #2026.
2021-06-17 21:15:58 +02:00
Oliver Drotbohm
c90e542ad4 Added GraalVM resource-config.json to support HAL Explorer in native images.
Fixes #2025.
2021-06-17 20:16:38 +02:00
Oliver Drotbohm
64c349d04a Upgrade to Spring Security 5.3.9.
Fixes #2021.
2021-06-08 15:47:41 +02:00
Oliver Drotbohm
879671802c Conclude abbreviated sentence in reference docs.
Fixes #2016.
2021-06-08 15:08:50 +02:00
Greg L. Turnquist
43f3740921 Use Spring HATEOAS snapshots.
See #2019.
2021-06-03 12:15:46 -05:00
Greg L. Turnquist
ef4d2c9057 Drop explicit dependency on JSON Path.
Let Spring HATEOAS bring in this dependency.

See #2018.
2021-06-03 12:14:28 -05:00
Mark Paluch
7d29a5a798 After release cleanups.
See #1999
2021-05-14 12:34:22 +02:00
Mark Paluch
218ae09905 Prepare next development iteration.
See #1999
2021-05-14 12:34:18 +02:00
Mark Paluch
a5e7aa7011 Release version 3.5.1 (2021.0.1).
See #1999
2021-05-14 12:23:57 +02:00
Mark Paluch
38477d9f49 Prepare 3.5.1 (2021.0.1).
See #1999
2021-05-14 12:23:22 +02:00
Mark Paluch
19985b0563 Updated changelog.
See #1999
2021-05-14 12:23:18 +02:00
Mark Paluch
b800770633 Updated changelog.
See #1998
2021-05-14 12:06:45 +02:00
Oliver Drotbohm
f7419de5cb Upgrade to HAL Explorer 0.17.0.
Fixes #2010.
2021-05-14 11:09:44 +02:00
Kai Toedter
30bb6de79f Replaced HAL Browser documentation with HAL Explorer documentation.
Removed unnecessary CustomPostForm.js from HAL Explorer. HAL Explorer natively supports Spring Profiles. Update link in README.adoc to the HAL Explorer section in the reference docs Correct typo and incorrect description in HAL-Explorer section.

Fixes #2005.
2021-05-11 16:47:14 +02:00
Greg L. Turnquist
44213af672 Authenticate with artifactory.
See #1992.
2021-04-22 16:06:54 -05:00
Mark Paluch
afd29b5995 After release cleanups.
See #1992
2021-04-14 14:30:41 +02:00
Mark Paluch
754f3a77b4 Prepare next development iteration.
See #1992
2021-04-14 14:30:38 +02:00
Mark Paluch
8a690929f0 Release version 3.5 GA (2021.0.0).
See #1992
2021-04-14 14:18:49 +02:00
Mark Paluch
fc75262e5e Prepare 3.5 GA (2021.0.0).
See #1992
2021-04-14 14:18:22 +02:00
Mark Paluch
bf69835fe7 Updated changelog.
See #1992
2021-04-14 14:18:18 +02:00
Mark Paluch
f118abcf15 Updated changelog.
See #1993
2021-04-14 11:43:34 +02:00
Mark Paluch
26663c3ab6 Updated changelog.
See #1987
2021-04-14 11:17:42 +02:00
Oliver Drotbohm
a5a8748774 Upgrade to HAL Explorer 0.16.0.
Fixes #1996.
2021-04-13 08:45:54 +02:00
Oliver Drotbohm
6c007487c7 RepositoryRestConfigurer are again used in declared order.
4b36f79 introduced a regression by consuming registered RepositoryRestConfigurer instances via ApplicationContext.getBeansOfType(…).values() which, unlike the previous consumption via a List<RRC> in an @Bean method, is losing the declared order of the RRC instances as ….getBeansOfType() is a Map.

We now rather use an ObjectProvider and its ….orderedStream() method to consume the registered instances ordered properly.

Fixes #1995.
2021-04-09 12:42:24 +02:00
Oliver Drotbohm
b4b8fdfee0 Support aggregate reference resolution for DTOs.
Introduce AggregateReferenceResolvingModule to be registered with the default ObjectMapper instance that will allow to materialize aggregate instances from URIs for incoming web requests. We do not apply this for aggregate roots themselves as they're already handled by the AssociationUriResolvingDeserializerModifier.
2021-04-07 20:07:54 +02:00
Oliver Drotbohm
21ed68262f Properly handle associations in nested entities.
Nested entities that contain a reference to an aggregate root get a link to that attached to their representation. Previously, the creation of those links assumed that the reference is a materialized instance of the remote aggregate. That's now altered to be able to deal with associations, use identifiers directly or materialize to an intermediate aggregate instance to potentially use a custom lookup.
2021-04-07 20:07:53 +02:00
Oliver Drotbohm
20cb33512e Fixed potential NullPointerException in PersistentPropertyResourceMapping.isExported().
Fixes GH-1994.
2021-04-07 20:07:53 +02:00
Mark Paluch
904f99f31d Updated changelog.
See #1988
2021-03-31 18:30:45 +02:00
Mark Paluch
d69942c43a After release cleanups.
See #1976
2021-03-31 17:24:06 +02:00
Mark Paluch
8e42a2a221 Prepare next development iteration.
See #1976
2021-03-31 17:24:04 +02:00
Mark Paluch
d77e5192d8 Release version 3.5 RC1 (2021.0.0).
See #1976
2021-03-31 17:05:09 +02:00
Mark Paluch
dda2402ac2 Prepare 3.5 RC1 (2021.0.0).
See #1976
2021-03-31 17:04:35 +02:00
Mark Paluch
83008b26c1 Updated changelog.
See #1976
2021-03-31 17:04:31 +02:00
Oliver Drotbohm
9f8071a0d7 Remove legacy support for well-known XML configuration file import.
We now don't import XML configuration located in classpath*:META-INF/spring-data-rest/**/*.xml anymore. This is primarily to not trigger the XML subsystem in Spring Framework which we don't need at all actually. Users still relying on that import can just declare the import themselves.
2021-03-26 13:54:13 +01:00
Oliver Drotbohm
4b36f794dc Avoid RepositoryRestConfigurerDelegate exposed as bean.
Improving the configuration situation for RRCD, whose bean declaration required access to all RepositoryRestConfigurer instances while implementing the interface itself, too.  We now rather hide the creation of that instance in a Lazy as it doesn't need any kind of lifecycle management.
2021-03-26 13:48:38 +01:00
Oliver Drotbohm
17538c65d7 Enable rendering as HAL FORMS.
We're now registering an HttpMessageConverter to render requests for HAL FORMS using the HalFormsConfiguration present in the application.

We're currently not adding any affordances yet. The change solely enables user code to add affordances explicitly, e.g. via RepresentationModelProcessor implementations.

Fixes: #1991.
2021-03-25 18:01:54 +01:00
Mark Paluch
c89369b410 After release cleanups.
See #1986
2021-03-17 11:30:30 +01:00