Commit Graph

133 Commits

Author SHA1 Message Date
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
David Syer fa14cd4ad2 SPR-6881: remove extra dependency
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3023 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-21 17:51:48 +00:00
David Syer 25ef81476d Update Central POMs to 3.0.2
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3022 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-21 15:32:18 +00:00
Costin Leau 4be6044db9 + make use or property placeholders inside template.mf
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3014 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-19 09:43:22 +00:00
Costin Leau 5e677feda0 + upgrade to AspectJ 1.6.8
+ externalize some of the jar versions
+ align the versions of some dependencies between pom.xml and ivy.xml

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2918 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-04 11:46:21 +00:00
Juergen Hoeller 79fc317d2e WebRequest is a resolvable dependency in Servlet/Portlet web application contexts (SPR-6727)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2845 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-20 22:09:13 +00:00
David Syer e6d2f9428c SPR-6678: fix poms for 3.0.1
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2809 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-13 11:07:08 +00:00
Juergen Hoeller cb2adcaa8d removed MultipartRequest mixin interface again (avoiding a package dependency cycle)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2663 50f2f4bb-b051-0410-bef5-90022cba6387
2009-12-15 00:51:32 +00:00