Commit Graph

3804 Commits

Author SHA1 Message Date
Chris Beams 780b32c909 Re-introduce and deprecate BDPD.initDefaults(Element)
For compatibility with Spring Integration's standalone usage of
BeanDefinitionParserDelegate.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3991 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 13:33:09 +00:00
Sam Brannen d94cbd236a [SPR-7953] BeanDefinitionVisitor now actually visits factory method names.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3990 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 13:08:31 +00:00
Sam Brannen ff2aae8ba3 [SPR-7953] BeanDefinitionVisitor now actually visits factory method names.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3989 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 13:01:58 +00:00
Juergen Hoeller 1b2625e20a prepared 3.1 M1 changelog
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3988 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 02:07:14 +00:00
Juergen Hoeller 27766b7fab renamed AbstractPropertyPlaceholderConfigurer to PlaceholderConfigurerSupport
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3987 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 02:01:02 +00:00
Juergen Hoeller c182283beb turned to package visibility
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3986 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 01:58:21 +00:00
Juergen Hoeller 541f8595ab renamed AbstractPropertyPlaceholderConfigurer to PlaceholderConfigurerSupport
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3985 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 01:55:11 +00:00
Juergen Hoeller c16e01cb14 removed ConversionService/TypeConverter convenience methods in order to restore 3.0's SPI (for backwards compatibility with implementers)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3984 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 01:36:57 +00:00
Juergen Hoeller 4bd265f0a4 removed ConversionService/TypeConverter convenience methods in order to restore 3.0's SPI (for backwards compatibility with implementers)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3983 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 01:24:08 +00:00
Chris Beams 1a751de04f Further compensations for STS; binary compat fixes
Defensively catch NoSuchMethodError when calling BDPD.getEnvironment()
and supply a DefaultEnvironment if not available.

Replace the single-arg constructor for BDPD and deprecate, preserving
binary compat particularly for Spring Integration who instantiates
this class directly, which is unusual.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3982 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 00:30:30 +00:00
Chris Beams 3fbe9d5a55 Fix STS compatibility issues; other improvements
Revert changes to ParserContext, ReaderContext, and XmlReaderContext

    These changes cause cross-version incompatibilities at tooling time
    -- for instance, an STS version that ships with Spring 3.0.5
    classloads the ParserContext defined in that version, whereas it
    classloads NamespaceHandlers and BeanDefinitionParsers (by default)
    from the user application classpath, which may be building against
    3.1.0. If so, the changes introduced to these types in 3.1.0 are
    incompatible with expectations in the 3.0.5 world and cause all
    manner of problems.  In this case, it was NoSuchMethodError due to
    the newly-added XmlReaderContext.getProblemReporter() method; also
    IncompatibleClassChangeError due to the introduction of the
    ComponentRegistrar interface on ParserContext.

    Each of these problems have been mitigated, though the solutions
    are not ideal. The method mentioned has been removed, and instead
    the problemReporter field is now accessed reflectively.
    ParserContext now no longer implements ComponentRegistrar, and
    rather a ComponentRegistrarAdapter class has been introduced that
    passes method calls through to a ParserContext delegate.

Introduce AbstractSpecificationBeanDefinitionParser

    AbstractSpecificationBeanDefinitionParser has been introduced in
    order to improve the programming model for BeanDefinitionParsers
    that have been refactored to the new FeatureSpecification model.
    This new base class and it's template method implementation of
    parse/doParse ensure that common concerns like (1) adapting a
    ParserContext into a SpecificationContext, (2) setting source and
    source name on the specification, and (3) actually executing the
    specification are all managed by the base class.  The subclass
    implementation of doParse need only actually parse XML, populate
    and return the FeatureSpecification object.  This change removed
    the many duplicate 'createSpecificationContext' methods that had
    been lingering.

Minor improvement to BeanDefinitionReaderUtils API

    Introduced new BeanDefinitionReaderUtils#registerWithGeneratedName
    variant that accepts BeanDefinition as opposed to
    AbstractBeanDefinition, as BeanDefinition is all that is actually
    necessary to satisfy the needs of the method implementation. The
    latter variant accepting AbstractBeanDefinition has been deprecated
    but remains intact and delegates to the new variant in order to
    maintain binary compatibility.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3980 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-09 16:44:26 +00:00
