Commit Graph

940 Commits

Author SHA1 Message Date
Chris Beams c51c340881 Update MockEnvironment / MockPropertySource types
Reflecting signature changes in getProperty() methods
2011-05-06 18:57:41 +00:00
Costin Leau 5206f5bc9a SPR-8238
+ add NPE test
2011-04-21 08:07:12 +00:00
Costin Leau e1d19d6c24 SPR-8238
+ add handling for null arguments to prevent NPE in default key generation
2011-04-21 08:00:42 +00:00
Micha Kiener 8adb9a88d0 SPR-6416, adding basic conversation object tests, improving the access time of the conversation object 2011-04-12 19:51:50 +00:00
Micha Kiener 3244e0a644 SPR-6416, adding repository timeout setting tests 2011-04-12 18:11:18 +00:00
Micha Kiener 8098ced387 SPR-6416, adding conversation manager test 2011-04-12 16:02:46 +00:00
Micha Kiener 58b779355b SPR-6416, reshaping removal of hierarchical conversations and adding repository test 2011-04-12 14:53:09 +00:00
Micha Kiener f812cd748e SPR-6416, initial commit for the conversation management 2011-04-12 13:21:18 +00:00
Sam Brannen 070b7b6afe polishing 2011-04-04 22:05:49 +00:00
Chris Beams 74f1e0e9d0 Touch up ApplicationContextInitializer Javadoc 2011-04-04 14:57:51 +00:00
Chris Beams 4f7bdbd3de Make ConfigurationClassBeanDefinitionReader public
Issue: SPR-8200
2011-04-04 14:14:17 +00:00
Rossen Stoyanchev 3f11fbafaa Predictable index position for BindingResult keys and parameter annotation convenience methods in MethodParameter 2011-03-31 14:16:37 +00:00
Sam Brannen 8568250e77 [SPR-8089] Added TODOs. 2011-03-28 19:01:33 +00:00
Sam Brannen 45c6eb1d62 [SPR-8089] re-ignoring JMX tests that require the presence of jmxremote_optional.jar. 2011-03-28 18:38:34 +00:00
Sam Brannen 309fa92199 [SPR-8089] re-ignoring JMX tests that require the presence of jmxremote_optional.jar. 2011-03-28 18:26:30 +00:00
Sam Brannen adfcc929fb [SPR-8091] developer notes 2011-03-28 18:09:14 +00:00
Costin Leau 5c3ceb8ef0 SPR-7971
+ add target object to KeyGenerator
2011-03-28 18:09:04 +00:00
Sam Brannen 71d70a6e06 [SPR-8089] cleaning up ignored and broken JMX tests; suppressing warnings; using generics where feasible; documented the jmxremote_optional.jar requirement in AbstractMBeanServerTests. 2011-03-28 17:57:01 +00:00
Costin Leau a3a0e5165c SPR-8007
+ add more logging
2011-03-28 12:10:26 +00:00
Costin Leau eb4b68ffda SPR-8007
SPR-7832
+ expose the invocation params through the cache root object
+ update javadocs
2011-03-28 11:36:05 +00:00
Chris Beams f4e1cde33b Eliminate warnings in .validation package
Issue: SPR-8062
2011-03-18 06:47:12 +00:00
Chris Beams 150838bfc1 Remove TODOs related to profile logging
Issue: SPR-8031, SPR-7508, SPR-8057
2011-03-15 12:57:43 +00:00
Chris Beams d471266d44 @Feature methods accept @Value-annotated params
Previously errors were being raised when trying to inject @Value
annotated paramaters such as:

@Feature
public FeatureSpec feature(@Value("#{environment['foo']}") String foo) {
    return new FeatureSpec(foo);
}

This is not so much because dependency resolution of @Value-annotated
types was failing, but rather because the 'early bean reference'
proxying mechanism was throwing an exception if any final type was
detected as a parameter. This is of course because final types are
non-subclassable by CGLIB.  On review, however, it's obvious that
certain final types must be allowed for injection.  @Value injection
is an obvious one, but the rarer case of a Spring bean of type String
or int is another.

The explicit guard against final types as parameters to @Feature methods
has been removed. Final types are still checked for, however, and if
found, no proxing is attempted.  The dependency is immediately resolved
against the current BeanFactory and injected into the @Feature method.

This means that @Value injection, @Qualifier injection, etc all work
as expected, but does mean that premature bean instantiation may occur
if a user unwittingly injects non-String, non-primitive final bean types
as @Feature method parameters.

Issue: SPR-7974
2011-03-15 07:09:49 +00:00
Chris Beams 43676bd660 Deregister @Configuration CGLIB callbacks
CGLIB-enhanced @Configuration subclasses now implement DisposableBean
such that Enhancer.registerStaticCallbacks(subclass, null) is invoked
on container shutdown. This ensures that garbage collection can work
properly and avoids memory consumption issues for applications that
create and destroy many application contexts within the same JVM.

