Commit Graph

388 Commits

Author SHA1 Message Date
Arjen Poutsma fbede64c86 SPR-7845 - FormHttpMessageConverter.read() always ignores post data when processing request (from Tomcat) 2011-01-03 14:48:34 +00:00
Arjen Poutsma e98afc087f SPR-7845 - FormHttpMessageConverter.read() always ignores post data when processing request (from Tomcat) 2011-01-03 14:38:28 +00:00
Chris Beams 5e6912302a Introduce "Aware" superinterface
All existing *Aware interfaces have been refactored to extend this
new marker interface, serving two purposes:

    * Easy access to a type hierarchy that can answer the question
      "What *Aware interfaces are available?", without requiring
      text-based searches. Also clearly excludes false positives like
      TargetClassAware and ParamAware, which while similarly named,
      are not semantically similar to traditional *Aware interfaces
      in Spring.

    * Minor potential performance improvements in
      AbstractAutowireCapableBeanFactory and
      ApplicationContextAwareProcessor. Both have blocks of sequential
      instanceof checks in order to invoke any *Aware interface callback
      methods. For a bean that implements none of these interfaces,
      the whole sequence can be avoided by guarding first with
          if (bean instanceof Aware) {
              ...
          }

Implementors of custom *Aware-style interfaces (and presumably
the BeanPostProcessors that handle them), are encouraged to refactor to
extending this interface for consistency with the framework as well as
the points above.
2011-01-03 10:13:57 +00:00
Chris Beams b3ff9be78f M1 cut of environment, profiles and property work (SPR-7508)
Decomposed Environment interface into PropertySources, PropertyResolver
objects

    Environment interface and implementations are still present, but
    simpler.

    PropertySources container aggregates PropertySource objects;
    PropertyResolver provides search, conversion, placeholder
    replacement. Single implementation for now is
    PropertySourcesPlaceholderResolver

Renamed EnvironmentAwarePropertyPlaceholderConfigurer to
PropertySourcesPlaceholderConfigurer

    <context:property-placeholder/> now registers PSPC by default, else
    PPC if systemPropertiesMode* settings are involved

Refined configuration and behavior of default profiles

    See Environment interface Javadoc for details

Added Portlet implementations of relevant interfaces:

    * DefaultPortletEnvironment
    * PortletConfigPropertySource, PortletContextPropertySource
    * Integrated each appropriately throughout Portlet app contexts

Added protected 'createEnvironment()' method to AbstractApplicationContext

    Subclasses can override at will to supply a custom Environment
    implementation.  In practice throughout the framework, this is how
    Web- and Portlet-related ApplicationContexts override use of the
    DefaultEnvironment and swap in DefaultWebEnvironment or
    DefaultPortletEnvironment as appropriate.

Introduced "stub-and-replace" behavior for Servlet- and Portlet-based
PropertySource implementations

    Allows for early registration and ordering of the stub, then
    replacement with actual backing object at refresh() time.

    Added AbstractApplicationContext.initPropertySources() method to
    support stub-and-replace behavior. Called from within existing
    prepareRefresh() method so as to avoid impact with
    ApplicationContext implementations that copy and modify AAC's
    refresh() method (e.g.: Spring DM).

    Added methods to WebApplicationContextUtils and
    PortletApplicationContextUtils to support stub-and-replace behavior

Added comprehensive Javadoc for all new or modified types and members

Added XSD documentation for all new or modified elements and attributes

    Including nested <beans>, <beans profile="..."/>, and changes for
    certain attributes type from xsd:IDREF to xsd:string

Improved fix for detecting non-file based Resources in
PropertiesLoaderSupport (SPR-7547, SPR-7552)

    Technically unrelated to environment work, but grouped in with
    this changeset for convenience.

Deprecated (removed) context:property-placeholder
'system-properties-mode' attribute from spring-context-3.1.xsd

    Functionality is preserved for those using schemas up to and including
    spring-context-3.0.  For 3.1, system-properties-mode is no longer
    supported as it conflicts with the idea of managing a set of property
    sources within the context's Environment object. See Javadoc in
    PropertyPlaceholderConfigurer, AbstractPropertyPlaceholderConfigurer
    and PropertySourcesPlaceholderConfigurer for details.

