Commit Graph
450 Commits
Author SHA1 Message Date
Chris Beams 1bbb71c33e Polish DelegatingFilterProxy Javadoc
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4383 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-30 12:56:32 +00:00
Chris Beams bd3cfea19a Introduce ContextLoader(Listener) constructors
Constructors have been added to both ContextLoader and
ContextLoaderListener to support instance-based programmatic
registration of listeners within ServletContainerInitializer
implementations in Servlet 3.0+ environments, and more particularly
when using Spring 3.1's WebApplicationInitializer SPI.

Issue: SPR-7672

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4382 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-30 12:56:01 +00:00
Chris Beams c7a7618400 Improve ApplicationContextInitializer sorting
ContextLoader and FrameworkServlet now use
AnnotationAwareOrderComparator to support @Order usage; previously
supported only implementation of the Ordered interface.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4381 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-30 12:55:33 +00:00
Chris Beams c28157344b Update GenericWAC to implement ConfigurableWAC
GenericWebApplicationContext now implements
ConfigurableWebApplicationContext in order to be compatible with
Framework/DispatcherServlet and ContextLoader/Listener, especially with
regard to changes in SPR-7672 that allow for programmatic use of these
types within Servlet 3.0+ environments.  For the first time, it's now
reasonable to imagine injecting a GWAC into DispatcherServlet; the most
robust way to accommodate this possibility is for GWAC to implement
CWAC.

The implementation is in name only, allowing for interchangable use of
GWAC anywhere, for example, an XWAC could otherwise go.  Methods such
as setConfigLocation will throw UnsupportedOperationException if the
configLocation value actually contains text.  Other methods are
implemented as no-ops or to throw UOE as appropriate.

Issue: SPR-7672

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4378 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-30 12:53:57 +00:00
Chris Beams fa99401dff Introduce Servlet 3.0 WebApplicationInitializer
WebApplicationInitializer provides a programmatic alternative to the
traditional WEB-INF/web.xml servlet container deployment descriptor
for Servlet API 3.0+ environments.

This is done by building atop the new ServletContainerInitializer
support in Servlet 3.0. See SpringServletContainerInitializer for
complete details. And see WebApplicationInitializer Javadoc for
typical usage examples.

Issue: SPR-7672

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4377 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-30 12:53:32 +00:00
Juergen Hoeller 208a097d48 updated IntelliJ dependency descriptors
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4368 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-29 20:43:52 +00:00
Juergen Hoeller d3e3ffd25e added StandardServletMultipartResolver for Servlet 3.0
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4367 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-29 20:38:23 +00:00
Chris Beams d9b73461ff Upgrade javax.servlet dependency to 3.0 for .web
In support of SPR-7672 which will support code-based configuration
alternatives to web.xml using new features in the Servlet 3.0 API.

This upgrade does *not* force Spring users to upgrade to Servlet 3.0
capable containers.  Compatibility with and support for
javax.servlet >= 2.4 remains.

Issue: SPR-7672

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4365 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-26 13:34:21 +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 f82aabb6c3 Introduce AnnotationConfigCapableApplicationContext
AnnotationConfigApplicationContext and
AnnotationConfigWebApplicationContext both expose #register and #scan
methods as of the completion of SPR-8320. This change introduces a new
interface that declares each of these methods and refactors ACAC and
ACWAC to implement it.

Beyond information value, this is useful for implementors of the
ApplicationContextInitializer interface, in that users may create an ACI
that works consistently across ACAC and ACWAC for standalone (e.g.
testing, batch) or web (e.g. production) use.

Issue: SPR-8365,SPR-8320

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4352 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-23 10:03:23 +00:00
Chris Beams 1fee0f3176 Introduce AnnotationConfigWAC #scan and #register
Primarily for use in conjunction with ApplicationContextInitializer,
these new #scan and #register methods mirror those in
AnnotationConfigApplicationContext. #setConfigLocation
and #setConfigLocations methods remain for compatibility with
ContextLoader-style initialization, but have been locally overridden
and documented clearly.

AnnotationConfigWebApplicationContext#loadBeanDefinitions Javadoc has
also been updated to explain the processing logic for each of these
potential inputs.

