Commit Graph

308 Commits

Author SHA1 Message Date
Oliver Gierke
26c3620249 #520 - Added Jacoco plugin to SonarQube build profile. 2016-12-08 10:37:32 +01:00
Oliver Gierke
89323d0baf #520 - Polished a couple of SonarQube warnings. 2016-12-08 10:29:24 +01:00
Oliver Gierke
327e2cda76 #509 - Polishing.
Formatting and author note.

Original pull request: #519.
2016-12-07 16:56:07 +01:00
Oliver Trosien
47cefe6869 #509 - Align ControllerLinkBuilder's base URI generation with Spring Framework.
Removed the custom handling of proxy headers in ControllerLinkBuilder in favor of the behavior of UriComponentsBuilder in Spring Framework. The only thing that we keep custom is the handling of X-Forwarded-Ssl as it's rather non-standard.

Original pull request: #519.
2016-12-07 16:54:17 +01:00
Oliver Gierke
8f53d3f730 #473 - Update dependencies.
Jackson 2.7.4 -> 2.8.5
Minidev JSON 2.2 -> 2.2.1
2016-12-07 12:20:01 +01:00
Oliver Gierke
9b140fcd01 #517 - Upgraded to Spring 4.3.4. 2016-12-07 12:19:22 +01:00
Oliver Gierke
267181ba44 #511 - Caching UriTemplate instances for discovered mappings now. 2016-12-07 12:16:49 +01:00
Oliver Gierke
2daf8aabfb #169 - Added support for creating URI templates by pointing to controller methods.
If not all parameters are handed to a fake controller method invocation, the resulting link is now becoming a URI template. That means there are some tiny changes to the general behavior:

1. Missing required parts (like a path segment) are not rejected immediately but only if the resulting link is expanded itself.
2. Missing request parameters now appear in the resulting link, either in mandatory form (e.g. ?foo={foo}) or optionally (e.g. /{?foo}). To resolve these, the Link has to be expanded in turn.
2016-12-07 12:08:05 +01:00
Oliver Gierke
4838e9f40c #511 - Performance improvements in link building.
We're now caching meta information about controller methods and their parameters more aggressively to avoid repeated lookups of such information via reflection. We're also keeping reference to proxy classes generated through CGlib around to avoid costly regeneration.

Note that the main culprit causing the drastic numbers reported in the original ticket stem from a problem in Spring's TypeDescriptor which triggers costly equals(…) comparisons on synthesized annotations [0].

Removed conditional reflective lookup of DefaultParameterNameDiscoverer as it's now present by definition.

[0] https://jira.spring.io/browse/SPR-14926
2016-11-21 12:54:57 +01:00
Oliver Gierke
1f57378b84 #504 - Parsing links now supports all rel formats defined in RFC5988. 2016-10-28 11:30:00 +02:00
Oliver Gierke
304585f83d #507 - Upgraded Spring 5 build profile to 5.0 M2.
Added build profile to Travis setup.
2016-10-28 10:45:35 +02:00
Oliver Gierke
2875ecba4a #499 - Polishing.
Extended year range in license header.

Original pull request: #500.
2016-10-28 09:51:13 +02:00
Michael Hibay
a473943be4 #499 - Adding id property to Ext to conform to ALPS spec.
Adapted unit tests to include the additional field.

Original pull request: #500.
2016-10-28 09:50:53 +02:00
Oliver Gierke
d8b7dcbca1 #471 - Polishing.
Fixed imports and reinstantiated old unit test to make sure we actually test both scenarios.

Original pull request: #497.
2016-10-28 09:43:23 +02:00
Mark Paluch
a7f8a2c698 #471 -Support composed annotations in AnnotationMappingDiscoverer.
We now support composed annotations using @AliasFor such as @GetMapping that are mixed with @RequestMapping on type and method level.

@RequestMapping("type")
class MyController {

	@GetMapping("method")
	String method() {
	   …
	}
}