Introduced CollectionUtils.toArray(Enumeration<E>, A[])

Work items remaining for 3.1 M2:

    Consider repackaging PropertySource* types; eliminate internal use
    of SystemPropertyUtils and deprecate

    Further work on composition of Environment interface; consider
    repurposing existing PlaceholderResolver interface to obviate need
    for resolve[Required]Placeholder() methods currently in Environment.

    Ensure configurability of placeholder prefix, suffix, and value
    separator when working against an AbstractPropertyResolver

    Add JNDI-based Environment / PropertySource implementatinos

    Consider support for @Profile at the @Bean level

    Provide consistent logging for the entire property resolution
    lifecycle; consider issuing all such messages against a dedicated
    logger with a single category.

    Add reference documentation to cover the featureset.
2011-01-03 09:04:34 +00:00
Sam Brannen b130a36af7 [SPR-7850][SPR-7851] Upgraded to JUnit 4.8.1 and TestNG 5.12.1; added changelog entries for 3.1.0.M1. 2010-12-30 08:00:58 +00:00
Chris Beams 9f5fd3afcf Normalize indentation of Apache license URL
In accordance with recommendations at
http://www.apache.org/licenses/LICENSE-2.0.html.

A number of classes had strayed from this format, now all
are the same.
2010-12-22 21:40:19 +00:00
Arjen Poutsma 64c7549c70 Removed JDK 1.6 usage 2010-12-22 10:23:34 +00:00
Arjen Poutsma 9f4499cb36 SPR-7789 - FormHttpMessageConverter does not honor the charset in the content type when writing a form and uses a wrong default charset 2010-12-20 16:56:14 +00:00
Arjen Poutsma d0394599ad SPR-7789 - FormHttpMessageConverter does not honor the charset in the content type when writing a form and uses a wrong default charset 2010-12-20 16:50:44 +00:00
Arjen Poutsma db3634f859 SPR-7706 - 304 responses should not have non-0 Content-Length 2010-12-20 16:32:58 +00:00
David Syer b73224427f Add missing ROME dep 2010-11-15 16:49:17 +00:00
Arjen Poutsma 01120eb2f0 Using random port for HTTP integration tests 2010-11-09 10:40:51 +00:00
Arjen Poutsma 416777022d SPR-6614 - Add human-readable descriptions for statuc codes in HttpStatus 2010-10-29 10:56:43 +00:00
Arjen Poutsma 7cc3f49910 SPR-7695 - Add ETag version of WebRequest.checkNotModified() 2010-10-29 10:28:47 +00:00
Chris Beams f480333d31 Merge 3.1.0 development branch into trunk
Branch in question is 'env' branch from git://git.springsource.org/sandbox/cbeams.git; merged into
git-svn repository with:

    git merge -s recursive -Xtheirs --no-commit env

No merge conflicts, but did need to

    git rm spring-build

prior to committing.

