Prior to this change, the merge attribute on nested collections was not handled properly which would result in the typical replacement behaviour. This is because during the merging of the parent and child beans the parent bean would have nested BeanDefinition objects while the child would have a property with the nested name (beanA.beanB.propertyName). When it came time to look for matching the property names it would be looking for the nested name which would not exist in the parent.

The implementation of MutablePropertyValues.addProperty(PropertyValue) will now try to find a chain of nested BeanDefinition objects that match the nested property name and walk down the chain of beans and find the property and then merge if applicable.

A JUnit test has been added to check for the new behaviour.

Issue: SPR-9552

I have signed and agree to the terms of the SpringSource Individual Contributor License Agreement.

Comment From: pivotal-issuemaster

@cbaldwin74 Please sign the Contributor License Agreement!

Click here to manually synchronize the status of this Pull Request.

See the FAQ for frequently asked questions.

Comment From: pivotal-cla

@cbaldwin74 Please sign the Contributor License Agreement!

Click here to manually synchronize the status of this Pull Request.

See the FAQ for frequently asked questions.

Comment From: snicoll

Closing as the related issue has been declined