Commit Graph

1419 Commits

Author SHA1 Message Date
Greg L. Turnquist
ee1057bd9d Update CI to JDK 16.
See #1989.
2021-05-13 16:05:35 -05:00
Kai Toedter
ba06a4d0f7 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:40:23 +02:00
Oliver Drotbohm
0a0d410800 DelegatingHandlerMapping now fully implements MatchingHandlerMapping correctly.
We now also implement MatchableHandlerMapping.getPatternParser() to expose the PathPatternParser we use. This is needed to detect that DelegatingHandlerMapping uses a PathPatternParser from the outside as the Spring MVC request processing pipeline treats those HandlerMappings in a special way. This is especially important in the context of spring-projects/spring-framework#26814 as that makes the HM implementations work properly in CORS preflight requests.

When used with Spring Security in place, CORS preflight requests are inspected through the HandlerMappingIntrospector, that looks up the CORS configuration for the handler to serve the actual request. That lookup previously failed as Spring MVC was unable to detect that Spring Data REST's DelegatingHandlerMapping works with a PathPatternParser and didn't properly set up the processing pipeline to eventually end up in an invalid state, produce an exception that caused the handler method lookup to fail and cause Spring Security to fail with a 403, claiming the request was invalid.

Fixes #2007.
2021-05-07 22:12:57 +02:00
Greg L. Turnquist
2f3ec79cd0 Authenticate with artifactory.
See #1992.
2021-04-22 16:03:09 -05:00
Greg L. Turnquist
6402b1aeef Introduce quiet period.
Reduce the number of downstream builds that get triggered by using quiet time.

See #1992.
2021-04-16 13:03:23 -05:00
Greg L. Turnquist
0e563b2605 Migrate to main branch.
See #1992.
2021-04-16 13:01:20 -05:00
Mark Paluch
4c35f36598 After release cleanups.
See #1992
2021-04-14 14:30:15 +02:00
Mark Paluch
0a31ef1d84 Prepare next development iteration.
See #1992
2021-04-14 14:30:12 +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
Mark Paluch
0f93b050ce Prepare next development iteration.
See #1986
2021-03-17 11:30:29 +01:00
Mark Paluch
54696d4d5f Release version 3.5 M5 (2021.0.0).
See #1986
2021-03-17 11:17:50 +01:00
Mark Paluch
952ec110b0 Prepare 3.5 M5 (2021.0.0).
See #1986
2021-03-17 11:17:27 +01:00
Mark Paluch
0b92ac3e34 Updated changelog.
See #1986
2021-03-17 11:17:23 +01:00
Mark Paluch
0ffe1f1c3c Updated changelog.
See #1979
2021-03-17 11:03:40 +01:00
Mark Paluch
a649968cc2 Updated changelog.
See #1973
2021-03-17 10:35:13 +01:00
Greg L. Turnquist
015335d9ef Replace RepositoryRestConfigurerAdapter in the ref docs.
RepositoryRestConfigurerAdapter was superceded by RepositoryRestConfigurer and its default methods a long time ago. Update the ref docs to properly use the new interface.

Fixes #1983.
2021-03-16 15:09:59 +01:00
Toon Geens
51206fbffd Fix RepositoryEntityLinks in the documentation.
Replace `RepositoryEntityLinks.linkToSingleResource()` to `RepositoryEntityLinks.linkToItemResource()`.

Fixes #1984.
2021-03-15 11:29:01 -05:00
Oliver Drotbohm
65d4d71895 Support for jMolecules Identifier types.
We now properly handle jMolecules Identifier instances by integration with the corresponding Converter implementations provided by the jmolecules-spring integrations library.

Fixes GH-1982.
2021-03-08 20:31:58 +01:00
Oliver Drotbohm
e9bc98a1e9 #1980 - RepositoryEntityLinks now overrides ….linkForItemResource(…). 2021-02-24 17:57:46 +01:00
Oliver Drotbohm
cb75eaee90 #1974 - Polishing.
Deprecated configuration methods on RepositoryRestConfiguration for better naming.
2021-02-18 14:04:34 +01:00
Oliver Drotbohm
517bb5f202 #1974 - Improve default LinkRelationProvider setup to also consider @Relation.
RepositoryRestConfiguration now defaults the LinkRelationProvider instance to a delegating one considering both AnnotationLinkRelationProvider and EvoLinkRelationProvider so that @Relation annotations on entity types.
2021-02-18 14:04:34 +01:00
Christoph Strobl
dc0e0bbcef After release cleanups.
See #1978
2021-02-18 11:35:22 +01:00
Christoph Strobl
08ca20422d Prepare next development iteration.
See #1978
2021-02-18 11:35:21 +01:00
Christoph Strobl
d03e364294 Release version 3.5 M4 (2021.0.0).
See #1978
2021-02-18 11:25:13 +01:00
Christoph Strobl
466932508d Prepare 3.5 M4 (2021.0.0).
See #1978
2021-02-18 11:24:46 +01:00
Christoph Strobl
e82c066000 Updated changelog.
See #1978
2021-02-18 11:24:45 +01:00
Christoph Strobl
488d87e6d8 Updated changelog.
See #1975
2021-02-18 11:18:29 +01:00
Christoph Strobl
98a9354e82 After release cleanups.
See #1954
2021-02-17 14:17:49 +01:00
Christoph Strobl
d5d2659a24 Prepare next development iteration.
See #1954
2021-02-17 14:17:48 +01:00
Christoph Strobl
44b93173a7 Release version 3.5 M3 (2021.0.0).
See #1954
2021-02-17 14:00:09 +01:00
Christoph Strobl
0b14d0b60b Prepare 3.5 M3 (2021.0.0).
See #1954
2021-02-17 13:59:43 +01:00