Original pull request: #497.
2016-10-28 09:38:49 +02:00
Oliver Gierke
642b673676 #486 - Fixed assignment checks of ResolvableTypes for wildcarded method return types.
ResourceProcessorInvoker suffered from Spring's ResolvableType.fromClass(…) using strong assignability checks between raw types and wildcarded right hand side types (i.e. Collection VS. Collection<?>). This has been reported [0] and fixed already but we have to switch to ResolvableType.fromRawClass(…) to get the desired assignment check behavior.

Tightened unit tests to verify the calls to the delegate handler, which had been disabled by accident and thus prevented us from detecting the issue with ResolvableType beforehand.

[0] https://jira.spring.io/browse/SPR-14648
2016-08-31 17:08:15 +02:00
Oliver Gierke
e5c6485985 #485 - Upgraded to Spring 4.3
Upgraded to Spring 4.3.3 snapshots for now to benefit from fixes in ResolvableType [0]. Upgraded to Jackson 2.7.4 on the way and added a build profile for released Spring 5 versions.

[0] https://jira.spring.io/browse/SPR-14648
2016-08-31 17:07:18 +02:00
Spring Buildmaster
f1fd16cded #472 - Prepare next development iteration. 2016-07-27 11:02:15 +00:00
Spring Buildmaster
ff33320af7 #472 - Release version 0.21.0.RELEASE. 2016-07-27 11:02:14 +00:00
Oliver Gierke
dbc4b48ea4 #472 - Updated changelog. 2016-07-27 12:37:00 +02:00
Oliver Gierke
266ad50b35 #469 - Removed support for AnnotationMethodHandlerAdapter.
Added a Spring 5 specific build profile and removed the references to AnnotationMethodHandlerAdapter which already had been deprecated in the latest Spring 3 in favor of RequestMappingHandlerAdapter.

Updated Spring build profiles in general.
2016-07-25 20:32:27 +02:00
Oliver Gierke
bdb441c563 #464 - Fixes references to Traverson tests from reference documentation. 2016-06-28 08:36:48 +02:00
Oliver Gierke
0331b8d2c7 #460 - HalHandlerInstantiator now uses a BeanFactory for all non pre-registered types.
The HalHandlerInstantiator now accepts an AutowireCapableBeanFactory to delegate component creation requests to for non pre-build serializers. This allows other serializers to benefit from Spring instantiation but at the same time use the dedicated serializers created as singletons.
2016-06-09 17:20:27 +02:00
Spring Buildmaster
01084c5fbd #458 - Prepare next development iteration. 2016-06-06 17:07:20 +00:00
Spring Buildmaster
63b9ec202c #458 - Release version 0.20.0.RELEASE. 2016-06-06 17:07:20 +00:00
Oliver Gierke
d3b7e9dbb4 #458 - Updated changelog. 2016-06-06 18:59:17 +02:00
Oliver Gierke
52675b7e39 #458 - Updated build profiles for Spring 4.3. 2016-06-06 18:57:54 +02:00
Oliver Gierke
cbbc2b2d84 #440 - Links now parses URIs containing commas correctly.
Switched to a regular expression based split of links to make sure URIs that contain commas do not interfere with the rather simplified splitting algorithm we used before.
2016-06-06 11:47:24 +02:00
Ray Sinnema
078e1126c9 #397 - Fixed typos in reference documentation. 2016-06-06 11:33:34 +02:00
Oliver Gierke
4d189cf11f #457 - Polished usage of Lombok in ALPS package.
Switched to the non-experimental @Builder. Upgraded to Lombok 1.16.8.
2016-06-06 11:26:59 +02:00
Oliver Gierke
40898cb1ea #362 - Moved ResourceProcessor invoking infrastructure from Spring Data REST. 2016-06-06 11:25:19 +02:00
Oliver Gierke
28687af228 #455 - More removals of deprecations in ResourcesMixin. 2016-05-20 18:42:02 +02:00
Oliver Gierke
33ad2e0947 #455 - Adapt Jackson2HalModule to assure Jackson 2.7 compatibility.
Changed invocations of constructors of the super class in Jackson Serializers to use JavaType instead of Class<?> as the constructor has been removed in some of the base classes in Jackson 2.7.