Issue: SPR-8320

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4351 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-23 10:02:50 +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
Arjen Poutsma 66e1c8c743 @RequestMapping.consumes() and produces() now default to an empty array, instead of */*
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4324 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-18 11:34:47 +00:00
Arjen Poutsma 99e7650b53 Exposing HttpServletRequest/Response in ServletServerHttpRequest/Response
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4323 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-18 11:24:57 +00:00
Arjen Poutsma 7b6c98ac9b SPR-7353 - @ResponseBody and returned HttpEntity now respect @RequestMapping.produces()
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4311 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-17 09:45:57 +00:00
Arjen Poutsma 3f9a857d4c SPR-7353 - Added equivalent of JAX-RS @Produces to Spring MVC
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4301 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-13 09:43:45 +00:00
Arjen Poutsma 6d06f137cf Javadoc
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4294 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-12 09:00:39 +00:00
Arjen Poutsma 5d10187239 SPR-7354 - Added equivalent of JAX-RS @Consumes to Spring MVC
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4279 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-10 09:23:00 +00:00
Arjen Poutsma c05ee1467a Made comparators public, as they are needed elsewhere.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4277 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-09 11:20:49 +00:00
Chris Beams 210e278ce0 Rename DataBinderFactory subtypes for concision
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4269 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-06 19:12:14 +00:00
Rossen Stoyanchev 18e98329db SPR-6909 Include URI template vars in data binding
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4241 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-26 11:54:54 +00:00
Rossen Stoyanchev 99a4e3bc0e SPR-7543 Add @PathVariables to the model
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4236 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-21 15:18:45 +00:00
Arjen Poutsma b8438b7396 Buffering RequestFactory that allows for multiple response body reads.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4235 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-21 15:09:44 +00:00
Rossen Stoyanchev ef6efa3f6f Remove consumes from @RequestMapping
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4234 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-21 14:54:55 +00:00
Arjen Poutsma d4f714010e added toString to HttpEntity
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4232 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-21 11:39:20 +00:00
Rossen Stoyanchev aae28ee298 SPR-8214 review unit tests
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4227 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-15 18:42:58 +00:00
Rossen Stoyanchev 1660ec4b0e SPR-8214 Javadoc and polish
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4224 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-13 23:15:19 +00:00
Sam Brannen fd2c472058 Added Apache Commons HTTP JARs to the Eclipse classpath.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4223 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-12 21:58:38 +00:00
Micha Kiener ab4a3568b1 SPR-6416, initial commit for the conversation management
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4217 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-12 13:21:18 +00:00
Arjen Poutsma ce8a55209e SPR-6180 - Upgrade Apache HttpClient to version 4.0
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4215 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-12 07:55:38 +00:00
Arjen Poutsma 87473307d1 SPR-6180 - Upgrade Apache HttpClient to version 4.0
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4211 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-11 13:12:45 +00:00
Arjen Poutsma 16bae7e143 SPR-7354 - Added equivalent of JAX-RS @Consumes to Spring MVC
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4194 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-08 09:26:17 +00:00
Rossen Stoyanchev c0692e2ddf ModelAndViewContainer related refinements
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4192 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-07 18:09:28 +00:00
Rossen Stoyanchev 64fbd3740d SPR-8217 update MVC namespace to use HandlerMethod infrastructure
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4189 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-06 20:28:47 +00:00
Rossen Stoyanchev 5338b4f012 Configurable arg resolvers and return value handlers
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4188 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-06 16:55:21 +00:00
Rossen Stoyanchev bc794c1304 Replace ModelAndViewContainer parameter with Object
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4187 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-06 15:30:19 +00:00
Rossen Stoyanchev cd93c27598 SPR-8215 Move HandlerMethod code into trunk
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4184 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-06 11:30:59 +00:00
Arjen Poutsma ed38afc3dd Allow for customization of the media type for forms.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4180 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-05 09:48:09 +00:00
Sam Brannen 56fa618e12 [SPR-8090] Fixed broken tests in Log4jWebConfigurerTests.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4117 50f2f4bb-b051-0410-bef5-90022cba6387
2011-03-28 17:20:40 +00:00
Arjen Poutsma 0cbaea735c @MVC 2.0: AbstractAnnotationMAR -> AbstractNamedValueMAR
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4037 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-25 11:05:14 +00:00
Juergen Hoeller e116123f3e polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3993 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 22:19:10 +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
Chris Beams dc22760978 Introduce FeatureSpecification support
Introduce FeatureSpecification interface and implementations

    FeatureSpecification objects decouple the configuration of
    spring container features from the concern of parsing XML
    namespaces, allowing for reuse in code-based configuration
    (see @Feature* annotations below).

    * ComponentScanSpec
    * TxAnnotationDriven
    * MvcAnnotationDriven
    * MvcDefaultServletHandler
    * MvcResources
    * MvcViewControllers

Refactor associated BeanDefinitionParsers to delegate to new impls above

    The following BeanDefinitionParser implementations now deal only
    with the concern of XML parsing.  Validation is handled by their
    corresponding FeatureSpecification object.  Bean definition creation
    and registration is handled by their corresponding
    FeatureSpecificationExecutor type.

    * ComponentScanBeanDefinitionParser
    * AnnotationDrivenBeanDefinitionParser (tx)
    * AnnotationDrivenBeanDefinitionParser (mvc)
    * DefaultServletHandlerBeanDefinitionParser
    * ResourcesBeanDefinitionParser
    * ViewControllerBeanDefinitionParser

Update AopNamespaceUtils to decouple from XML (DOM API)

    Methods necessary for executing TxAnnotationDriven specification
    (and eventually, the AspectJAutoProxy specification) have been
    added that accept boolean arguments for whether to proxy
    target classes and whether to expose the proxy via threadlocal.

    Methods that accepted and introspected DOM Element objects still
    exist but have been deprecated.

Introduce @FeatureConfiguration classes and @Feature methods

    Allow for creation and configuration of FeatureSpecification objects
    at the user level.  A companion for @Configuration classes allowing
    for completely code-driven configuration of the Spring container.

    See changes in ConfigurationClassPostProcessor for implementation
    details.

    See Feature*Tests for usage examples.

    FeatureTestSuite in .integration-tests is a JUnit test suite designed
    to aggregate all BDP and Feature* related tests for a convenient way
    to confirm that Feature-related changes don't break anything.
    Uncomment this test and execute from Eclipse / IDEA. Due to classpath
    issues, this cannot be compiled by Ant/Ivy at the command line.

Introduce @FeatureAnnotation meta-annotation and @ComponentScan impl

    @FeatureAnnotation provides an alternate mechanism for creating
    and executing FeatureSpecification objects.  See @ComponentScan
    and its corresponding ComponentScanAnnotationParser implementation
    for details.  See ComponentScanAnnotationIntegrationTests for usage
    examples

Introduce Default[Formatting]ConversionService implementations

    Allows for convenient instantiation of ConversionService objects
    containing defaults appropriate for most environments.  Replaces
    similar support originally in ConversionServiceFactory (which is now
    deprecated). This change was justified by the need to avoid use
    of FactoryBeans in @Configuration classes (such as
    FormattingConversionServiceFactoryBean). It is strongly preferred
    that users simply instantiate and configure the objects that underlie
    our FactoryBeans. In the case of the ConversionService types, the
    easiest way to do this is to create Default* subtypes. This also
    follows convention with the rest of the framework.

Minor updates to util classes

    All in service of changes above. See diffs for self-explanatory
    details.

    * BeanUtils
    * ObjectUtils
    * ReflectionUtils

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3954 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 14:42:33 +00:00
Arjen Poutsma 4c765a4f7e SPR-7494 - Introduce interceptors for RestTemplate
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3930 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-28 14:24:52 +00:00
Arjen Poutsma 57f23ae761 SPR-7494 - Introduce interceptors for RestTemplate
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3929 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-28 09:17:00 +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
Arjen Poutsma 3d3ca23d5c Made abstract requests public again
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3922 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-26 16:09:41 +00:00