Commit Graph

140 Commits

Author SHA1 Message Date
Juergen Hoeller 03adc3b632 shortened build properties "org.junit.version" to "junit.version" and "org.testng.version" to "testng.version"; reverted SLF4J version back to 1.5.3 (for Hibernate 3.3.1 compatibility)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4502 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-09 09:58:15 +00:00
Chris Beams 2a896753d4 Polish PropertySource and Environment Javadoc
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4363 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-25 10:52:03 +00:00
Chris Beams c0b7d175e9 Delegate parent environment to child app contexts
Calls to AbstractApplicationContext#setParent delegate the parent
context environment to the child.

This ensures that any property sources added to the parent are available
to the child as well as ensuring that any profiles activated are
activated everywhere.

Child contexts may still choose to replace their environment (through an
ApplicationContextInitializer, for example).  In any case, however, in
the root/child web application context relationship established by
ContextLoader + DispatcherServlet, the child is guaranteed to have
already been given the parent environment by the time it is delegated
to any ACIs.

See AbstractApplicationContext#setParent for implementation

See FrameworkServlet#createWebApplicationContext for order in which
setParent then initializeWebApplicationContext are called.

Issue: SPR-8185

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4353 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-23 10:04:00 +00:00
Chris Beams c834ba84f3 Rename {Default=>Standard}PortletEnvironment
Issue: SPR-8348

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4339 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-20 03:57:35 +00:00
Chris Beams 2b6bcf470c Rename {DefaultWeb=>StandardServlet}Environment
Issue: SPR-8348

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4338 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-20 03:55:56 +00:00
Chris Beams cf19ecc5a7 Rename {Default=>Standard}Environment
Issue: SPR-8348

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4337 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-20 03:53:37 +00:00
Chris Beams 3fcb25c1c6 Introduce AbstractEnvironment#customizePropertySources
This new hook in the AbstractEnvironment lifecycle allows for more
explicit and predictable customization of property sources by
subclasses.  See Javadoc and existing implementations for detail.

Issue: SPR-8354

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4335 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-20 03:50:14 +00:00
Chris Beams adc9400905 Include license.txt and notice.txt in module JARs
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3967 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-09 06:56:40 +00:00
Juergen Hoeller 9c127394a3 Servlet/PortletRequestDataBinder perform unwrapping for MultipartRequest as well (SPR-7795)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3923 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-26 20:09:42 +00:00
Chris Beams 835a3f8d64 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

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3862 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-05 22:24:14 +00:00
Chris Beams d00b49dca5 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.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3840 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-03 10:13:57 +00:00
Chris Beams 1ac7b56caf 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.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3839 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-03 09:04:34 +00:00
Sam Brannen 924b8e11ea [SPR-7850][SPR-7851] Upgraded to JUnit 4.8.1 and TestNG 5.12.1; added changelog entries for 3.1.0.M1.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3838 50f2f4bb-b051-0410-bef5-90022cba6387
2010-12-30 08:00:58 +00:00
Costin Leau 810bb4a441 SPR-7703
- minor performance improvements to servlet and portlet handlers


