Commit Graph

762 Commits

Author SHA1 Message Date
Oliver Drotbohm
c9cb237478 #2029 - Update changelog. 2023-07-19 22:03:23 +02:00
Oliver Drotbohm
b4908cd28d #2024 - Fix regression in AOT reflection metadata generation.
Fixed the detection of abstract classes in AOT metadata generation so that Jackson mixin types get detected again.
2023-07-19 21:47:47 +02:00
Oliver Drotbohm
e0f73c5536 #2022 - Fix changelog. 2023-07-14 11:34:25 +02:00
Oliver Drotbohm
779dcd823e #2022 - Update changelog. 2023-07-14 10:14:59 +02:00
Oliver Drotbohm
279461446b #2023 - Switch to UriComponentsBuilder.fromUri(…). 2023-07-14 10:11:44 +02:00
Oliver Drotbohm
ae749a67ee #1980 - Avoid compiling agains JSONArray in JsonPathLinkDiscoverer.
So far, the handling of links detected via a JSON Path expression has assumed that the JsonProvider would always return JSONArray objects for collections. However, the JacksonJsonProvider for example, returns plain List instances. As JSONArray implements List, we now only refer to the latter for maximum compatibility with different JsonProvider implementations.
2023-06-29 18:45:51 +02:00
Oliver Drotbohm
242a7d26a5 #1981 - Rearrangement of AOT reflection configuration creation.
The reflection configuration of core Spring HATEOAS types is now done via HateoasRuntimeHints (previously RepresentationModelRuntimeHints). This allows the configuration to be contributed, even without @EnableHypermediaSupport in play, especially helpful in Web.fn scenarios.
2023-06-26 15:44:15 +02:00
Oliver Drotbohm
ca3fdc479f #1981 - Additional reflection hints for custom Jackson serializer in EntityModel.
We now register reflection hints for all types contained in EntityModel, so that MapSuppressingUnwrappingSerializer's default constructor can be called from Jackson.

Related ticket: spring-projects/spring-boot#36057
2023-06-25 16:45:42 +02:00
Oliver Drotbohm
5238218302 #1978 - Update changelog. 2023-05-11 22:26:54 +02:00
Oliver Drotbohm
5e3ec971ff #1965 - Upgrade optional Validation API support to 3.0. 2023-05-03 17:58:46 +02:00
Oliver Drotbohm
f152b7cc97 #1960 - Update license header date ranges. 2023-04-13 22:47:26 +02:00
Oliver Drotbohm
30d572f227 #1960 - Update changelog. 2023-04-13 22:45:19 +02:00
Oliver Drotbohm
925b0f7f38 #1958 - Upgrade to ArchUnit 1.0.1. 2023-04-13 22:36:39 +02:00
Oliver Drotbohm
dc1d53565e #1954 - Fix embedded rel in example for HAL document. 2023-04-13 16:51:45 +02:00
Oliver Drotbohm
89b1e6bf07 #1952 - Prepare changelog. 2023-03-20 12:13:20 +01:00
Jan Nielsen
dea312f9c1 #1778 - Fix typo in Javadoc. 2023-03-17 12:12:47 +01:00
Oliver Drotbohm
b6ee7f8bc0 #1929 - Polish Javadoc and nullability. 2023-03-17 11:57:48 +01:00
Oliver Drotbohm
7a2ae089d4 #1856 - Properly enable Asciidoctor Diagram. 2023-02-28 16:00:38 +01:00
Oliver Drotbohm
755203db22 #1856 - Fix diagram rendering issues in reference documentation. 2023-02-28 15:48:59 +01:00
Oliver Drotbohm
4d328c2928 #1856 - Update reference docs to mention SlicedModel.
Add missing asciidoctorj-diagram dependency to render PlantUML diagrams correctly.
2023-02-28 15:41:48 +01:00
Oliver Drotbohm
132ca62702 #1856 - Polishing.
Imports, formatting, Javadoc. Ticket references in test cases.
2023-02-28 15:29:42 +01:00
Michael Schout
7229cbdbdc #1856 - Add SlicedModel class for representing Slice collections
In parallel to PagedModel we now provide a SlicedModel. This is groundwork needed to support SlicedResourcesAssembler<T> in spring-data-commons.