Upgraded to Jackson 2.5.5 along the way.
2016-05-20 14:12:34 +02:00
Oliver Gierke
788715c8eb #449 - Added formatter presets for IDEs. 2016-04-30 12:26:26 +02:00
Oliver Gierke
666a16cc3a #432 - Added code of conduct. 2016-02-03 08:34:43 +01:00
Oliver Gierke
3dc7aac35c #372 - Polishing.
Updated authors and copyright years, some minor refactorings.
2016-01-13 18:45:16 +01:00
Andrew Naydyonock
23a9017214 #372 - Added support for Map parameters to LinkBuilderFactory.linkTo(…). 2016-01-13 18:44:27 +01:00
Greg Turnquist
a5dd1d54b1 #388 - Rename missing Tests to Test for Maven support.
Original pull request: #390.
2016-01-13 18:24:41 +01:00
Oliver Gierke
911bec4bd6 #186 - AnnotationMappingDiscoverer now uses first mapping in case multiple ones are defined. 2016-01-12 10:56:33 +01:00
Oliver Gierke
e1afab94de #269 - Polishing.
Simplified slash removal and made sure slashes occuring multiple times are removed properly.

Original pull request: #423.
2016-01-12 09:51:45 +01:00
Kevin Conaway
720ff797de #269 - Make sure URL parts are joined by exactly one slash.
Original pull request: #423.
2016-01-12 09:49:29 +01:00
Oliver Gierke
792b5fcd22 #398 - Polishing.
Some JavaDoc, formatting, copyright year expansion and author tags. Test method ordering.

Original pull request: #422.
2016-01-07 18:58:32 +01:00
Kevin Conaway
7174015746 #398 - Remove unnecessary URI conversion in ControllerLinkBuilderFactory.
ControllerLinkBuilderFactory now forwards the source UriComponents to the ControllerLinkBuilder instead of turning it into a URI and a UriComponentsBuilder in turn.

Original pull request: #422.
2016-01-07 18:57:21 +01:00
Oliver Gierke
dd0f9e8905 #421 - DefaultCurieProvider now automatically prefixes URIs in case they're not absolute.
DefaultCurieProvider now automatically adds the application URI (servlet mapping) in case the UriTemplate configured does not contain an absolute URI in the first place.
2016-01-04 17:17:14 +01:00
Oliver Gierke
4e1e5ed934 #383 - Reinstantiated Jackson 2.4 compatibility.
Re-introduced the simple isEmpty(…) methods in custom Jackson serializers as the more complex ones were introduced in Jackson 2.5 only. Removed the @Override annotations so that we could even compile against 2.4 if needed.
2015-09-03 14:19:03 +02:00
Tom Bunting
dd4ec341b5 #337 - Fixed potential double-encoding in Traverson.
We now avoid calling URI.toString() to early to prevent the need to re-parse it and thus accidentally cause a double-encoding.

Original pull request: #382.
2015-09-03 12:39:04 +02:00
Oliver Gierke
a019edae82 #381 - Upgraded Spring 4.2 build profile to Spring 4.2.1.RELEASE. 2015-09-02 08:38:49 +02:00
Oliver Gierke
9d35670e77 #380 - Renamed *Tests classes to *Test to make sure the Maven build runs them. 2015-09-02 08:30:49 +02:00
Spring Buildmaster
b41402f195 #379 - Prepare next development iteration. 2015-09-01 00:10:02 -07:00
Spring Buildmaster
e538dd31be #379 - Release version 0.19.0.RELEASE. 2015-09-01 00:10:00 -07:00