Commit Graph

6202 Commits

Author SHA1 Message Date
Stephane Nicoll 6491eafc4a Polish doc
`ConfigFileEnvironmentPostProcessor` was renamed to
`ConfigFileApplicationListener`.

See gh-4258
2015-10-28 20:07:45 +01:00
Andy Wilkinson 833aac2b26 Drive EnvironmentPostProcessors from ConfigFileApplicationListener
Previously, ConfigFileApplicationListener was listed in spring.factories
as both an EnvironmentPostProcessor and an ApplicationListener. This
was problematic as ConfigFileApplicationListener is stateful and listing
it twice lead to two separate instances with separate state.

This commit restore ConfigFileApplicationListener to only being an
ApplicationListener. The driving of EnvironmentPostProcessors that was
performed by EnvironmentPostProcessingApplicationListener is now
performed by ConfigFileApplicationListener which adds itself as an
EnvironmentPostProcessor. This ensures that there’s only a single
instance of ConfigFileApplicationListener, allowing its state to be
managed correctly.

Closes gh-4258
2015-10-28 18:58:19 +00:00
Andy Wilkinson 0adf037410 Consider custom server.context-path when configuring dev tools endpoints
Previously, the auto-configuration of DevTools’ debug, restart, and
health handlers assumed that the server was running on its default
context path and, if server.context-path was set to a non-default value,
the handlers would not work as expected.

This commit updates the auto-configuration of the three handlers to 
consider the server’s context path when configuring their URIs. Now,
when a custom server context path is used, no further configuration is
required other than the inclusion of that context path when providing
the remote URL as an argument to RemoteSpringApplication.

Closes gh-4301
2015-10-28 17:22:57 +00:00
Stephane Nicoll b5246af148 Merge pull request #4330 from izeye/patch-46
* pr/4330:
  Remove unnecessary String concatenation
2015-10-28 18:19:15 +01:00
Johnny Lim f76322263b Remove unnecessary String concatenation
Closes gh-4330
2015-10-28 18:12:52 +01:00
Stephane Nicoll 831fa1d3b4 Merge pull request #4317 from vpavic/fix-flyway-baseline-version
* pr/4317:
  Polish contribution
  Fix binding of Flyway's baselineVersion property
2015-10-28 18:12:04 +01:00
Stephane Nicoll 90a4d1df2b Polish contribution
Closes gh-4317
2015-10-28 18:12:02 +01:00
Vedran Pavic 40351c40ed Fix binding of Flyway's baselineVersion property
See gh-4317
2015-10-28 18:12:02 +01:00
Andy Wilkinson 791c50d1e7 Add an integration test to verify filter ordering
We have some requirements for filter ordering:

1. The character encoding filter must go first
2. Spring Session’s filter should go early
3. RequestContextFilter should go late so that it any request wrapping
   performed by other filters is reflected in the request that’s set
   in the RequestContextHolder
4. Spring Security’s Filter must go after RequestContextFilter so that
   any code called by Filters in Spring Security’s Filter chain can
   retrieve the request from RequestContextHolder, for example
   OAuth2ClientContextFilter.

See gh-4331
2015-10-28 16:58:34 +00:00
Stephane Nicoll e02bda5f8e Merge pull request #4323 from shakuzen/patch-9
* pr/4323:
  Fix documentation example
2015-10-28 17:53:05 +01:00
Tommy Ludwig 2516dc033f Fix documentation example
Previously, the nested private static class would cause an error at
startup stating that it was not accessible when trying to bind the
property from the environment. The nested class should be public.

Closes gh-4323
2015-10-28 17:52:16 +01:00
Stephane Nicoll f09bbb5e1d Merge pull request #4328 from izeye/polish-20151028
* pr/4328:
  Polish docs
2015-10-28 17:51:47 +01:00
Johnny Lim e2a8fc461c Polish docs
Closes gh-4328
2015-10-28 17:51:32 +01:00
Andy Wilkinson 1ef68ef231 Correct the reference to jarfolder in the init script
Closes gh-4287
2015-10-28 14:32:11 +00:00
Andy Wilkinson f54b5d7ac1 Change ordering of deployment tests to keep Cargo happy
For some reason, Cargo fails when the Tomcat deployment tests are run
after the TomEE deployment tests. It complains that it can’t find one
of its own classes. This commit changes the order so that the TomEE
tests run before the Tomcat tests.