Related ticket: spring-projects/spring-data-commons#1307
2023-02-28 15:29:41 +01:00
Oliver Drotbohm
ae90f3ea16 #1920 - Polishing.
Typo in reference docs.
2023-02-22 12:50:52 +01:00
Oliver Drotbohm
5ab3e2473f #1920 - Reference docs update for support for @Size. 2023-02-22 12:50:29 +01:00
Oliver Drotbohm
aeac73b943 #1920 - Support for JSR-303 @Size annotation in property metadata.
Using the JSR-303 @Size annotation is now reflected in the property being considered for input type range as well as exposed min and max values.
2023-02-22 12:45:11 +01:00
Oliver Drotbohm
74086bf716 #1900 - Use Optional.or(…) instead of custom method in PropertyUtils. 2023-02-15 10:29:21 +01:00
Oliver Drotbohm
4013eb3378 #1899 - Fix link header parsing for multiple links and unquoted attribute values.
Fixed the regular expression to parse link header values to properly consider the comma to end an unquoted attribute value, too. Couple of additional unit tests, too.
2023-02-15 10:26:46 +01:00
Kevin Defives
08b48f67c6 #1899 - Test case to reproduce unquoted link attribute parsing bug. 2023-02-15 10:20:18 +01:00
Oliver Drotbohm
698ec7cf1c #1886 - Avoid trailing slash for links pointing to empty mapping path. 2023-01-12 08:52:28 +01:00
Oliver Drotbohm
856b6b9cbe #1881 - Fix flaky test. 2022-11-16 18:52:51 +01:00
Oliver Drotbohm
ec7b1b288e #1882 - Switching to Github actions for CI and releases. 2022-11-16 17:35:07 +01:00
Oliver Drotbohm
03aa0a6df7 #1881 - Update changelog. 2022-11-16 12:46:16 +01:00
Oliver Drotbohm
c425f3f355 #1868 - Update changelog. 2022-11-03 23:21:12 +01:00
Oliver Drotbohm
303e03a5b4 #1866, #1867 - More AOT hints from controller methods and RepresentationModelAssemblers.
We now inspect controller method return types and the generics of RepresentationModelAssembler for EntityModel and CollectionModel types and unwrap the type they box to register that for constructor and method invocation reflection.
2022-11-03 23:04:20 +01:00
Oliver Drotbohm
26c1e10f68 #1862 - Update changelog. 2022-10-12 12:58:58 +02:00
Oliver Drotbohm
265f0a1dcc #1857 - Upgrade to Spring Framework 6.0 RC1.
Temporarily disable HypermediaWebClientConfigurerTest due to https://github.com/spring-projects/spring-framework/issues/29307.
2022-10-12 12:20:28 +02:00
Oliver Drotbohm
e018479a4e #1858 - Improved AOT metadata.
We now register proxy types for all controller beans and the return types of their methods if suitable for proxying. This allows the link creation by pointing to controller methods.

We now also register all types (de)serialized by Jackson for reflection.
2022-10-12 11:22:44 +02:00
Oliver Drotbohm
aecea4fd78 #1845 - Update changelog. 2022-09-15 16:26:51 +02:00
Oliver Drotbohm
95ff31d2b5 #1830 - Reset dummy invocation cache on request completion. 2022-09-14 16:54:24 +02:00
Oliver Drotbohm
5b68dbcc40 #1819 - Revert build time initialization for static constants in MediaTypes.
This reverts commit 2804e6d0a7.
2022-09-12 18:14:26 +02:00
Oliver Drotbohm
3f6cb3269c #1822 - Add native runtime hint for the custom serializer in EntityModel. 2022-08-02 14:46:54 +02:00
Oliver Drotbohm
2804e6d0a7 #1819 - Add build time initialization for static constants in MediaTypes. 2022-07-15 17:41:52 +02:00
Oliver Drotbohm
9448e7d276 #1818 - Update changelog. 2022-07-15 14:52:50 +02:00
Oliver Drotbohm
44af5a6b43 #1817 - Improve JavaConfig to work on AOT. 2022-07-15 13:58:42 +02:00
Oliver Drotbohm
c11d21d123 #1814 - Update changelog. 2022-07-14 11:56:14 +02:00
Oliver Drotbohm
0098f2931a #1813 - Tweak integration tests to adapt to changed trailing slash handling in Spring 6.
See [0] for details.

[0] https://github.com/spring-projects/spring-framework/issues/28552
2022-07-14 10:51:38 +02:00
Oliver Drotbohm
42ae74b90d #1800 - Allow dots in template variable names. 2022-06-18 19:15:10 +02:00
Oliver Drotbohm
3dfab2ec03 #1775 - Polishing.
Avoid grouping of template variables via stream.

Before:

Benchmark                          Mode  Cnt      Score      Error  Units
TemplateVariableBenchmark.concat  thrpt    3  55275,436 ± 3778,690  ops/s

After:

Benchmark                          Mode  Cnt      Score     Error  Units
TemplateVariableBenchmark.concat  thrpt    3  64587,790 ± 735,705  ops/s
2022-06-01 17:43:30 +02:00
Michael.Rocke
c2394603fc #1775 - Optimization around constructing UriTemplate when supplying TemplateVariables of same type
Reduce the repeated merge routines on ExpandGroups.

Before:
Benchmark                          Mode  Cnt     Score     Error  Units
TemplateVariableBenchmark.concat  thrpt    3  3150,261 ± 263,525  ops/s

After:
Benchmark                          Mode  Cnt      Score      Error  Units
TemplateVariableBenchmark.concat  thrpt    3  55275,436 ± 3778,690  ops/s
2022-06-01 17:43:30 +02:00
Oliver Drotbohm
2de450531b #1796 - Relax generics bound in ReactiveRepresentationModelAssembler.
We now relax the generic bound of D to … extends RepresentationModel<?> as otherwise implementation code of, for example, toModel(…) has to produce a concrete representation model and cannot be typed to return RepresentationModel<?>.
2022-05-31 12:26:19 +02:00