Thomas Risberg 7b25351288 switched to create the PreparedStatementCreatorFactory using a list of SqlParameters to preserve type names (SPR-7699)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3976 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-09 13:58:30 +00:00
Arjen Poutsma 000346972b Fixing compilation error with javac.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3970 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-09 09:39:29 +00:00
Chris Beams 975e44079f Revert signature change in BDRU.registerWithGeneratedName
This change broke binary compatibility as evidenced by running
the greenhouse test suite and finding that Spring Integration's
AbstractConsumerEndpointParser.parseInternal fails with
NoSuchMethodError when trying to invoke.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3969 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-09 06:57:24 +00:00
Chris Beams 437a753e26 Sync pom.xml deps with ivy.xml changes since 3.0.5
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3968 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-09 06:56:53 +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 8fcce02cde Add FeatureMethodErrorTests
Capture common mistakes with @Feature method declarations and ensure
that useful error messages are produced.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3966 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-09 06:54:02 +00:00
Sam Brannen 0146bf787a Suppressing warnings, polishing JavaDoc, etc.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3965 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 22:50:45 +00:00
Sam Brannen 79c72a96f3 polishing JavaDoc
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3963 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 22:08:38 +00:00
Chris Beams f8a4dfa5da Rename ExecutorContext => SpecificationContext
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3961 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 19:08:41 +00:00
Chris Beams df4edc1c73 Rename spring.{profile}.active => {profiles}
Same for spring.profiles.default

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3960 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 19:07:46 +00:00
Chris Beams 9fd86f589f Extract ProblemCollector interface
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3959 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 19:07:03 +00:00
Juergen Hoeller 0620860078 updated for the 3.1 M1 release
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3958 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 16:58:34 +00:00
Juergen Hoeller df9857fa2b removed assertions
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3957 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 16:35:38 +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
Chris Beams 6a68b44ca9 Make ObjectUtils.addObjectToArray() generic
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3951 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 13:01:29 +00:00
Costin Leau 91ecefdaa1 renamed EhcacheCacheManager to EhCacheCacheManager
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3949 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-07 17:45:29 +00:00
Costin Leau 61d1324dc9 renamed EhcacheCacheManager to EhCacheCacheManager
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3948 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-07 17:44:41 +00:00
Costin Leau 1f92a12c1e moved cache abstraction from context.support to context
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3947 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-07 17:41:25 +00:00
Keith Donald ded88e3a7b added support for Instant and MutableDateTime binding to JodaTime formatting system; allow for use of @DateTimeFormat on any ReadableInstant field
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3941 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-04 20:17:52 +00:00
Keith Donald 2c0cb96fbf reordered interface operations for clarity
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3940 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-04 18:20:05 +00:00
Keith Donald 39a2ec31a1 SPR-7875
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3939 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-04 18:17:30 +00:00
Rossen Stoyanchev 0d06b35924 SPR-7327 Add minOccurs=0 to sub-elements of mvc:annotation-driven and add more tests
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3938 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-03 22:56:13 +00:00
Rossen Stoyanchev 5c337da704 SPR-7327 add <mvc:argument-resolvers> namespace element
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3937 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-03 15:22:00 +00:00
Costin Leau 6ef2067e3b + fixed cache xsd minor typo
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3936 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-01 10:20:09 +00:00
Costin Leau 5e08586261 SPR-7887
+ add javadoc on JBoss LTW for usage on JBoss 6.0

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3935 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-01 10:19:23 +00:00
Costin Leau 38a49f088e SPR-4331
docs for LTW for WebSphere


git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3934 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-01 10:18:06 +00:00
Costin Leau e1cd8ac5f1 SPR-4331
LTW for WebSphere


git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3933 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-01 10:17:42 +00:00
Rossen Stoyanchev 9d7b43149b Remove code for parsing mvc:formatters (SPR-7732)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3932 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-31 21:30:48 +00:00
Costin Leau 33dcc26b96 SPR-7887
+ add note about JBoss 6

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3931 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-31 16:53:56 +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
Rossen Stoyanchev 26c92551dd SPR-7912 Add tests for FormattingConversionServiceFactoryBean, update reference docs, and remove mvc:formatters
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3928 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-27 11:26:19 +00:00
Rossen Stoyanchev 27df774e38 SPR-7912 Introduce FormatterRegistrar interface and FormattingConversionServiceFactoryBean enhancements.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3927 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-26 22:20:49 +00:00
Juergen Hoeller 228a10ccdc get/stripFilenameExtension correctly ignores Unix-style hidden directories (SPR-7828)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3926 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-26 20:47:45 +00:00
Juergen Hoeller b564831d52 fixed tests (SPR-7779)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3925 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-26 20:39:57 +00:00
Juergen Hoeller 341db8b2f3 LocaleChangeInterceptor validates locale values in order to prevent XSS vulnerability (SPR-7779)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3924 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-26 20:30:30 +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
Arjen Poutsma 4b1ac128b1 Small performance improvement
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3921 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-26 14:43:34 +00:00