Issue: SPR-7901
2011-03-14 09:20:19 +00:00
Chris Beams 76ce418556 Fix context:property-placeholder XSD type hierarchy
context:property-placeholder extends 'propertyPlaceholder' type
defintion once again.  This relationship was inadvertently removed in
3.1 M1, and the effect was that XML tooling would raise errors on
use of attributes like 'location'.

The updated schema has also been published to

    http://www.springframework.org/schema/context/spring-context-3.1.xsd

Issue: SPR-8037
2011-03-13 19:12:50 +00:00
Chris Beams 4cdb04ab25 Process @ImportResource with current ResourceLoader
Issue: SPR-7973
2011-03-12 12:24:38 +00:00
Chris Beams 704b229cc7 Test injection of Environment on @Feature methods
Issue: SPR-7975
2011-03-12 12:24:20 +00:00
Chris Beams 5cfbed8881 Test injection of special types on @Feature methods
Prove that injection of special container types such as ResourceLoader,
BeanFactory, etc already works with the current implementation of
@Feature methods.

Issue: SPR-7975
2011-03-11 12:40:51 +00:00
Chris Beams 5de35e8f92 Polishing 2011-03-10 14:08:58 +00:00
Costin Leau c3a635196b SPR-8015
+ update default key generator strategy to improve compatibility for implicit declaration on one arg method
+ updated docs
2011-03-06 17:13:24 +00:00
Costin Leau a4aca64007 + fix bug that prevented internal expression cache from being used 2011-03-06 17:06:28 +00:00
Costin Leau 5daad3e081 SPR-8006
+ fix contains/get race-condition of caches (by adding an extra cache call)
2011-03-06 12:27:46 +00:00
Costin Leau a20dd8095e + update copyright headers 2011-03-06 11:53:12 +00:00
Costin Leau fad2f2ca30 SPR-8006
SPR-8023
- remove unneeded method
2011-03-06 11:43:25 +00:00
Costin Leau 523a83ca28 SPR-8008
SPR-8023
+ fix bug in Ehcache cache that considered expired entries for key checks
2011-03-06 11:36:36 +00:00
Juergen Hoeller 716aa6974c fixed scheduling tests 2011-02-10 23:04:40 +00:00
Juergen Hoeller 0d70e08ac3 exceptions thrown by @Scheduled methods will be propagated to a registered ErrorHandler (SPR-7723) 2011-02-10 22:50:16 +00:00
Juergen Hoeller 03190950d1 polishing 2011-02-10 22:19:10 +00:00
Chris Beams 6bfead259e Further compensation for STS version mismatch
Current STS version of Spring (3.0.5) does not contain
the BeanUtils.instantiateClass(Class<?>, Class<T>) signature
that was added in 3.1.0, therefore NoSuchMethodErrors are
being thrown when STS classloads and delegates to
3.1.0 NamespaceHandler and BeanDefinitionParser implementations
on the user project classpath.

In this case, it's AbstractSpecificationBeanDefinitionParser
doing the calling to the unknown new method.  In this specific
example, reverting back to the old single-arg signature is actually
not a problem, because it does accept Class<T> and returns an
instance of type T, which was the desired behavior in the first
place.

The newer signature remains in order to accommodate callers
who do not know the generic type of the Class to be instantiated
(i.e. Class<?>), but do know the type that it should be assignable
to -- this becomes the second argument Class<T>, and an instance
of type T is returned (if indeed it is assignable to the specified
type; otherwise IllegalArgumentException.
2011-02-10 17:59:26 +00:00
Juergen Hoeller ce761d3fe8 renamed AbstractPropertyPlaceholderConfigurer to PlaceholderConfigurerSupport 2011-02-10 02:01:02 +00:00
Juergen Hoeller 47c9278e32 renamed AbstractPropertyPlaceholderConfigurer to PlaceholderConfigurerSupport 2011-02-10 01:55:11 +00:00
Juergen Hoeller 93304b5ff2 removed ConversionService/TypeConverter convenience methods in order to restore 3.0's SPI (for backwards compatibility with implementers) 2011-02-10 01:36:57 +00:00
Chris Beams b7d7fa7b7e 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.
2011-02-10 00:30:30 +00:00
Chris Beams 9cc125531b 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.
2011-02-09 16:44:26 +00:00
Arjen Poutsma 91debc3a35 Fixing compilation error with javac. 2011-02-09 09:39:29 +00:00
Chris Beams c58b63a982 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.
2011-02-09 06:57:24 +00:00
Chris Beams b1756e2f17 Sync pom.xml deps with ivy.xml changes since 3.0.5 2011-02-09 06:56:53 +00:00
Chris Beams 2f7c2230f0 Include license.txt and notice.txt in module JARs 2011-02-09 06:56:40 +00:00
Chris Beams 906b50ef51 Add FeatureMethodErrorTests
Capture common mistakes with @Feature method declarations and ensure
that useful error messages are produced.
2011-02-09 06:54:02 +00:00
Sam Brannen e7c2713fd4 polishing JavaDoc 2011-02-08 22:08:38 +00:00