1. 20 6月, 2012 5 次提交
    • S
      Document SPR-9493 in the changelog · 5eae22ab
      Sam Brannen 提交于
      Issue: SPR-9493
      5eae22ab
    • S
      Fix Javadoc typo in ConfigurableWebEnvironment · e3d8ab20
      Sam Brannen 提交于
      e3d8ab20
    • C
      Fix line endings in new JacksonObjectMapper classes · 08498d57
      Chris Beams 提交于
      Commit aa415d7c introduced
      JacksonObjectMapperFactoryBean and associated tests, but with Windows
      (CRLF) line endings instead of the conventional Unix (LF) line endings.
      
      This commit converts these files to LF endings using the handy
      `dos2unix` utility.
      
      Issue: SPR-9125
      08498d57
    • S
      Merge pull request #97 from sbrannen/SPR-9493 · 64d66059
      Sam Brannen 提交于
      * SPR-9493:
        Infer return type of parametrized factory methods
      64d66059
    • S
      Infer return type of parametrized factory methods · c461455c
      Sam Brannen 提交于
      Currently, if a factory method is parameterized and the corresponding
      variable types are declared on the method itself instead of on the
      enclosing class or interface, Spring always predicts the return type to
      be Object, even if the return type can be explicitly inferred from the
      method signature and supplied arguments (which are available in the bean
      definition).
      
      This commit introduces a new resolveParameterizedReturnType() method in
      GenericTypeResolver that attempts to infer the concrete type for the
      generic return type of a given parameterized method, falling back to the
      standard return type if necessary. Furthermore,
      AbstractAutowireCapableBeanFactory now delegates to
      resolveParameterizedReturnType() when predicting the return type for
      factory methods.
      
      resolveParameterizedReturnType() is capable of inferring the concrete
      type for return type T for method signatures similar to the following.
      Such methods may potentially be static. Also, the formal argument list
      for such methods is not limited to a single argument.
      
       - public <T> T foo(Class<T> clazz)
       - public <T> T foo(Object obj, Class<T> clazz)
       - public <V, T> T foo(V obj, Class<T> clazz)
       - public <T> T foo(T obj)
      
      Issue: SPR-9493
      c461455c
  2. 19 6月, 2012 6 次提交
    • C
      Reformat and add links to README · 9fc05a80
      Chris Beams 提交于
      The readme is heavy on links and hard to read in source form when using
      typical inline Markdown links. The following changes have been made to
      increase readability.
      
       - Wrap lines at 80 characters
       - Use 'implicit link name' shortcut syntax as described at [1]
       - Add link to 'spring-mvc' Stack Overflow tag as well
       - Add link to new 'lifecycle of an issue' wiki doc
      
      [1]: http://daringfireball.net/projects/markdown/syntax
      9fc05a80
    • C
      Add Gradle task for building zip with dependencies · e5bbec7e
      Chris Beams 提交于
      Some Spring Framework users and teams cannot use transitive dependency
      management tools like Maven, Gradle and Ivy. For them, a `distZip` task
      has been added to allow for creating a Spring Framework distribution
      from source that includes all optional and required runtime
      dependencies for all modules of the framework.
      
      This 'dist-with-deps' zip is not published to the SpringSource
      repository nor to the SpringSource community download page. It is
      strictly an optional task introduced as a convenience to the users
      mentioned above.
      
      Detailed instructions for building this zip locally have been added to
      the wiki and the README has been updated with a link to that new doc.
      
      Issue: SPR-6575
      e5bbec7e
    • S
      Fix outdated Javadoc in the TestContext framework · 726655af
      Sam Brannen 提交于
      Fixed outdated Javadoc regarding support for 'annotated classes' in
      the TestContext Framework.
      726655af
    • C
      Fix typo in MessageSource reference docs · de04d9c6
      Chris Beams 提交于
      Issue: SPR-5022
      de04d9c6
    • R
      Merge pull reqest #88 from dmak/SPR-9125 · 7dcca4bc
      Rossen Stoyanchev 提交于
      * SPR-9125:
        BeanFactory for configuring a Jackson ObjectMapper
      7dcca4bc
    • D
      BeanFactory for configuring a Jackson ObjectMapper · aa415d7c
      Dmitry Katsubo 提交于
      The BeanFactory makes it easier to configure a customized Jackson
      ObjectMapper (for example enable/disable certain features).
      This bean factory is usually used with
      MappingJacksonHttpMessageConverter or MappingJacksonJsonView.
      See JavaDoc for examples.
      
      Issue: SPR-9125
      aa415d7c
  3. 18 6月, 2012 3 次提交
  4. 15 6月, 2012 2 次提交
  5. 14 6月, 2012 2 次提交
  6. 13 6月, 2012 2 次提交
    • R
      Raise RestClientException for unknown status codes · ab4952a9
      Rossen Stoyanchev 提交于
      HttpStatus cannot be created with an unknown status code. If a server
      returns a status code that's not in the HttpStatus enum values, an
      IllegalArgumentException is raised. Rather than allowing it to
      propagate as such, this change ensures the actual exception raised is
      a RestClientException.
      
      Issue: SPR-9406
      ab4952a9
    • C
      Require aopalliance dependency for spring-aop · 0e3a1d81
      Chris Beams 提交于
      A recent commit made aopalliance optional for spring-aop, while
      continuing to require it for spring-tx. On review, this is probably
      overly aggressive, and for convenience aopalliance should remain
      required for spring-aop. There are use cases for which aopalliance is
      indeed optional, but core functionality such as <aop:scoped-proxy>
      should never result in a ClassNotFoundException.
      
      This commit returns the aopalliance dependency for spring-aop to
      required status, and also explicitly notes the same dependency in other
      modules that compile directly against aopalliance types.
      
      Issue: SPR-9501
      0e3a1d81
  7. 12 6月, 2012 1 次提交
  8. 10 6月, 2012 2 次提交
    • S
      spring-test module now depends on junit:junit-dep · 369d77bd
      Sam Brannen 提交于
      The junit:junit Maven artifact includes a bundled version of hamcrest
      core. For projects that depend on later versions of hamcrest this causes
      significant issues in terms of dependency management.
      
      The spring-test module now depends on junit:junit-dep, thus allowing
      developers to better manage their test dependencies on a more fine
      grained level.
      
      Also tidied up dependency issues regarding hamcrest-core and
      hamcrest-all across the build.
      
      Issue: SPR-6966
      369d77bd
    • S
      Reproduce claims raised in SPR-8849 · 04a68272
      Sam Brannen 提交于
      This commit introduces a test suite (Spr8849Tests) that demonstrates
      the claims made in SPR-8849.
      
      Specifically, if <jdbc:embedded-database id="xyz" /> is used to create
      an embedded HSQL database in an XML configuration file and that
      configuration file is imported in different sets of configuration files
      that are used to load ApplicationContexts for different integration
      tests, the embedded database will be initialized multiple times using
      any nested <jdbc:script /> elements. If such a script is used to create
      a table, for example, subsequent attempts to initialize the database
      named "xyz" will fail since an embedded database named "xyz" already
      exists in the JVM.
      
      As a work-around, this test suite uses a SpEL expression to generate a
      random string for each embedded database instance:
      
        id="#{T(java.util.UUID).randomUUID().toString()}"
      
      See the Javadoc in Spr8849Tests for further information.
      
      Issue: SPR-8849
      04a68272
  9. 04 6月, 2012 2 次提交
    • C
      Merge pull request #87 from olivergierke/SPR-9457 · 67d5a123
      Chris Beams 提交于
      * SPR-9457:
        Use transactional connection during db population
      67d5a123
    • O
      Use transactional connection during db population · 49c9a2a9
      Oliver Gierke 提交于
      Previously, DatabasePopulatorUtils#execute looked up a Connection from
      the given DataSource directly which resulted in the executed statements
      not being executed against a transactional connection (if any) which in
      turn resulted in the statements executed by the populator potentially
      not being rolled back.
      
      Now DataSourceUtils#getConnection is used to transparently take part in
      any active transaction and #releaseConnection is used to ensure the
      connection is closed if appropriate.
      
      Issue: SPR-9457
      49c9a2a9
  10. 01 6月, 2012 5 次提交
    • C
      Merge pull request #86 from scothis/SPR-7938 · c471bdde
      Chris Beams 提交于
      * SPR-7938:
        Include response headers in RestTemplate exceptions
        Polish web.client exceptions and related classes
      c471bdde
    • S
      Include response headers in RestTemplate exceptions · b992c3d3
      Scott Andrews 提交于
      Default HTTP error exceptions thrown from RestTemplate now include
      response headers in addition to the response body. In particular, this
      enables inspection of the Content-Type header allowing manual
      deserialization of the response body without guessing as to the content
      type.
      
       - introduce HttpStatusCodeException#getResponseHeaders
       - add constructor with headers param for HttpStatusCodeException,
         HttpClientErrorException and HttpServerErrorException
       - preserve exsisting constructor signatures
       - mark HttpHeaders as Serializable
       - generate new serialVersionUID where needed
      
      Issue: SPR-7938
      b992c3d3
    • C
      Polish web.client exceptions and related classes · bca2357b
      Chris Beams 提交于
      The following style updates have been made in anticipation of
      substantive changes in subsequent commits:
      
       - organize imports
       - correct whitespace errors (leading spaces in code, tabs in Javadoc)
       - wrap Javadoc at 90 chars; make imperative ("Return" vs. "Returns")
       - use conventional constructor argument wrapping
      
      A serialVersionUID has also been added to RestClientException and its
      ResourceAccessException subclass for consistency with the rest of that
      same exception hierarchy.
      
      Issue: SPR-7938
      bca2357b
    • C
      Update dependencies for spring-aspects · b8ff6c1f
      Chris Beams 提交于
       - Explicitly specify compile-time dependencies on other spring-*
         modules, primarily for accuracy in pom generation and ensuring
         minimal dependencies for users of spring-aspects.
      
       - Remove use of p: namespace from annotation-cache-aspectj.xml to
         avoid parser-related test failures under Eclipse (likely due to
         classpath differences between Gradle and Eclipse).
      b8ff6c1f
    • C
      Fix missing spring-instrument jar manifest entry · 706da4f7
      Chris Beams 提交于
      The spring-intstrument jar should have a 'Premain-Class:' manifest
      entry in order to enable use as a Java agent. This entry was present in
      versions 3.1.1 and earlier, but due to build infrastructure changes
      starting in 3.2.x this entry was missed. It is now back in place as
      expected.
      
      Issue: SPR-9458
      706da4f7
  11. 29 5月, 2012 2 次提交
  12. 28 5月, 2012 8 次提交
    • C
      Test pom generation and update optional deps · da2aa3d3
      Chris Beams 提交于
      Gradle-generated poms thoroughly tested against 3.1.1 versions, with an
      eye toward making as many spring-* dependencies optional as possible.
      
      All spring-* modules now declare a Gradle dependency on any other
      spring-* module where there is a direct compile-time usage of the
      sources in that module. Previously, dependency declarations were
      minimal, letting transitive resolution do most of the work. However,
      this creates less than ideal poms and is generally not very
      informative.
      
      So for example, spring-jdbc uses spring-core, spring-beans and
      spring-tx classes directly. Therefore it has the following declarations:
      
        compile project(":spring-core")
        compile project(":spring-beans")
        compile project(":spring-tx")
      
      spring-core depends on spring-asm, but spring-jdbc does not use
      spring-asm classes directly. Therefore spring-jdbc does not declare a
      dependency on spring-asm. Transitive resolution is fine in such a case.
      
      As for optional dependencies, it is a matter of degrees what
      constitutes optional. A rule of thumb is whether there are legitimate
      and likely use cases in which the module can be used without needing
      the dependency. spring-jdbc has only one compile-time dependency on
      spring-context classes, and that's in JndiDataSourceLookup. It is
      certainly reasonable to imagine using spring-jdbc without JNDI,
      therefore the spring-context dependency is declared optional as
      follows:
      
        compile(project(":spring-context"), optional) // for JndiDataSourceLookup
      da2aa3d3
    • C
      Rename test versions of @Qualified and @Autowired · b5b46156
      Chris Beams 提交于
      Avoid Eclipse classpath conflicts between test versions of @Qualified
      and @Autowired living in spring-core and actual versions living in
      spring-beans.
      b5b46156
    • C
      Update 3.2 M1 changelog · f582974b
      Chris Beams 提交于
      f582974b
    • S
      Improve dependency management for spring-test · 155b88ff
      Sam Brannen 提交于
      In Spring 3.1 the spring-test Maven artifact did not have a required
      dependency on spring-core, but there is practically no part of
      spring-test that can be used without spring-core. Most test utilities
      that are intended to be stand-alone utilities in fact use utility
      classes from spring-core (e.g., ReflectionTestUtils). Even some of the
      web mocks/stubs use spring-core (e.g., DelegatingServletInputStream).
      
      In addition, the current Gradle build configuration for the spring-test
      module is very simplistic -- in that it does not explicitly list any
      optional dependencies such as the Servlet and Portlet APIs -- and it
      defines a 'compile' dependency on spring-webmvc-portlet.
      
      The resulting Maven dependencies in the generated POM are therefore not
      what a typical consumer of the spring-test artifact would reasonably
      expect.
      
      To address these issues, the Gradle build configuration for the
      spring-test module now explicitly defines the following 'compile'
      dependencies:
      
       - spring-core
       - spring-webmvc, optional
       - spring-webmvc-portlet, optional
       - junit, optional
       - testng, optional
       - servlet-api, optional
       - jsp-api, optional
       - portlet-api, optional
       - activation, provided
      
      The only required dependency is now spring-core; all other dependencies
      are 'optional'.
      
      Issue: SPR-8861
      155b88ff
    • J
      Fix window state comparison in DAHandlerMapping · 9b10d38e
      Juergen Hoeller 提交于
      9b10d38e
    • J
      Apply cache settings consistently in EhCacheFactoryBean · 08784f3b
      Juergen Hoeller 提交于
      EhCacheFactoryBean now applies listeners and enabled/disabled flags to
      existing cache regions as well.
      
      Issue: SPR-9392
      08784f3b
    • J
      Add initial support for JCache-compliant providers · 83fa8e12
      Juergen Hoeller 提交于
      Issue: SPR-8774
      83fa8e12
    • S
      Polish CacheOperationSource · 86fabb26
      Sam Brannen 提交于
      86fabb26