Tree:
2d2226baf6
3.0.x
3.1.x
3.2.x
4.0.x
4.1.x
4.2.x
4.3.x
5.0.x
5.1.x
5.2.x
5.3.x
6.0.x
6.1.x
6.2.x
docs-build
gh-pages
main
v3.0.0.M1
v3.0.0.M2
v3.0.0.M3
v3.0.0.M4
v3.0.0.RC1
v3.0.0.RC2
v3.0.0.RC3
v3.0.0.RELEASE
v3.0.1.RELEASE
v3.0.1.RELEASE-A
v3.0.1.RELEASE.A
v3.0.2.RELEASE
v3.0.3.RELEASE
v3.0.4.RELEASE
v3.0.5.RELEASE
v3.0.6.RELEASE
v3.0.7.RELEASE
v3.1.0.M1
v3.1.0.M2
v3.1.0.RC1
v3.1.0.RC2
v3.1.0.RELEASE
v3.1.1.RELEASE
v3.1.2.RELEASE
v3.1.3.RELEASE
v3.1.4.RELEASE
v3.2.0.M1
v3.2.0.M2
v3.2.0.RC1
v3.2.0.RC2
v3.2.0.RC2-A
v3.2.0.RELEASE
v3.2.1.RELEASE
v3.2.10.RELEASE
v3.2.11.RELEASE
v3.2.12.RELEASE
v3.2.13.RELEASE
v3.2.14.RELEASE
v3.2.15.RELEASE
v3.2.16.RELEASE
v3.2.17.RELEASE
v3.2.18.RELEASE
v3.2.2.RELEASE
v3.2.3.RELEASE
v3.2.4.RELEASE
v3.2.5.RELEASE
v3.2.6.RELEASE
v3.2.7.RELEASE
v3.2.8.RELEASE
v3.2.9.RELEASE
v4.0.0.M1
v4.0.0.M2
v4.0.0.M3
v4.0.0.RC1
v4.0.0.RC2
v4.0.0.RELEASE
v4.0.1.RELEASE
v4.0.2.RELEASE
v4.0.3.RELEASE
v4.0.4.RELEASE
v4.0.5.RELEASE
v4.0.6.RELEASE
v4.0.7.RELEASE
v4.0.8.RELEASE
v4.0.9.RELEASE
v4.1.0.RC1
v4.1.0.RC2
v4.1.0.RELEASE
v4.1.1.RELEASE
v4.1.2.RELEASE
v4.1.3.RELEASE
v4.1.4.RELEASE
v4.1.5.RELEASE
v4.1.6.RELEASE
v4.1.7.RELEASE
v4.1.8.RELEASE
v4.1.9.RELEASE
v4.2.0.RC1
v4.2.0.RC2
v4.2.0.RC3
v4.2.0.RELEASE
v4.2.1.RELEASE
v4.2.2.RELEASE
v4.2.3.RELEASE
v4.2.4.RELEASE
v4.2.5.RELEASE
v4.2.6.RELEASE
v4.2.7.RELEASE
v4.2.8.RELEASE
v4.2.9.RELEASE
v4.3.0.RC1
v4.3.0.RC2
v4.3.0.RELEASE
v4.3.1.RELEASE
v4.3.10.RELEASE
v4.3.11.RELEASE
v4.3.12.RELEASE
v4.3.13.RELEASE
v4.3.14.RELEASE
v4.3.15.RELEASE
v4.3.16.RELEASE
v4.3.17.RELEASE
v4.3.18.RELEASE
v4.3.19.RELEASE
v4.3.2.RELEASE
v4.3.20.RELEASE
v4.3.21.RELEASE
v4.3.22.RELEASE
v4.3.23.RELEASE
v4.3.24.RELEASE
v4.3.25.RELEASE
v4.3.26.RELEASE
v4.3.27.RELEASE
v4.3.28.RELEASE
v4.3.29.RELEASE
v4.3.3.RELEASE
v4.3.30.RELEASE
v4.3.4.RELEASE
v4.3.5.RELEASE
v4.3.6.RELEASE
v4.3.7.RELEASE
v4.3.8.RELEASE
v4.3.9.RELEASE
v5.0.0.M1
v5.0.0.M2
v5.0.0.M3
v5.0.0.M4
v5.0.0.M5
v5.0.0.RC1
v5.0.0.RC2
v5.0.0.RC3
v5.0.0.RC4
v5.0.0.RELEASE
v5.0.1.RELEASE
v5.0.10.RELEASE
v5.0.11.RELEASE
v5.0.12.RELEASE
v5.0.13.RELEASE
v5.0.14.RELEASE
v5.0.15.RELEASE
v5.0.16.RELEASE
v5.0.17.RELEASE
v5.0.18.RELEASE
v5.0.19.RELEASE
v5.0.2.RELEASE
v5.0.20.RELEASE
v5.0.3.RELEASE
v5.0.4.RELEASE
v5.0.5.RELEASE
v5.0.6.RELEASE
v5.0.7.RELEASE
v5.0.8.RELEASE
v5.0.9.RELEASE
v5.1.0.RC1
v5.1.0.RC2
v5.1.0.RC3
v5.1.0.RELEASE
v5.1.1.RELEASE
v5.1.10.RELEASE
v5.1.11.RELEASE
v5.1.12.RELEASE
v5.1.13.RELEASE
v5.1.14.RELEASE
v5.1.15.RELEASE
v5.1.16.RELEASE
v5.1.17.RELEASE
v5.1.18.RELEASE
v5.1.19.RELEASE
v5.1.2.RELEASE
v5.1.20.RELEASE
v5.1.3.RELEASE
v5.1.4.RELEASE
v5.1.5.RELEASE
v5.1.6.RELEASE
v5.1.7.RELEASE
v5.1.8.RELEASE
v5.1.9.RELEASE
v5.2.0.M1
v5.2.0.M2
v5.2.0.M3
v5.2.0.RC1
v5.2.0.RC2
v5.2.0.RELEASE
v5.2.1.RELEASE
v5.2.10.RELEASE
v5.2.11.RELEASE
v5.2.12.RELEASE
v5.2.13.RELEASE
v5.2.14.RELEASE
v5.2.15.RELEASE
v5.2.16.RELEASE
v5.2.17.RELEASE
v5.2.18.RELEASE
v5.2.19.RELEASE
v5.2.2.RELEASE
v5.2.20.RELEASE
v5.2.21.RELEASE
v5.2.22.RELEASE
v5.2.23.RELEASE
v5.2.24.RELEASE
v5.2.25.RELEASE
v5.2.3.RELEASE
v5.2.4.RELEASE
v5.2.5.RELEASE
v5.2.6.RELEASE
v5.2.7.RELEASE
v5.2.8.RELEASE
v5.2.9.RELEASE
v5.3.0
v5.3.0-M1
v5.3.0-M2
v5.3.0-RC1
v5.3.0-RC2
v5.3.1
v5.3.10
v5.3.11
v5.3.12
v5.3.13
v5.3.14
v5.3.15
v5.3.16
v5.3.17
v5.3.18
v5.3.19
v5.3.2
v5.3.20
v5.3.21
v5.3.22
v5.3.23
v5.3.24
v5.3.25
v5.3.26
v5.3.27
v5.3.28
v5.3.29
v5.3.3
v5.3.30
v5.3.31
v5.3.32
v5.3.33
v5.3.34
v5.3.35
v5.3.36
v5.3.37
v5.3.38
v5.3.39
v5.3.4
v5.3.5
v5.3.6
v5.3.7
v5.3.8
v5.3.9
v6.0.0
v6.0.0-M1
v6.0.0-M2
v6.0.0-M3
v6.0.0-M4
v6.0.0-M5
v6.0.0-M6
v6.0.0-RC1
v6.0.0-RC2
v6.0.0-RC3
v6.0.0-RC4
v6.0.1
v6.0.10
v6.0.11
v6.0.12
v6.0.13
v6.0.14
v6.0.15
v6.0.16
v6.0.17
v6.0.18
v6.0.19
v6.0.2
v6.0.20
v6.0.21
v6.0.22
v6.0.23
v6.0.3
v6.0.4
v6.0.5
v6.0.6
v6.0.7
v6.0.8
v6.0.9
v6.1.0
v6.1.0-M1
v6.1.0-M2
v6.1.0-M3
v6.1.0-M4
v6.1.0-M5
v6.1.0-RC1
v6.1.0-RC2
v6.1.1
v6.1.10
v6.1.11
v6.1.12
v6.1.13
v6.1.14
v6.1.15
v6.1.16
v6.1.17
v6.1.18
v6.1.19
v6.1.2
v6.1.20
v6.1.21
v6.1.3
v6.1.4
v6.1.5
v6.1.6
v6.1.7
v6.1.8
v6.1.9
v6.2.0
v6.2.0-M1
v6.2.0-M2
v6.2.0-M3
v6.2.0-M4
v6.2.0-M5
v6.2.0-M6
v6.2.0-M7
v6.2.0-RC1
v6.2.0-RC2
v6.2.0-RC3
v6.2.1
v6.2.10
v6.2.11
v6.2.12
v6.2.13
v6.2.14
v6.2.15
v6.2.2
v6.2.3
v6.2.4
v6.2.5
v6.2.6
v6.2.7
v6.2.8
v6.2.9
v7.0.0
v7.0.0-M1
v7.0.0-M2
v7.0.0-M3
v7.0.0-M4
v7.0.0-M5
v7.0.0-M6
v7.0.0-M7
v7.0.0-M8
v7.0.0-M9
v7.0.0-RC1
v7.0.0-RC2
v7.0.0-RC3
v7.0.1
v7.0.2
v7.0.3
${ noResults }
10 Commits (2d2226baf60f44ff730e09de5b25cd0da91074fc)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
6078c27e60 |
Fixed evaluation of "!" operator in case of multiple profile expressions
Issue: SPR-11093 |
12 years ago |
|
|
614387fe0e |
Sneaked in test for covariant return type narrowing in a getter method
Issue: SPR-10995 |
12 years ago |
|
|
3100d89d07 |
Clean up console output for spring-beans tests
|
13 years ago |
|
|
42729014b6 |
Move namespace tests to root integration module
Prior to this change, spring-beans contained its own META-INF containing spring.handlers and spring.schemas files in src/main/resources; it also had files of the same name within src/test/resources/META-INF, causing 'duplicate resource' warnings and confusion in general. This commit moves the com.foo test package, it's associated namespace parsing tests and test versions of META-INF files to the root project and it's src/test integration testing folder. Issue: SPR-9431 |
13 years ago |
|
|
42b5d6dd7e |
Remove duplicate test classes
Prior to this commit many test utility classes and sample beans were duplicated across projects. This was previously necessary due to the fact that dependent test sources were not shared during a gradle build. Since the introduction of the 'test-source-set-dependencies' gradle plugin this is no longer the case. This commit attempts to remove as much duplicate code as possible, co-locating test utilities and beans in the most suitable project. For example, test beans are now located in the 'spring-beans' project. Some of the duplicated code had started to drift apart when modifications made in one project where not ported to others. All changes have now been consolidated and when necessary existing tests have been refactored to account for the differences. Conflicts: spring-beans/src/test/java/org/springframework/beans/factory/ConcurrentBeanFactoryTests.java spring-beans/src/test/java/org/springframework/beans/factory/support/BeanFactoryGenericsTests.java spring-beans/src/test/java/org/springframework/beans/support/PagedListHolderTests.java |
13 years ago |
|
|
5bcf68e25a |
Use ExtendedBeanInfo on an as-needed basis only
Prior to this change, CachedIntrospectionResults delegated to ExtendedBeanInfo by default in order to inspect JavaBean PropertyDescriptor information for bean classes. Originally introduced with SPR-8079, ExtendedBeanInfo was designed to go beyond the capabilities of the default JavaBeans Introspector in order to support non-void returning setter methods, principally to support use of builder-style APIs within Spring XML. This is a complex affair, and the non-trivial logic in ExtendedBeanInfo has led to various bugs including regressions for bean classes that do not declare non-void returning setters. This commit takes advantage of the new BeanInfoFactory mechanism introduced in SPR-9677 to take ExtendedBeanInfo out of the default code path for CachedIntrospectionResults. Now, the new ExtendedBeanInfoFactory class will be detected and instantiated (per its entry in the META-INF/spring.beanInfoFactories properties file shipped with the spring-beans jar). ExtendedBeanInfoFactory#supports is invoked for all bean classes in order to determine whether they are candidates for ExtendedBeanInfo introspection, i.e. whether they declare non-void returning setter methods. If a class does not declare any such non-standard setter methods (the 99% case), then CachedIntrospectionResults will fall back to the default JavaBeans Introspector. While efforts have been made to fix any bugs with ExtendedBeanInfo, this change means that EBI will not pose any future risk for bean classes that do not declare non-standard setter methods, and also means greater efficiency in general. Issue: SPR-9723, SPR-9677, SPR-8079 |
14 years ago |
|
|
ca017a4880 |
Introduce strategy for BeanInfo creation
Before this commit, the CachedIntrospectionResults was hard-coded to create ExtendedBeanInfos for bean classes. The ExtendedBeanInfo support the JavaBeans property contract only. This commit introduces the BeanInfoFactory, a strategy for creating BeanInfos. Through this strategy, it is possible to support beans that do not necessarily implement the JavaBeans contract (i.e. have a different getter or setter style). BeanInfoFactories are are instantiated by the CachedIntrospectionResults, which looks for 'META-INF/spring.beanInfoFactories' files on the class path. These files contain one or more BeanInfoFactory class names. When a BeanInfo is to be created, the CachedIntrospectionResults will iterate through the factories, asking it to create a BeanInfo for the given bean class. If none of the factories support it, an ExtendedBeanInfo is created as a default. This commit also contains a change to Property, allowing BeanWrapperImpl to specify the property name at construction time (as opposed to using Property#resolveName(), which supports the JavaBeans contract only). Issue: SPR-9677 |
14 years ago |
|
|
c461455c7c |
Infer return type of parametrized factory methods
Currently, if a factory method is parameterized and the corresponding variable types are declared on the method itself instead of on the enclosing class or interface, Spring always predicts the return type to be Object, even if the return type can be explicitly inferred from the method signature and supplied arguments (which are available in the bean definition). This commit introduces a new resolveParameterizedReturnType() method in GenericTypeResolver that attempts to infer the concrete type for the generic return type of a given parameterized method, falling back to the standard return type if necessary. Furthermore, AbstractAutowireCapableBeanFactory now delegates to resolveParameterizedReturnType() when predicting the return type for factory methods. resolveParameterizedReturnType() is capable of inferring the concrete type for return type T for method signatures similar to the following. Such methods may potentially be static. Also, the formal argument list for such methods is not limited to a single argument. - public <T> T foo(Class<T> clazz) - public <T> T foo(Object obj, Class<T> clazz) - public <V, T> T foo(V obj, Class<T> clazz) - public <T> T foo(T obj) Issue: SPR-9493 |
14 years ago |
|
|
183ac0c1ff |
Add value-type attrib to beans->map->entry element
Previously, the <value> subelement of a map <entry> allowed one to
specify the type of a specific map entry value. This patch allows a
value-type attribute as well, such that instead of the following
syntax
<entry key="x-message-ttl">
<value type="java.lang.Long">100</value>
</entry>
<entry key="x-ha-policy" value="all" />
one can now use the more concise form
<entry key="x-message-ttl" value="100" value-type="java.lang.Long"/>
<entry key="x-ha-policy" value="all"/>
The new value-type attribute may be used at the <map> level as well,
indicating that all elements are of the same type.
Appropriate tests have been added exercising value-type at the <map> and
<entry> levels.
Issue: SPR-9249
|
14 years ago |
|
|
02a4473c62 |
Rename modules {org.springframework.*=>spring-*}
This renaming more intuitively expresses the relationship between
subprojects and the JAR artifacts they produce.
Tracking history across these renames is possible, but it requires
use of the --follow flag to `git log`, for example
$ git log spring-aop/src/main/java/org/springframework/aop/Advisor.java
will show history up until the renaming event, where
$ git log --follow spring-aop/src/main/java/org/springframework/aop/Advisor.java
will show history for all changes to the file, before and after the
renaming.
See http://chrisbeams.com/git-diff-across-renamed-directories
|
14 years ago |