Commit Graph

600 Commits

Author SHA1 Message Date
Oliver Drotbohm
81b685d196 #1014 - Polishing.
Javadoc.
2019-07-02 20:06:48 +02:00
Oliver Drotbohm
d1a06bbcc8 #1014 - Added API to conditionally add links to RepresentationModel.
This allows more fluent usage of the API.
2019-07-02 20:05:07 +02:00
Oliver Drotbohm
8af96d9277 #1013 - Upgrade to JUnit 5.5. 2019-07-01 10:27:25 +02:00
Oliver Drotbohm
ac065158d5 #859 - Polishing.
Removed System.our.println from test case.
2019-07-01 10:27:25 +02:00
Greg Turnquist
1396f0313c #1011 - Add timeouts to CI pipeline. 2019-06-28 11:46:48 -05:00
Greg Turnquist
0c048d399d #445 - Polishing. 2019-06-28 11:40:52 -05:00
Greg Turnquist
a0469e0371 #445 - Make RepresentationModelAssemblerSupport extensible.
Original pull-request: #590
2019-06-28 06:19:23 -05:00
Greg Turnquist
9a3c9c61d7 #1008 - Set user.name and user.home for CI jobs. 2019-06-27 15:42:28 -05:00
Greg Turnquist
0346447e2a #1007 - Reenable spring-next testing profile.
Now that Spring HATEAOS is based on Spring Framework 5.2.0.M3, which has upgraded it's handling of charset variables in web responses, we can go back to also testing against Spring Framework 5.2.0.BUILD-SNAPSHOT.
2019-06-27 14:25:00 -05:00
Greg Turnquist
0a5e8b98e5 #729 - Fix serialization of RepresentationModel for HAL-FORMS.
Original pull request: #824.
2019-06-27 17:00:14 +02:00
Oliver Drotbohm
8f14f03b97 #777 - Align all test classes to end in …Test. 2019-06-27 16:15:12 +02:00
Oliver Drotbohm
70586c9f22 #832 - Tweaked setup of HalFormsConfiguration and HalConfiguration.
HalFormsConfiguration now delegates to a HalConfiguration and the configuration will favor a user registered instance of the former over an instance of the latter or even fall back to default instances in case none of that is defined in the ApplicationContext.

This allows seamless pickup of HalConfiguration for HAL FORMS but also explicit opt-out if not desired.
2019-06-27 15:46:50 +02:00
Jens Schauder
aa95cbe9dd #983 - Polishing.
Tiny code simplification.

Related issues: #986.
2019-06-27 14:40:03 +02:00
Greg Turnquist
6a7e343acc #983 - Switch to Spring's ServerWebExchangeContextFilter.
Replace HypermediaWebFilter with ServerWebExchangeContextFilter.

Related issues: #986, spring-projects/spring-framework#21746.
2019-06-27 14:39:53 +02:00
Oliver Drotbohm
440e1852cc #992 - Remove URI restriction in HAL-FORMS implementation.
Prior to this commit the HAL-FORMS implementation verified the URIs of the affordances to match the self link of the representation model. This prevents the implementation of the HAL-FORMS metadata lookup protocol as defined in the HAL-FORMS specification [0].

We removed the verification to allow alternate URIs to be used for the afforances.

[0] https://rwcbook.github.io/hal-forms/#_suggested_process_flow_for_hal_forms_documents
2019-06-27 14:33:12 +02:00
Oliver Drotbohm
628148a169 #1003 - BoundMethodParameter now only uses first level nesting for JDK 8 optional. 2019-06-27 14:06:16 +02:00
Oliver Drotbohm
3b65aea8a5 #1006 - Upgrade Asciidoctor Maven plugin dependencies. 2019-06-27 13:33:17 +02:00
Oliver Drotbohm
2bc511a021 #1005 - Polishing.
Extended internationalization examples to show sample documents created. Minor polishing.
2019-06-27 13:31:47 +02:00
Oliver Drotbohm
c76a5eecb7 #1005 - Added documentation about i18n in HAL / HAL Forms.
Added documentation sections on i18n of HAL link titles, HAL Forms template titles and property prompts.
2019-06-27 10:54:35 +02:00
Oliver Drotbohm
313d405405 #849 - HAL Forms template titles can now be internationalized.
We now support _template.$affordanceName.title expressions in the rest-messages resource bundle to internationalize template titles.

Some minor cleanups in test cases and consistent naming for MessageSourceResolvable implementations.

