1. 11 2月, 2015 1 次提交
  2. 10 2月, 2015 1 次提交
    • R
      Add fromHttpRequest to UriComponentsBuilder · 4a423e50
      Rossen Stoyanchev 提交于
      Before this change, detection of X-Forwarded-* headers was only built
      into ServletUriComponentsBuilder.
      
      This change adds a new method for creating a UriComponentsBuilder from
      an existing HttpRequest. This is equivalent to the fromUri method +
      X-Forwarded-* header values.
      4a423e50
  3. 09 2月, 2015 10 次提交
    • B
      Revisit empty body response support in HTTP client · 0225a777
      Brian Clozel 提交于
      Prior to this commit, HTTP responses without body (response status 204
      or 304, Content-Length: 0) were handled properly by RestTemplates. But
      some other cases were not properly managed, throwing exceptions for
      valid HTTP responses.
      
      This commit better handles HTTP responses, using a response wrapper that
      can tell if a response:
      
      * has no message body (HTTP status 1XX, 204, 304 or Content-Length:0)
      * has an empty message body
      
      This covers rfc7230 Section 3.3.3.
      
      Issue: SPR-8016
      0225a777
    • B
      Sort handler matches in ResourceUrlProvider · d57f7f87
      Brian Clozel 提交于
      Prior to this change, the `ResourceUrlProvider.getForLookupPath` method
      would try to match handlers using the keySet order in the
      handlerMappings Map. In case of several matches, the handler used for
      the return value could vary, since the registration order in the
      handlerMappings can't be guaranteed in the configuration.
      
      This commit now collects all matching handlers and sort them using a
      `PatternComparator`, in order to try each handler from the most specific
      mapping to the least.
      
      Issue: SPR-12647
      d57f7f87
    • B
      Avoid loss of body content in AbstractRequestLoggingFilter · 4550b4a2
      Brian Clozel 提交于
      Prior to this commit, the `ContentCachingRequestWrapper` class would
      cache the response content only if the reponse would be consumed using
      its InputStream. In case of a Form request, Spring MVC consumes the
      response using the `getParameter*` Servlet API methods. This causes the
      cached content to never be written.
      
      This commit makes the `ContentCachingResponseWrapper` write the request
      body to the cache buffer by using the `getParameter*` API, thus avoiding
      those issues.
      
      Issue: SPR-7913
      4550b4a2
    • B
      Initialize ResourceUrlProvider only once · f902fb91
      Brian Clozel 提交于
      Prior to this change, the ResourceUrlProvider would listen to
      ContextRefreshedEvents and autodetect resource handlers each time. This
      can cause issues when multiple contexts are involved and the last one
      has no resource handler, thus clearing the previously detected ones.
      
      This commit disables resource handlers auto-detection once some have
      been detected with a refreshed context.
      
      Issue: SPR-12592
      f902fb91
    • B
      Allow relative paths within resource location path · 77c8aa53
      Brian Clozel 提交于
      Prior to this change, location paths used for resource handling would
      not allow "non-cleaned, relative paths" such as
      `file://home/user/static/../static/`. When checking if the resolved
      resource's path starts with the location path, a mismatch would happen
      when comparing for example:
      
      * the location `file://home/user/static/../static/`
      * and the resource `file://home/user/static/resource.txt`
      
      This commit cleans the location path before comparing it to the resource
      path.
      
      Issue: SPR-12624
      77c8aa53
    • B
      Allow protocol relative URLs in CssLink Transformer · bb5da15e
      Brian Clozel 提交于
      This commit allows the use of "protcol relative URLs" (i.e. URLs without
      scheme, starting with `//`), often used to serve resources automatically
      from https or http with third party domains.
      
      This syntax is allowed by RFC 3986.
      
      Issue: SPR-12632
      bb5da15e
    • B
      Fix context-relative default value in XML parsing · 0c8d07fc
      Brian Clozel 提交于
      This commit fixes the default value for the contextRelative attribute of
      a RedirectView, when this view is registered via a
      RedirectViewController in XML. The value is set to true.
      
      Note that the default value for this is correctly documented in
      spring-mvc-4.1.xsd. Also, the documentation and implementation for its
      javadoc counterpart also enforces true as a default value.
      
      Issue: SPR-12607
      0c8d07fc
    • S
      Clarify the use of @Cacheable in PostConstruct code · 47fdac92
      Stephane Nicoll 提交于
      Update documentation to explicitly mention that the cache interceptor
      must be fully initialized to provide the expected behavior and therefore
      initialization code should not rely on this feature, i;e. typically in
      PostConstruct callback.
      
      Since the Transactional infrastructure has the exact same infrastructure,
      update that section of the doc as well.
      
      Issue: SPR-12700
      47fdac92
    • S
      Fix broken build · 7ffa845a
      Stephane Nicoll 提交于
      Add required  `@Deprecated` annotation.
      7ffa845a
    • S
      Allow MBeans to be excluded additively · 09bd7037
      Stephane Nicoll 提交于
      Previously, one could only set the list of bean names to exclude from
      auto-detection and there was no way to add additional bean names.
      
      MBeanExporter now exposes a addExcludedBean method that can be invoked
      during the initialization phase to add bean names to ignore.
      
      Issue: SPR-12686
      09bd7037
  4. 03 2月, 2015 3 次提交
  5. 02 2月, 2015 1 次提交
    • S
      Allow subclasses to configure the Yaml instance · 6fce6d46
      Stephane Nicoll 提交于
      Provide an additional hook-point for YamlProcessor subclasses willing to
      change how the Yaml instance is configured. Also expose the default
      StrictMapAppenderConstructor so that  they can compose a custom instance
      with it.
      
      Issue: SPR-12671
      6fce6d46
  6. 24 1月, 2015 1 次提交
    • S
      Support @Configuration as meta-annotation in the TCF · 0c856b3d
      Sam Brannen 提交于
      Spring Framework 4.0 introduced support for using test-related
      annotations as meta-annotations in the Spring TestContext Framework
      (TCF) in order to create custom composed annotations within a test
      suite; however, the detection of default @Configuration classes in test
      classes was not updated to search for @Configuration declared as a
      meta-annotation. Specifically, AnnotationConfigContextLoaderUtils
      invokes Class.isAnnotated() which only searches for annotations
      declared directly on the class in question.
      
      This commit addresses this issue by refactoring the
      isDefaultConfigurationClassCandidate() method in
      AnnotationConfigContextLoaderUtils so that it uses
      AnnotationUtils.findAnnotation() instead of Class.isAnnotated() for
      detecting the presence of the @Configuration annotation, either
      directly or as a meta-annotation.
      
      Issue: SPR-12659
      (cherry picked from commit 2d918380)
      0c856b3d
  7. 23 1月, 2015 6 次提交
  8. 21 1月, 2015 8 次提交
  9. 11 1月, 2015 2 次提交
    • S
      Enable reuse of DefaultActiveProfilesResolver · a76a6509
      Sam Brannen 提交于
      In order to allow DefaultActiveProfilesResolver to be reused (e.g., via
      extension or delegation), the check which asserts that the 'resolver'
      attribute of @ActiveProfiles is not set to a customer resolver class
      has been removed.
      
      Issue: SPR-12611
      (cherry picked from commit 276712dc)
      a76a6509
    • S
      Handle exceptions properly in SpringJUnit4ClassRunner · 7d171e67
      Sam Brannen 提交于
      JUnit 4.9 introduced a regression in BlockJUnit4ClassRunner.runChild()
      such that exceptions thrown from methodBlock() cause the current test
      execution to abort immediately. As a result, the failing test method is
      unrooted, and subsequent test methods are never invoked. Furthermore,
      RunListeners registered with JUnit are not properly notified.
      
      In conjunction with SPR-11908, SpringJUnit4ClassRunner was updated to
      use the aforementioned changes to BlockJUnit4ClassRunner.runChild().
      Consequently, SpringJUnit4ClassRunner now suffers from the same
      regression.
      
      This commit addresses this issue by ensuring that any exceptions thrown
      during the invocation of methodBlock() are properly wrapped in a JUnit
      Fail Statement.
      
      Issue: SPR-12613
      (cherry picked from commit b81c522e)
      7d171e67
  10. 02 1月, 2015 2 次提交
  11. 31 12月, 2014 2 次提交
  12. 30 12月, 2014 3 次提交