Commit Graph

3821 Commits

Author SHA1 Message Date
Keith Donald c6c782df59 forNestedType usage clarification 2011-01-06 18:33:50 +00:00
Sam Brannen c309ef74d7 Updates to readme and changelog files regarding 3.1.0.M1 2011-01-06 12:05:48 +00:00
Keith Donald 7ec5f1694b temp added ignore on 2 new failing tests until time to investigate 2011-01-06 12:00:51 +00:00
Keith Donald 86f1179606 temp added ignore on 2 new failing tests until time to investigate 2011-01-06 11:41:30 +00:00
Chris Beams 15ac99f59c Introduce and integrate JndiPropertySource
DefaultWebEnvironment automatically adds a JndiPropertySource if
a "jndiPropertySourceEnabled" property is detected in any of the
other other default property sources.
2011-01-06 07:43:29 +00:00
Chris Beams a7704c8cce Polish Javadoc for PropertySource implementations 2011-01-06 07:43:03 +00:00
Keith Donald 01c98c3bfb added initial support for handling unknown nested type values when converting collections; now favor factory method for constructing nested type descriptors for clarity (made constructor private); improved javadoc 2011-01-06 05:14:49 +00:00
Chris Beams 9420bdc246 Document createEnvironment() methods
in AbstractApplicationContext and SpringContextResourceAdapter
2011-01-05 22:25:42 +00:00
Chris Beams bc41cb2f27 Polish (Mutable)PropertySources
* PropertySources is now an Iterable<PropertySource> in favor of
  exposing an asList() method
* Otherwise reduced the set of methods exposed by PropertySources to the
  absolute minimum
* Added Javadoc for both types and all methods
2011-01-05 22:25:24 +00:00
Chris Beams 7f8ede1407 Remove dead code
* removed registerStandardBeanFactoryPostProcessors() methods
* removed commented-out test from PropertyResourceConfigurerTests
2011-01-05 22:24:55 +00:00
Chris Beams 431eaf6df8 Refactor PropertyPlaceholderConfigurer hierarchy
PropertySourcesPlaceholderConfigurer accommodates recent changes in
Environment and PropertySource APIs, e.g. no longer assuming enumerability
of property names.

PSPC reuses as much functionality as possible from
AbstractPropertyPlaceholderConfigurer, but overrides
postProcessBeanFactory() and defines its own variation on
processProperties() in order to accept a PropertyResolver rather than
a PropertySource.

AbstractPropertyPlaceholderConfigurer introduces doProcessProperties()
method to encapsulate that which is actually common, such as the
visiting of each bean definition once a StringValueResolver has been
created in the subclass.
2011-01-05 22:24:37 +00:00
Chris Beams 2b99cf6d29 Refactor Environment and PropertySource
* Environment now extends PropertyResolver
* Environment no longer exposes resolver and sources
* PropertySource is String,Object instead of String,String
* PropertySource no longer assumes enumerability of property names
* Introduced EnumerablePropertySource for those that do have enumerable property names
2011-01-05 22:24:14 +00:00
Chris Beams 7c4582b4b3 Update build instructions in readme 2011-01-05 22:22:58 +00:00
Juergen Hoeller e971ad56b6 reduced BeanDefinition footprint by initializing Sets and Maps with 0 (SPR-7491) 2011-01-05 19:59:00 +00:00
Juergen Hoeller 125b843cf7 revised javadoc on "exactDateLength" (SPR-7759) 2011-01-05 19:55:24 +00:00
Juergen Hoeller efe1e64b08 fixed aspects bundle to declare dependencies for @Async aspect as well (SPR-7702) 2011-01-05 19:50:23 +00:00
Juergen Hoeller 3fe2d037ed fixed AbstractBindingResult to avoid NPE in "hashCode()" if target is null (SPR-7682) 2011-01-05 19:42:35 +00:00
Juergen Hoeller a780a4a401 ProxyCreationContext uses "ThreadLocal.remove()" over "ThreadLocal.set(null)" as well 2011-01-05 19:32:02 +00:00
Juergen Hoeller 67d9b8b943 EhCacheManagerFactoryBean properly closes "ehcache.xml" input stream, if any (SPR-7813) 2011-01-05 19:29:07 +00:00
Keith Donald cc91efecae Fixed bugs in bean wrapper related to nesting levels on method parameters 2011-01-05 19:18:29 +00:00
Keith Donald 3536b8178d failing nested list binding 2011-01-05 17:10:05 +00:00
Keith Donald a417aa2ea3 ignore failing map test case 2011-01-05 16:59:47 +00:00
Keith Donald 818bd841fe method naming improvements; applyIndexObject call for array indexing 2011-01-05 16:54:03 +00:00
Juergen Hoeller 9c64ac7482 fixed potential InjectionMetadata NPE when using SpringBeanAutowiringInterceptor (SPR-7686) 2011-01-05 16:08:43 +00:00
Keith Donald 3cfe557971 spr 7839 reproduce 2011-01-05 06:38:14 +00:00
Keith Donald fe386f1c10 spr7816 2011-01-05 06:23:04 +00:00
Keith Donald da898faac9 spr7766 2011-01-05 06:05:34 +00:00
Keith Donald 39e0c29d19 TypeDescriptor cleanup and general polishing; fixed a number of bugs related to TypeDescriptor usage in client code across beans and spel packages 2011-01-05 05:49:33 +00:00
Arjen Poutsma 74b5b7b56a SPR-7845 - FormHttpMessageConverter.read() always ignores post data when processing request (from Tomcat) 2011-01-04 11:25:30 +00:00
Michael Isvy e133bde01f SPR-7858 2011-01-04 09:40:39 +00:00
Arjen Poutsma e5d8fa0771 SPR-7834 - HttpHeaders.getEtag() mangles the value 2011-01-03 15:51:23 +00:00
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
Sam Brannen d7c4db1b49 [SPR-7849] work in progress: revising the testing chapter based on internal review. 2010-12-30 06:19:58 +00:00
Sam Brannen b8ab33e0c5 [SPR-7849] work in progress: revising the testing chapter based on internal review. 2010-12-30 05:47:23 +00:00
Sam Brannen 54a7ad9f74 [SPR-7848] Improved readability, grammar, and formatting of the Container Extension Points section of the reference manual. 2010-12-30 02:07:22 +00:00
Oliver Gierke 30751c9b0a SPR-2946 - Corrected documentation for lazy-init behaviour on Bean(Factory)PostProcessors.
Changed the documentation to correctly state that B(F)PP are instantiated eagerly no matter if they are explicitly marked as to be lazy initialized or the default-lazy-init attribute is used at a <beans /> element.
2010-12-28 10:06:00 +00:00
Oliver Gierke f20ded5f63 SPR-7674 - Documented value defaulting in Spring EL
Added short note of how to use the Elvis operator for defaulting values in the Spring expression language sections.
2010-12-28 09:42:58 +00:00
Costin Leau bfb3003cba SPR-7308
+ wrapping up cache documentation
+ plug in cache docs
2010-12-27 18:36:57 +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
Costin Leau 29a8ca4edc SPR-7308
+ draft cache documentation
2010-12-21 17:13:17 +00:00
Costin Leau 893fc83f49 SPR-7308
+ fix initialization problem for root object (inside SpEL eval context)
+ add integration tests for root object expressions
2010-12-21 15:47:22 +00:00
Costin Leau e90f0a35e3 SPR-7308
+ add check for null key
2010-12-21 15:46:37 +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