With this change, Spring 3.1.0 development is now happening on SVN
trunk. Further commits to the 3.0.x line will happen in an as-yet
uncreated SVN branch.  3.1.0 snapshots will be available
per the usual nightly CI build from trunk.
2010-10-25 19:48:20 +00:00
Arjen Poutsma a37a9e8a38 SPR-7667 2010-10-20 13:59:37 +00:00
Arjen Poutsma c5c1d70aa3 SPR-6291 - UrlPathHelper is too aggressive decoding URLs 2010-10-12 12:09:43 +00:00
Juergen Hoeller 3740380a7a polishing 2010-10-11 20:03:40 +00:00
Juergen Hoeller cb434793d5 avoid double flushing of ObjectOutputStream when close is being called right afterwards anyway 2010-10-11 20:00:45 +00:00
Juergen Hoeller ae3cfff380 fixed JodaTimeContextHolder to use a non-inheritable ThreadLocal and expose a reset method (SPR-7441); use of remove() even when being called with a null argument 2010-10-11 18:55:21 +00:00
Juergen Hoeller 6b3c299a50 consistent handling of handler methods, init binder methods and model attribute methods (SPR-7355) 2010-10-10 21:01:04 +00:00
Arjen Poutsma 21cca695e5 Polishing 2010-10-06 12:05:11 +00:00
Arjen Poutsma 70cb81b4b5 SPR-7591 - HttpStatusCodeException should contain response body 2010-09-24 10:06:52 +00:00
Juergen Hoeller a3f155220b UriTemplate is serializable now (SPR-7541) 2010-09-14 05:37:30 +00:00
Juergen Hoeller 284f98f12a fixed @MVC processing of parameter-level annotations to work with interface-based proxies again (SPR-7483) 2010-09-08 14:45:00 +00:00
Juergen Hoeller a251d6a6cc revised @RequestParam processing to support CSV-to-array/collection binding with ConversionService (SPR-7479) 2010-09-08 12:39:57 +00:00
Arjen Poutsma b67da6c3f8 Granting Keith's wish 2010-09-03 08:50:45 +00:00
Juergen Hoeller e56cfb8173 consistent use of JDK 1.5's ThreadLocal.remove() over ThreadLocal.set(null), preventing leaks (SPR-7441) 2010-09-01 17:17:25 +00:00
Juergen Hoeller 66a5bb7c22 JaxWsPortClientInterceptor does not fall back to annotation-specified name as portName anymore (SPR-7505) 2010-09-01 14:02:32 +00:00
Ben Hale 7730e76c06 Publishing license and notice files 2010-08-23 13:17:31 +00:00
Arjen Poutsma dbfa049e1e Prepping for 3.0.5 2010-08-19 11:04:04 +00:00
Juergen Hoeller e4792aaf33 polishing 2010-08-16 21:24:21 +00:00
Juergen Hoeller 9b3fbc2333 WebDataBinder and @MVC request param binding detect and introspect MultipartFile arrays as well (SPR-2784) 2010-08-15 23:20:55 +00:00
Juergen Hoeller d1afb29074 Servlet/PortletContextResource inherit isReadable, contentLength and lastModified from AbstractFileResolvingResource 2010-08-15 22:57:37 +00:00
Juergen Hoeller b2b1ff60dd CommonsMultipartResolver cleans up all multipart files in case of multiple files for same name as well (SPR-2784) 2010-08-15 22:52:54 +00:00
Juergen Hoeller 255d1ad434 WebDataBinder and @MVC request param binding detect and introspect MultipartFile arrays as well (SPR-2784) 2010-08-15 22:51:02 +00:00
Juergen Hoeller 5b0448c609 MockMultipartHttpServletRequest pre-defines method "POST" and content type "multipart/form-data" 2010-08-15 22:46:15 +00:00
Juergen Hoeller 1841b14b21 consistent mocks between modules 2010-08-15 22:02:40 +00:00
Juergen Hoeller 19fcbeafb4 renamed UriUtilsTest to UriUtilsTests 2010-08-15 22:01:33 +00:00
Juergen Hoeller ace7b072f1 fixed accidental change to byte array loop 2010-08-15 21:43:24 +00:00
Juergen Hoeller fd159246ed polishing 2010-08-15 21:26:43 +00:00
Juergen Hoeller 2516bc0faf polishing 2010-08-15 21:24:35 +00:00
Juergen Hoeller 35971f9f90 revised handler method resolution, in particular with respect to generic interfaces (SPR-7355) 2010-08-15 21:12:54 +00:00
Juergen Hoeller f6c07b371f revised DispatcherServlet's last-modified handling to properly work with scoped controllers; added HEAD support to ResourceHttpRequestHandler 2010-08-12 22:54:24 +00:00
Juergen Hoeller 29b12adbaa revised web scoping tests 2010-08-12 22:49:26 +00:00
Arjen Poutsma ac1d2d93d6 SPR-7439 - JSON (jackson) @RequestBody marshalling throws awkward exception 2010-08-11 08:16:12 +00:00
Juergen Hoeller af0fac9099 JaxWsPortProxyFactoryBean takes "wsdlDocumentUrl", "namespaceUri" etc defaults from @WebService (SPR-7412) 2010-08-02 21:44:14 +00:00
Arjen Poutsma 60fa490b50 Typo 2010-07-22 09:31:01 +00:00
Arjen Poutsma f8425a5f7b SPR-7346 - @RequestHeader negation expressions (e.g. !Accept=text/plain) are not applied 2010-07-15 08:49:18 +00:00
Arjen Poutsma 8d5662ec7a typo 2010-06-24 11:52:44 +00:00