Related tickets: #979.
2019-06-27 10:52:46 +02:00
Oliver Drotbohm
ceb406ae38 #979 - HAL Forms prompts can now be configured via a resource bundle.
We now support defining the prompts to be used for properties via the Spring HATEOAS rest-messages resource bundle. We support global definitions via $propertyName._prompt as well as qualified ones ($packageName.)$typeName.$propertyName._prompt.
2019-06-26 23:28:13 +02:00
Spring Buildmaster
cd5232ae08 #1002 - Prepare next development iteration. 2019-06-13 23:12:11 +00:00
Spring Buildmaster
0c831f0724 #1002 - Release version 1.0.0.M3. 2019-06-13 23:12:08 +00:00
Oliver Drotbohm
7648c764b5 #1002 - Update changelog. 2019-06-14 01:05:14 +02:00
Oliver Drotbohm
ef6889a148 #888 - Upgrade to Spring Plugin 2.0 M2. 2019-06-14 00:39:13 +02:00
Oliver Drotbohm
6fcfed3d66 #1001 - Upgrade to Reactor Dysprosium M2. 2019-06-14 00:24:29 +02:00
Oliver Drotbohm
6e3bbe851f #1000 - Upgrade to Spring Framework 5.0 M3. 2019-06-14 00:24:23 +02:00
Greg Turnquist
b2e327d1d2 #999 - Introduce Jenkins CI. 2019-06-07 16:28:10 -05:00
Oliver Drotbohm
6575a8ddae #998 - WebMvcHateoasConfiguration now delays a beans-of-type lookup.
We now delay the lookup of RepresentationModelProcessor instances in WebMvcHateoasConfiguration so that the BeanPostProcessor registered does now not trigger eager initialization of downstream beans.
2019-06-05 19:50:11 +02:00
Oliver Drotbohm
c12ed413da #997 - Upgrade to Jackson 2.9.9. 2019-06-05 19:45:09 +02:00
Greg Turnquist
c793509c0a #990 - Include instructions for testing of CI scripts locally.
Steps on how to test an update to CI scripts locally using Docker is useful to include in the CI README.
2019-05-14 11:06:28 -05:00
Greg Turnquist
c699399a93 #990 - Disable building docs during 'build' phase.
Until we can get CI to properly perform an SSH handshake with the doc server, need to disable attempts to upload reference documentation and javadocs.
2019-05-14 11:05:33 -05:00
Oliver Drotbohm
a81c07723c #990 - Fixed deployment of Javadoc and reference docs.
Javadoc is now generated into target/site/api. We now don't attach the zipped resources anymore but rather use the Wagon plugin to upload the content of target/site directly as what's generated into the folder already matches the expected folder structure.

We now consistently use ${project.reporting.outputDirectory} to refer to what defaults to target/site.

Goal to deploy static resources is: mvn clean deploy -DskipTests -Pdistribute.
2019-05-13 23:50:09 +02:00
Greg Turnquist
d2b154b95f #989 - Upgrade pipeline to leverage Concourse 5. 2019-05-13 13:33:28 -05:00
Spring Buildmaster
472998ef40 #988 - Prepare next development iteration. 2019-05-13 08:38:11 +00:00
Spring Buildmaster
8f03484a30 #988 - Release version 1.0.0.M2. 2019-05-13 08:38:07 +00:00
Oliver Drotbohm
bbea16fb11 #988 - Update dependencies and changelog.
Jayway JSONPath 2.2.0 -> 2.4.0
JUnit 5.4.1 -> 5.4.2
Slf4j 1.7.25 -> 1.7.26
Kotlin 1.3.21 -> 1.3.31

Removed obsolete version declarations for JSR-305 and Minidev JSON. Some nullability guards in ChangelogCreator.
2019-05-13 10:23:26 +02:00
Oliver Drotbohm
016fc21df5 #919 - Upgrade to Spring Framework 5.2 M2.
Upgraded to Reactor Dysprosium M1 as well.
2019-05-09 22:11:24 +02:00
Oliver Drotbohm
a5014c72d5 #919 - Upgrade to Spring Framework and Reactor snapshots. 2019-05-08 18:59:21 +02:00
Greg Turnquist
8fcbcef465 #859 - Polishing. 2019-05-08 18:44:59 +02:00
Jens Schauder
09ac7fb0c0 #859 - Polishing.
Changed http urls to https.
Minor changes to formatting.
2019-05-08 18:44:59 +02:00
Greg Turnquist
1e621784e7 #859 - Fix RepresentationModelProcessor to smoothly register with Spring MVC.
Some more polishing on internal of Processor and Invoker machinery regarding resource -> model, etc.
2019-05-08 18:44:59 +02:00
Greg Turnquist
0439c5f708 #985 - Polishing. 2019-05-08 18:44:46 +02:00
Greg Turnquist
8859e8493d #985 - Stabilize on Spring Framework 5.2.0.M1.
Pin things on stable milestones while introducing a profile to test snapshots. Pipeline updated to build against milestones and snapshots.
2019-04-17 10:21:36 -05:00
Greg Turnquist
950a3a73db #980 - Reduce test visibility. 2019-04-15 09:44:58 -05:00
Jens Schauder
13466eb1c7 #980 - Polishing.
Moved to latest JUnit version.
Limited assertions of exceptions to one method call.
2019-04-15 10:30:36 +02:00
Greg Turnquist
3a8b37b42a #980 - Migrate to JUnit 5. 2019-04-08 11:50:51 -05:00
Oliver Drotbohm
a0937f7c28 #977 - Simplified recreation of LinkBuilderSupport.
LinkBuilderSupport's constructor now obtains a UriComponentsBuilder in a less complicated way.

Benchmarks before:

Benchmark                                           Mode  Cnt   Score   Error  Units
ControllerLinkBuilderBenchmark.simpleLinkCreation  thrpt   20  40,462 ± 1,572  ops/s

Benchmarks after:

Benchmark                                           Mode  Cnt   Score   Error  Units
ControllerLinkBuilderBenchmark.simpleLinkCreation  thrpt   20  41,158 ± 0,624  ops/s
2019-04-05 22:33:53 +02:00
Oliver Drotbohm
39404ea2d9 #977 - Performance improvements in link generation.
Introduced more caches for reusable value objects: UriTemplate, MethodParameters. Cache UriTemplate.toString() to avoid re-computation. Avoid recomputing the affordances if possible in WebHandler. Removed cache in AnnotatedParametersParameterAccessor as that one now transitively benefits from the one introduced in MethodParameters.

Related ticket: spring-projects/spring-framework#22730.
2019-04-03 18:39:40 +02:00
Greg Turnquist
fc3767b90b #867 - Reenable default encoders and encoders.
Thanks to https://github.com/spring-projects/spring-framework/issues/22612, Spring HATEAOAS no longer has to disable the default registry of encoders and decoders to get its custom components to work.

Related issues: #885, https://github.com/spring-projects/spring-framework/issues/22612
2019-04-03 11:08:36 -05:00