\_(ツ)_/¯
2015-10-28 14:13:29 +00:00
Andy Wilkinson 8ed472d6f9 Update logging listener to use normal stack trace ordering by default
Previously, LoggingApplicationListener used %rEx as the default
exception conversion word. This would result in the nested causes
being logging in reverse order, i.e. the most deeply nested cause
would be logged first.

This commit updates the default to be %wEx and adds a test to verify
the default behaviour.

Closes gh-4247
2015-10-28 14:07:06 +00:00
Andy Wilkinson 2dee3a9fe9 Upgrade to Spring Security OAuth 2.0.8.RELEASE
Closes gh-4296
2015-10-28 12:53:46 +00:00
Andy Wilkinson 222ca74c62 Fix Checkstyle violations 2015-10-28 12:49:40 +00:00
Andy Wilkinson c4122b8f8d Work around brittle annotation scanning in Mojarra
FacesListener in Mojarra 2.2.12 (used in Glassfish 4.1.1) is a
ServletContainerInitializer that’s annotated to handle types annotated
with javax.annotation.Resource.
OAuth2RestOperationsConfiguration.SessionScopedConfiguration is one such
class. This leads to com.sun.faces.config.DelegatingAnnotationProvider
calling getAnnotations on SessionScopedConfiguration.class. This fails
with a java.lang.ArrayStoreException due to SessionScopedConfiguration
being annotated with @ConditionalOnBean(OAuth2ClientConfiguration) and
OAuth2ClientConfiguration not being on the classpath.
DelegatingAnnotationProvider currently catches NoClassDefFoundErrors
thrown during its annotation processing. It needs to be made more
robust so that it also copes with an ArrayStoreException, in a similar
way to how org.glassfish.apf.impl.AnnotationProcessorImpl was updated to
fix GLASSFISH-21265 [1]. I’ve opened an issue to this effect [2].

In the meantime, we can work around the brittleness in
DelegatingAnnotationProvider by restructuring
SessionScopedConfiguration. This commit moves the use of @Resource into
a nested inner class, ClientContextConfiguration, while leaving the use
of @ConditionalOnBean on SessionScopedConfiguration. This means that it
is now ClientContextConfiguration that is passed to FacesListener and
processed by DelegatingAnnotationProcessor, thereby avoiding exposing
it to the @ConditionalOnBean annotation that it does not handle
gracefully. A Glassfish-based deployment test has also been added to
verify the fix.

Closes gh-2079
Closes gh-4321

[1] https://java.net/jira/browse/GLASSFISH-21265
[2] https://java.net/jira/browse/JAVASERVERFACES-4076
2015-10-28 12:18:22 +00:00
Dave Syer 5c0ef308aa Test that client-id can be hyphen or camel-cased 2015-10-28 11:50:31 +00:00
Stephane Nicoll 954d137210 Reduce code duplication 2015-10-28 11:57:59 +01:00
Stephane Nicoll 1173f771e3 Upgrade to Spring Integration 4.2.1.RELEASE
Closes gh-4260
2015-10-28 08:46:33 +01:00
Stephane Nicoll 17cf24110e Add reference to samples
Closes gh-1248
2015-10-27 16:54:05 +01:00
Axel Fontaine d25b7ca46b Add documentation for Boxfuse and Amazon Web Services deployment 2015-10-27 14:42:08 +00:00
Andy Wilkinson d29d73d38e Keep javac happy by making variable explicitly final 2015-10-27 13:49:18 +00:00
Andy Wilkinson 89f8af4e6e Make the configuration of the document root consistent across containers
Previously, if getValidDocumentRoot() returned null, only the embedded
Tomcat container would use a temporary directory. This left Jetty and
Undertow unable to provide a URL for the root of the servlet context,
i.e. servletContext.getResource("/") would return null.

This commit updates the embedded containers for Jetty and Undertow to
behave in the same way as Tomcat. A test has been added to verify that
all three containers can produce a non-null URL for the root of the
servlet context.

Closes gh-2878
2015-10-27 13:41:52 +00:00
Stephane Nicoll 649f7a8011 Add reference to cas client auto-config 2015-10-27 13:22:34 +01:00
Huang YunKun 1c5e445554 Update the samples to use @WebIntegrationTest and randomPort=true
Closes gh-4294
Closes gh-4271
2015-10-27 11:56:01 +00:00
Vedran Pavic acf6f2193b Fix HTTP health endpoint access restrictions table layout
Closes gh-4304
2015-10-27 11:19:34 +00:00
d10xa 1720941d47 Fix typo in executable jar format appendix
Closes gh-4314
2015-10-27 11:13:08 +00:00
Andy Wilkinson d9d4cc2ef5 Ensure request context is setup before security filter runs
Previously, OrderedRequestContextFilter was ordered such that it
ran after Spring Security's Filter. This meant that the request
context was unavailable to any Filters in Spring Security's Filter
chain. Specifically, this caused a failure when using @EnableOAuth2Sso
as OAuth2ClientAuthenticationProcessingFilter, which is added to
Spring Security's Filter chain would be unable to use the
request-scoped bean upon which it depends.