git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3792 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-31 17:46:15 +00:00
Arjen Poutsma 3f2b200e64 SPR-7695 - Add ETag version of WebRequest.checkNotModified()
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3787 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-29 10:28:47 +00:00
Chris Beams 45e5b46fc2 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.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3782 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-25 19:48:20 +00:00
Juergen Hoeller b0c441b810 DispatcherPortlet's default resource serving explicitly prevents access to WEB-INF and META-INF (SPR-7540)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3708 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-02 00:03:09 +00:00
Juergen Hoeller 77e16a1a89 fixed Portlet UnavailableException tests (SPR-7542)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3696 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-29 13:45:50 +00:00
Juergen Hoeller 8a8a6dee7e fixed Portlet UnavailableException tests (SPR-7542)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3695 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-29 13:31:53 +00:00
Juergen Hoeller a0c93b7e91 DispatcherPortlet throws custom NoHandlerFoundException instead of misleading UnavailableException (SPR-7542)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3684 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-14 06:43:53 +00:00
Juergen Hoeller 4f829f3ae2 added MockMultipartFile to web-portlet module
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3651 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-06 23:22:03 +00:00
Juergen Hoeller 9bb2251455 reverted shortening of action exception parameter value; fixed multipart test (SPR-7495)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3650 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-06 23:11:11 +00:00
Juergen Hoeller 669f846b8d fixed typo
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3649 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-06 22:56:18 +00:00
Juergen Hoeller 6dbe912b13 copy event parameters to render parameters in case of an action exception as well (SPR-7495)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3648 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-06 22:56:05 +00:00
Juergen Hoeller f569ebfb52 DispatcherPortlet copies all action parameters to render parameters in case of an action exception (SPR-7495); shortened Portlet MVC's action exception render parameter value to "true"
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3647 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-06 22:45:31 +00:00
Juergen Hoeller 2b9c71d317 removed unused HandlerExecutionChain caching
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3646 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-06 21:44:06 +00:00
Juergen Hoeller ea2bbbb3be allow for writing the response directly in a Portlet @ExceptionHandler method (like in the Servlet equivalent)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3645 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-06 21:43:26 +00:00
Juergen Hoeller 25a6ffa75f polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3644 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-06 21:20:03 +00:00
Juergen Hoeller ba1e4c2d10 extended synchronization for methodResolverCache (SPR-7525)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3643 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-06 20:41:50 +00:00
Ben Hale 82e5f5f5d6 Publishing license and notice files
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3612 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-23 13:17:31 +00:00
Arjen Poutsma 750dc01862 Prepping for 3.0.5
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3611 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-19 11:04:04 +00:00
Juergen Hoeller 99143de03f Servlet/PortletContextResource inherit isReadable, contentLength and lastModified from AbstractFileResolvingResource
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3590 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-15 22:57:37 +00:00
Juergen Hoeller ce3326a617 CommonsMultipartResolver cleans up all multipart files in case of multiple files for same name as well (SPR-2784)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3589 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-15 22:52:54 +00:00
Juergen Hoeller e39f0704a2 WebDataBinder and @MVC request param binding detect and introspect MultipartFile arrays as well (SPR-2784)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3588 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-15 22:51:02 +00:00
Juergen Hoeller 93fb8760ff consistent mocks between modules
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3586 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-15 22:02:40 +00:00
Juergen Hoeller 034859d900 polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3583 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-15 21:26:43 +00:00
Juergen Hoeller 3f7c46e16d revised handler method resolution, in particular with respect to generic interfaces (SPR-7355)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3579 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-15 21:12:54 +00:00
Juergen Hoeller b4f2d35b49 PortletWrappingController supports Portlet 2.0 resource and event requests as well (SPR-7430)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3525 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-07 11:47:32 +00:00
Juergen Hoeller 104afdec3f Portlet AbstractController consistently uses session mutex if "synchronizeOnSession" is active
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3524 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-07 11:46:15 +00:00
Juergen Hoeller 9a30fdb3b5 @ExceptionHandler works for inherited method and CGLIB proxies on Portlet controllers as well (SPR-7337)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3475 50f2f4bb-b051-0410-bef5-90022cba6387
2010-07-08 11:45:35 +00:00
Juergen Hoeller 0afe9a20fd Portlet @MVC's implicit render model will be updated at the end of the event phase
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3445 50f2f4bb-b051-0410-bef5-90022cba6387
2010-06-23 17:24:28 +00:00
Juergen Hoeller c5dcc2c88c @MVC handler methods reliably resolve MultipartRequest arguments with HiddenHttpMethodFilter (SPR-7296)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3431 50f2f4bb-b051-0410-bef5-90022cba6387
2010-06-20 18:45:42 +00:00
Arjen Poutsma 7f54fe732f Upgrading version to 3.0.4
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3428 50f2f4bb-b051-0410-bef5-90022cba6387
2010-06-15 14:18:29 +00:00
Juergen Hoeller b012508bdf revised Portlet SessionStatus.setComplete() to avoid re-exposure of attributes in render phase (SPR-6126); shortened implicit model render parameter name to "implicitModel" (SPR-7149)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3407 50f2f4bb-b051-0410-bef5-90022cba6387
2010-06-09 20:09:53 +00:00
Juergen Hoeller 21be98a8b5 fixed @ExceptionHandler resolution in case of multiple matches at different inheritance levels (SPR-7085)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3264 50f2f4bb-b051-0410-bef5-90022cba6387
2010-04-18 18:48:24 +00:00
David Syer faa0f29f0f Update version in POMs to 3.0.3
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3246 50f2f4bb-b051-0410-bef5-90022cba6387
2010-04-15 10:26:14 +00:00
Juergen Hoeller 3f56ed93db DispatcherPortlet passes handler instance into HandlerExceptionResolver for action exception; DispatcherPortlet applies preHandleRender callbacks in case of action exception as well (SPR-6959)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3197 50f2f4bb-b051-0410-bef5-90022cba6387
2010-03-30 21:17:31 +00:00
Juergen Hoeller 5c701c63ed use simple type name in "missing parameter" exception text
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3196 50f2f4bb-b051-0410-bef5-90022cba6387
2010-03-30 21:13:12 +00:00
Juergen Hoeller 6132e318b1 polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3195 50f2f4bb-b051-0410-bef5-90022cba6387
2010-03-30 21:12:40 +00:00
Juergen Hoeller 2ec66b066b NativeWebRequest detects native MultipartRequest even when decorated (SPR-6594)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3189 50f2f4bb-b051-0410-bef5-90022cba6387
2010-03-30 10:24:39 +00:00