Commit Graph

1857 Commits

Author SHA1 Message Date
Andy Wilkinson 8c9c649805 Fix MongoPropertiesTests following upgrade to Mongo 3.2 (6f5bd2e)
See gh-3011
2016-05-26 14:42:39 +01:00
Johnny Lim 70adefc87b Polish
Closes gh-6046
2016-05-26 14:58:41 +02:00
Andy Wilkinson 6f5bd2e13a Upgrade to MongoDB 3
This commit upgrades to MongoDB 3. Dependency management has been added
for the new and preferred mongodb-driver artifact. The starter has
been updated to use this new artifact rather than monogo-java-driver.
Dependency management for mongo-java-driver has been retained to avoid
causing problems for people who have declared the dependency explicitly.
The auto-configuration for Embedded Mongo has also been updated to
use 3.2.2 by default.

Closes gh-3011
2016-05-26 13:57:12 +01:00
Phillip Webb ccdcad757a Allow template lookup caching to be disabled
Extract TemplateAvailabilityProvider caching logic to a new
TemplateAvailabilityProviders class and provide property support to
disable it. Also update DevToolsPropertyDefaultsPostProcessor to
automatically set the property.

Fixes gh-5989
2016-05-25 20:46:01 -07:00
Stephane Nicoll c3201a1e91 Revert "Cache resolved error template view names"
See gh-5989
2016-05-18 17:56:27 +02:00
Stephane Nicoll dcf3a56bd5 Polish 2016-05-17 09:48:59 +02:00
Stephane Nicoll 3805fc7455 Polish 2016-05-17 08:55:59 +02:00
Phillip Webb f3e630933a Add OAuth PrincipalExtractor strategy interface
Update `UserInfoTokenServices` to use a PrincipalExtractor interface
to extract the principal.

Fixes gh-5186
2016-05-16 19:21:52 -07:00
Phillip Webb 7f45485e61 Provide explicit force request/response properties
Update HttpEncodingProperties to offer explicit `force-request` and
`force-reponse` properties in additional to the existing `force`
property.

Closes gh-5459
2016-05-16 18:43:57 -07:00
Phillip Webb bcfa2e6676 Make TestRestTemplate not extend RestTemplate
Update TestRestTemplate so that it no longer directly extends
RestTemplate. Prior to this commit it was possible that TestRestTemplate
could interfere with user defined RestTemplate beans.

TestRestTemplate offers the same methods as RestTemplate so should be
a drop-in replacement. If access is needed to the actual underlying
template the `getRestTemplate()` method should be used.

Fixes gh-5915
2016-05-16 12:35:31 -07:00
Phillip Webb 00fbb5c3d9 Polish 2016-05-16 12:00:03 -07:00
Dave Syer 46134b58b8 Fix stupid checkstyle violations 2016-05-16 14:52:11 +01:00
Dave Syer 684c8c81a3 Extract user info rest template into a factory
Instead of using a @Bean, it is better to use an opaque factory
for an internal dependency that users are not going to want in
the context. OAuth2RestTemplate is a common enough bean type that
creating on in autoconfig makes it hard for users to add their own
for business use.

See gh-5967
2016-05-16 14:06:54 +01:00
Phillip Webb c15c146021 Cache resolved error template view names
Fixes gh-5933
2016-05-13 20:09:02 -07:00
Phillip Webb 6cdbdf9ad3 Polish 2016-05-13 20:09:02 -07:00
Stephane Nicoll 00f9adafd7 Stop creating a primary `Oauth2RestTemplate`
This commit removes the creation of a `@Primary` `OAuth2RestTemplate`
and updates the documentation accordingly.

Once #5507 is implemented we could revisit this area to provide a way for
users to easily create such a bean.

Closes gh-5202
2016-05-13 17:26:22 +02:00
Andy Wilkinson c11b28c3c7 Align default for OPTIONS request dispatching with Spring Framework 4.3
Closes gh-5965
2016-05-13 16:19:10 +01:00
Stephane Nicoll 2b006aacb3 Validate Spring Session has been configured
This commit validates that a `SessionRepository` has been configured if
Spring Boot is meant to auto-configure one.