This commit updates the order of OrderedRequestContextFilter so that
the request context is set up before Spring Security's Filter runs.
The tests for SampleGitHubApplication have been updated to use
TestRestTemplate rather than MockMvc. This is necessary as the latter,
via ServletTestExecutionListener, automatically populates the request
context holder, masking the fact that the request context filter was
setting it up too late.

Closes gh-4270
2015-10-27 10:56:55 +00:00
Stephane Nicoll fdf75d3ede Document Actuator's CORS support
Closes gh-3010
2015-10-27 11:41:30 +01:00
Andy Wilkinson 17f61c1dad Update javadoc of LaunchedURLClassLoader to describe delegation model
Closes gh-3864
2015-10-27 10:09:10 +00:00
Stephane Nicoll b74c10ba3a Document FilterRegistrationBeans specific default
If a filter is registered in `web.xml` with no `dispatcher` element, the
spec states that it should have the `REQUEST` dispatcher type only.

As we are adding more dispatcher types by default, it can be surprising
for users migrating from a `web.xml` based  web app. The documentation
has now an explicit note about this.

Closes gh-2689
2015-10-27 11:05:56 +01:00
Andy Wilkinson 783a59f638 Merge branch 'gh-4311' 2015-10-27 09:57:23 +00:00
Andy Wilkinson 56334b48f6 Improve testing of shutdown handler registration 2015-10-27 09:57:10 +00:00
Johnny Lim 180815445c Fix registration of shutdown handler as a shutdown hook
Closes gh-4311
2015-10-27 09:57:10 +00:00
Stephane Nicoll 04fa7e4d27 Add dependency management section in the doc
Better describe what Spring Boot offers with regards to dependency
management and how it translates in Maven and Gradle.

Closes gh-2580
Closes gh-3695
2015-10-27 10:50:18 +01:00
Stephane Nicoll 9af17555c0 Polish 2015-10-27 09:20:16 +01:00
Stephane Nicoll 0f550dfce7 Merge pull request #4309 from izeye/polish-20151027
* pr/4309:
  Polish contribution
  Polish docs
2015-10-27 08:58:37 +01:00
Stephane Nicoll 0e99ba9004 Polish contribution
I don't think we want to keep this on a single line.

Closes gh-4309
2015-10-27 08:58:24 +01:00
Johnny Lim 396bea22b9 Polish docs
See gh-4309
2015-10-27 08:58:12 +01:00
Stephane Nicoll 2431767c81 Register the LoggingSystem in the ApplicationContext
Closes gh-4159
2015-10-26 15:01:54 +01:00
Andy Wilkinson 05a2b53527 Add information about /liquibase and /flyway to Actuator's docs
Closes gh-3438
2015-10-26 11:38:18 +00:00
Andy Wilkinson 0061e84a59 Document DevTools' requirement for shutdown hook to be registered
Closes gh-4153
2015-10-26 11:04:54 +00:00
Vedran Pavic 59d2ae598b Update documentation to clarify systemd service user
Closes gh-4293
2015-10-26 10:57:45 +00:00
Andy Wilkinson aa3313cfc5 Update NamePatternFilter to detect regular expression character class
Previously, NamePatternFilter looked for “*”, “$”, “^”, or “+” when
trying to identify a string as being a regular expression. This meant
that it missed the use of a character class ([a-z], for example). This
commit adds “[“} to the list of characters that are considered to be
part of a regular expression.

Closes gh-4233
2015-10-26 10:56:16 +00:00
Andy Wilkinson 89df4946f7 Use a context-relative URL for Dev Tools sample’s CSS 2015-10-26 10:09:50 +00:00
Stephane Nicoll 651ab38f18 Add Maven wrapper
Closes gh-4193
2015-10-26 11:00:13 +01:00
Andy Wilkinson 409a485c91 Use the correct version of Spring Security snapshots
See gh-4263
2015-10-26 09:34:11 +00:00