Juergen Hoeller
097bcfb997
DefaultListableBeanFactory switches to thread-safe copying for names collections if necessary
...
Issue: SPR-13493
Issue: SPR-13123
Issue: SPR-12503
2015-09-25 15:20:40 +02:00
Juergen Hoeller
d4a23b81e9
Properties values get properly converted to generic Map types (fixing 4.x regression without use of ConversionService)
...
Issue: SPR-13256
2015-08-31 17:20:05 +02:00
Juergen Hoeller
ff9fb9aa88
BeanWrapperImpl.getPropertyDescriptor allows for nested paths again
...
Issue: SPR-13403
2015-08-28 11:17:42 +02:00
Juergen Hoeller
74e6213baf
Lookup method definitions can be overridden in child beans
...
Issue: SPR-13388
2015-08-25 17:08:49 +02:00
Juergen Hoeller
b198cad58e
SimpleAliasRegistry detects circles between non-canonical aliases as well (through hasAlias)
...
Additionally, as an optimization, we skip the re-registration step for existing aliases now.
Issue: SPR-13390
2015-08-25 17:06:23 +02:00
Sam Brannen
f47bbb0d9e
Polish tests
2015-08-12 19:35:45 +02:00
Juergen Hoeller
e0f012f32d
Removal of redundant JdkVersion checks in the test suite
...
Issue: SPR-13312
2015-08-12 18:42:36 +02:00
Stephane Nicoll
2dc674f356
Restore AbstractPropertyAccessor
...
Commit 3d86f15 added a lot of new feature in AbstractPropertyAccessor
shared by both DirectFieldAccessor and BeanWrapperImpl. This makes this
abstract class harder to implement for others having simpler use cases.
It turns that Spring Data has such use case; this commit split these new
features in a dedicated new base class, leaving AbstractPropertyAccessor
untouched.
Issue: SPR-12805
2015-05-22 10:33:28 +02:00
Stephane Nicoll
6fb3190353
Fix regression with binding and validation
...
Previously, the binding may have to call the getter first to retrieve the
old value of a property before actually setting it. This was guarded by
a catch block that was accidentally removed in 3d86f15
Restore that catch block and add a test to cover it.
Issue: SPR-12805
2015-05-21 17:48:11 +02:00
Stephane Nicoll
2ab34373d1
Add possible matches for field access
...
DirectFieldAccessor now support richer NotWritablePropertyException
content, including dedicated error message and possible matches.
Issue: SPR-13053
2015-05-21 15:10:51 +02:00
Stephane Nicoll
3d86f15a84
Merge BeanWrapperImpl and DirectFieldAccessor
...
`BeanWrapperImpl` and `DirectFieldAccessor` are two
`ConfigurablePropertyAccessor` implementations with different features
set.
This commit harmonizes the two implementations to use a common base class
that delegates the actual property handling to the sub-classes:
* `BeanWrapperImpl`: `PropertyDescriptor` and introspection utilities
* `DirectFieldAccessor`: reflection on `java.lang.Field`
Issues: SPR-12206 - SPR-12805
2015-05-21 13:49:55 +02:00
Juergen Hoeller
549e888cd7
CustomBooleanEditor avoids potential NPE in case of allowEmpty=false
...
Issue: SPR-13010
2015-05-11 14:20:19 +02:00
Juergen Hoeller
65ba72f1fc
FactoryBean type check logs currently-in-creation exception at debug level
...
Issue: SPR-12900
2015-04-16 18:16:03 +02:00
Juergen Hoeller
2c637dcb2e
ReaderEditor supports Reader injection analogous to InputStreamEditor (from Spring resource location)
...
Also, EncodedResource implements InputStreamSource now since it declares getInputStream() anyway.
Issue: SPR-12876
2015-04-01 17:02:55 +02:00
Juergen Hoeller
09027f7972
ResolvableType.forRawClass as a straight wrapper for Class.isAssignableFrom
...
Issue: SPR-12846
2015-03-24 19:20:15 +01:00
Juergen Hoeller
b2308926bc
Restored isTypeMatch null behavior and refined typeToMatch parameter name
...
Issue: SPR-12147
2015-03-23 21:57:03 +01:00
Juergen Hoeller
56273a8ff3
Polishing
2015-03-21 01:19:01 +01:00
Juergen Hoeller
192462902e
Consistent support for Java 8 default methods (in interfaces implemented by user classes)
...
Covers ReflectionUtils.doWithMethods as well as affected annotation post-processors.
Includes an extension of MethodMetadata for the detection of @Bean default methods.
Issue: SPR-12822
Issue: SPR-10919
2015-03-19 16:50:15 +01:00
Juergen Hoeller
778a01943b
ResolvableType-based type matching at the BeanFactory API level
...
Issue: SPR-12147
2015-03-18 23:05:13 +01:00
Juergen Hoeller
6fe85c2dd4
PropertyResourceConfigurerTests accepts "." in operating system name
...
Issue: SPR-12794
2015-03-10 14:41:55 +01:00
Sam Brannen
d90cee78ef
Remove trailing whitespace in source code
2015-03-07 21:16:18 +01:00
Juergen Hoeller
9b25d6ad8b
getTypeForFactoryBean suppresses instantiation failures for non-singleton FactoryBeans
...
Issue: SPR-12786
2015-03-06 11:52:27 +01:00
Stephane Nicoll
babbf6e871
Harmonize resources location
...
Issue: SPR-12766
2015-02-28 10:32:40 +01:00
Stephane Nicoll
aa213396b4
BeanWrapper auto-grows arrays if necessary
...
Previously, only indexed access for collections were supported. When
attempting to access the element of an array that had not the requested
size, the call would fail with an IndexOutOfBoundException
This commit harmonize the binding support so that the array is updated
according to the requested index if necessary.
Issue: SPR-12706
2015-02-11 11:29:15 +01:00
Sam Brannen
60cee7f526
Polish ExtendedBeanInfoTests regarding JDK 8u40 compatibility
...
This commit simplifies the test for greater clarify and swaps the
'expected' and 'actual' arguments passed to assertEquals().
Issue: SPR-12582
2015-01-02 16:02:04 +01:00
Juergen Hoeller
7492129236
Revised ExtendedBeanInfo test for SPR-8937 (for JDK 8u40 compatibility)
...
Issue: SPR-12582
2015-01-02 15:18:49 +01:00
Juergen Hoeller
d55af2b445
Consistent throwing of last UnsatisfiedDependencyException if available and no constructor resolved
...
Issue: SPR-12543
2014-12-23 17:35:11 +01:00
Juergen Hoeller
03d4e1bc22
Consistent bridge method handling in annotation post-processors
...
Issue: SPR-12490
Issue: SPR-12495
2014-12-07 20:51:35 +01:00
Juergen Hoeller
15d3b88037
DefaultSingletonBeanRegistry's isDependent defensively checks for circular recursion
...
Issue: SPR-10787
2014-12-07 16:30:31 +01:00
Phillip Webb
87f1512e88
Add protected YamlProcessor.getFlattenedMap method
...
Add a protected getFlattenedMap method to the YamlProcessor that
subclasses can use to flatten a source Map so that it has the same
entries as the Properties, but retains order.
Issue: SPR-12499
2014-12-02 17:17:34 -08:00
Juergen Hoeller
82651a07ab
BeanFactory accepts getBean arguments for non-prototype beans as well
...
Issue: SPR-12488
2014-12-01 20:05:11 +01:00
Juergen Hoeller
efb114d49a
Polishing
2014-11-29 20:49:21 +01:00
Juergen Hoeller
bfbd25a0e9
BeanWrapper auto-growing support for EnumSet / EnumMap
...
Issue: SPR-12483
2014-11-29 20:49:06 +01:00
Juergen Hoeller
e6d7af4ea8
Polishing
2014-11-28 17:36:58 +01:00
Juergen Hoeller
eacd4a181f
ExtendedBeanInfo ignores invalid bean properties (analogous to the JavaBeans Introspector)
...
Issue: SPR-12434
2014-11-27 01:41:48 +01:00
Juergen Hoeller
965bea7b3e
DefaultListableBeanFactory efficiently accesses current bean names and exposes them via getBeanNamesIterator()
...
Issue: SPR-12404
2014-11-01 10:11:20 +01:00
Juergen Hoeller
7d2231541b
Unit tests for java.util.Optional with autowired collections on @Autowired fields/methods and @Bean method parameters
...
Issue: SPR-9132
2014-10-31 15:28:49 +01:00
Stephane Nicoll
8e5c77dc11
Explicit support of String[] value resolution
...
This commit adds an explicit support for String array for value
resolution. <util:properties> switches the 'locations' property to a
String array in 662d8aa and this broke expression evaluation.
Issue: SPR-12391
2014-10-31 07:55:27 +01:00
Juergen Hoeller
9243869763
Test for <util:map> with LinkedCaseInsensitiveMap and specified key/value types
...
Issue: SPR-10994
2014-10-27 12:08:26 +01:00
Juergen Hoeller
8325b10080
Consistent formatting of license headers, package javadocs, and import declarations
2014-10-21 01:44:07 +02:00
Stephane Nicoll
859e1e8003
Check for duplicate keys in YAML map nodes
...
Snake YAML allows for duplicate keys in map nodes. See
https://code.google.com/p/snakeyaml/issues/detail?id=199
This commit uses a dedicated Constructor extension that explicitly
checks for such duplicate keys.
Issue: SPR-12318
2014-10-14 15:58:35 +02:00
Juergen Hoeller
0934751d7a
BeanWrapper supports traversal of nested paths with Java 8 Optional declarations
...
Issue: SPR-12241
2014-09-24 17:56:24 +02:00
Juergen Hoeller
a80495b47d
Avoid use of fragile Swing classes in tests (for compatibility with JDK 8u40)
...
Issue: SPR-12235
2014-09-22 17:47:16 +02:00
Juergen Hoeller
f4219ca06b
Consistent exclusion of bridge methods in annotation post-processors (for Java 8 compatibility)
...
Issue: SPR-12187
2014-09-18 23:45:42 +02:00
Juergen Hoeller
80cec011b7
Log warning for single optional constructor when no default constructor to fall back to
...
Issue: SPR-12161
2014-09-17 13:02:11 +02:00
Juergen Hoeller
5cd59d044e
GenericTypeAwarePropertyDescriptor implements equals/hashCode for proper lookups on IBM JVM 6
...
Issue: SPR-12185
2014-09-16 23:40:10 +02:00
Juergen Hoeller
c8bbd0bae4
Polishing
2014-09-07 22:51:21 +02:00
Juergen Hoeller
c6d29f1a31
Refactored support for @Order on @Bean methods as well as @Priority handling
...
Issue: SPR-11310
Issue: SPR-10548
2014-09-04 00:41:13 +02:00
Juergen Hoeller
662d8aa9f1
util:properties supports multiple resource locations and ignore-resource-not-found
...
Issue: SPR-10614
2014-08-20 16:31:54 +02:00
Juergen Hoeller
eb0ab8431b
Lookup methods can support arguments, find a target bean based on the return type, and be identified by an @Lookup annotation
...
Issue: SPR-7431
Issue: SPR-5192
2014-08-14 23:49:05 +02:00