Closes gh-5943
2016-05-13 12:07:40 +02:00
Stephane Nicoll 5deca28a9d Improve upgrade path for Spring Session
Commit b7e7bcf made `spring.session.store-type` explicit which means that
users of Spring Session in 1.3 have to set that property to restore the
auto-configuration support in 1.4.

This commit implicitly set the store type to redis if redis is present
and log a warning inviting the user to actually specify that in
configuration.

The entry in the auto-configuration report also mentions that such
arrangement is deprecated.

Closes gh-5838
2016-05-13 11:19:02 +02:00
Johnny Lim 7a62b7d066 Polish
Closes gh-5936
2016-05-13 08:55:28 +02:00
Kazuki Shimizu a4d9ba165f Set default paths for fixed static version
Closes gh-5878
2016-05-12 17:06:26 +01:00
Andy Wilkinson 500edeacc4 Ensure that static error pages have a Content-Type header
The getContentType() accessor method on View appears to only be used
for content negotiation. For the Content-Type header to be included in
the response the view needs to set it explicitly when render is called.

Closes gh-5918
2016-05-11 11:48:06 +01:00
Andy Wilkinson 5c0d400c23 Align Hibernate 5 join table names with those from SpringNamingStrategy
Previously, the name of a join table when using Hibernate 5 would
differ from those when using Hibernate 4 with the default
SpringNamingStrategy.

This commit introduces SpringImplicitNamingStrategy which customises the
name of join tables to match those produced by SpringNamingStrategy.

Closes gh-5880
2016-05-11 10:52:43 +01:00
Phillip Webb cf6212b955 Polish 2016-05-10 10:22:37 -07:00
Phillip Webb 6575ca6ff8 Merge branch 1.3.x 2016-05-10 09:35:49 -07:00
Phillip Webb 7fb545d26c Polish 2016-05-10 09:35:10 -07:00
Andy Wilkinson 0c2ecb7ba0 Apply standard Jackson2ObjectMapperBuilder config via a customizer
This commit builds on the new abstraction introduced in 2a0b8a7 by
applying the standard JacksonProperties-based
Jackson2ObjectMapperBuilder configuration via a customizer.

It also applies some polishing to the original contribution:

 - Code has been formatted
 - Logic that applies the customizers has moved to be alongside the code
   that creates the builder
 - Logic that explicitly sorted the customisers has been removed as
   they will be sorted automatically prior to injection
2016-05-10 14:23:33 +01:00
dziesio deb7529a36 Make it easier to customize auto-configured Jackson2ObjectMapperBuilder
Previously, it was difficult to customize the auto-configured
Jackson2ObjectMapperBuilder. Typically, use of a bean post processor
was required.

This commit introduces Jackson2ObjectMapperBuilderCustomizer. Beans
that implement this interfaces are called during creation of the
auto-configured Jackson2ObjectMapperBuilder, providing an opportunity
to customize its configuration.

Closes gh-5803
2016-05-10 14:23:33 +01:00
Andy Wilkinson 64e668d584 Use AssertJ in JooqExceptionTranslatorTests 2016-05-10 14:22:01 +01:00
Andy Wilkinson 12215533a5 Merge branch '1.3.x' 2016-05-10 13:29:17 +01:00
Andy Wilkinson 1ab835a0f7 Add tests for JooqExceptionTranslator
See gh-5884
2016-05-10 13:21:59 +01:00
tfeiner 61cb18a69c Use JOOQ's Spring DB name during exception translation
The name of a JOOQ SQLDialect does not always match the name defined
in sql-error-codes.xml. For example, the Postgres translator was not
initialized correctly because in JOOQ the dialect is named
SQLDialect.POSTGRES, but in sql-error-codes.xml the bean is named
"PostgreSQL".

This commit updates the translator to use the dialects third-party
springDbName which ensures that it maps correctly to the entries in
sql-error-codes.xml.

Closes gh-5884
2016-05-10 13:21:59 +01:00
Andy Wilkinson 0a765e36f1 Protect against stack overflow when searching meta annotations
It is legal for an annotation to be annotated with itself. Previously,
when searching for meta annotations this could lead to a stack overflow.
This was likely to occur when using Kotlin as, like Java, its Target
annotation is annotated with itself. A stack overflow doesn’t occur
with Java’s Target annotation due to some short-circuiting logic for
annotations in java.lang.

This commit updates the logic for finding meta-annotations to
short-circuit when an annotation that has already been seen is
encountered.

Closes gh-5902
2016-05-10 09:39:55 +01:00
Stephane Nicoll 699d083cec Add load-on-startup property to DispatcherServlet
Closes gh-2481
2016-05-10 08:37:23 +02:00
Spring Buildmaster 819a9574a6 Next Development Version 2016-05-10 05:28:34 +00:00
Andy Wilkinson 3348ed5bb3 Make use of new GetMapping and PostMapping annotations
Closes gh-5277
2016-05-09 17:08:16 +01:00
Stephane Nicoll 2cacc19c91 Polish
See gh-5901
2016-05-09 17:49:55 +02:00
Stephane Nicoll a4ba8f61c9 Backport 6dd8415
While working on gh-5309, a regression was introduced and fixed right the
way on master. Unfortunately, the fix wasn't applied to `1.3.x` as it
should have been.

This commit applies 6dd8415 to `1.3.x`

Closes gh-5901
2016-05-09 17:49:16 +02:00
Stephane Nicoll b7e7bcf717 Make `spring.session.store-type` mandatory
Previously, Spring Session would be auto-configured by the mere presence
of Spring Session in the classpath. This was fragile as determining a
store type according to the environment could easily change when the
classpath of the project changes.

This commit makes the store-type property mandatory. If it is not set,
Spring Session is no longer auto-configured.

Closes gh-5838
2016-05-09 08:07:25 +02:00
Spring Buildmaster 376bbe68d8 Next Development Version 2016-05-06 11:23:57 +00:00
Stephane Nicoll 21536f64e1 Polish info contributor feature
This commit improves the `InfoContributor` infrastructure as follows:

* `InfoEndpoint` no longer breaks its public API and returns a Map as
before
* `Info` is now immutable
* All properties of the build are now displayed. Since we control the
generation of that file, there is no longer a mode to restrict what's
shown
* Build info is now generated in `META-INF/build-info.properties` by
default

Closes gh-5734
2016-05-06 10:52:26 +02:00
Andy Wilkinson a245845521 Correct assertion that were inverted when converting to AssertJ
See gh-5819
2016-05-05 17:54:13 +01:00
Andy Wilkinson c76621b34d Merge branch '1.3.x' 2016-05-05 17:36:14 +01:00
Andy Wilkinson 34420a8768 Allow @ConditionalOnProperty to be used as a meta-annotation
Closes gh-5819
2016-05-05 17:33:18 +01:00
Andy Wilkinson 5b544c918d Merge branch '1.3.x' 2016-05-05 16:14:17 +01:00
Andy Wilkinson 147956a7b2 Avoid creating multiple BeanNameViewResolver beans
ErrorMvcAutoConfiguration creates a BeanNameViewResolver bean in case
the user has used @EnabledWebMvc and disabled WebMvcAutoConfiguration.
If the user hasn’t used @EnabledWebMvc, WebMvcAutoConfiguration will
creates its BeanNameViewResolver and override the one that’s already
been defined by ErrorMvcAutoConfiguration.

This commit makes WebMvcAutoConfiguration’s BeanNameViewResolver
definition conditional on there being no existing BeanNameViewResolver
bean definition.

Closes gh-5354
2016-05-05 16:10:36 +01:00
Dave Syer de6c582c9e Merge remote-tracking branch 'origin/1.3.x' 2016-05-04 21:16:32 +01:00
Dave Syer 905451f92e That BaseConfiguration thing didn't work out after all
It seems like a base class that defines `@Beans` just doesn't
define any beans. Oh well, time to copy-paste.
2016-05-04 21:01:40 +01:00
Dave Syer e58bef5f2b Merge remote-tracking branch 'origin/1.3.x' 2016-05-04 14:23:14 +01:00
Dave Syer 1babdd5c2e Remove log config for non boot things 2016-05-04 14:22:41 +01:00