Dominik Przybysz created ARIES-1733: ---------------------------------------
Summary: Injecting array, set or list of beans in BMP Key: ARIES-1733 URL: https://issues.apache.org/jira/browse/ARIES-1733 Project: Aries Issue Type: New Feature Components: Blueprint Reporter: Dominik Przybysz Assignee: Dominik Przybysz Fix For: blueprint-maven-plugin-1.7.0 Bean like this: {code} @Bean public class BeanWithCollections { @CollectionInject(I1.class) List<I1> listFieldInject; @CollectionInject(I1.class) Set<I1> setFieldInject; @CollectionInject(I2.class) I2[] arrayFieldInject; @AnnotatedService @CollectionInject(I1.class) Set<I1> annotatedSetFieldInject; @CollectionInject(I1.class) public void setListSetterInject(List<I1> l) { } @CollectionInject(I2.class) public void setSetSetterInject(Set<I1> l) { } @CollectionInject(I1.class) public void setArraySetterInject(I1[] l) { } @AnnotatedService @CollectionInject(I2.class) public void setAnnotatedArraySetterInject(I2[] l) { } public BeanWithCollections( @CollectionInject(I1.class) List<I1> listOfI1, @CollectionInject(I1.class) Set<I1> setOfI1, @CollectionInject(I2.class) I2[] arrayOfI2, @CollectionInject(I1.class) @AnnotatedService List<I1> listOfAnnotatedI1, @CollectionInject(I3.class) List<I3> listOfNotExistingI3, @CollectionInject(I3.class) Set<I3> setOfNotExistingI3, @CollectionInject(I3.class) I3[] arrayOfNotExistingI3 ) { } } {code} should be generated in blueprint xml as: {code} <bean xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0" id="beanWithCollections" class="org.apache.aries.blueprint.plugin.test.collection.BeanWithCollections" ext:field-injection="true"> <argument> <list> <ref component-id="i1Impl1"/> <ref component-id="i1Impl2"/> <ref component-id="i1Impl3Annotated"/> <ref component-id="i1Impl4Annotated"/> </list> </argument> <argument> <set> <ref component-id="i1Impl1"/> <ref component-id="i1Impl2"/> <ref component-id="i1Impl3Annotated"/> <ref component-id="i1Impl4Annotated"/> </set> </argument> <argument> <array> <ref component-id="i2Impl1"/> <ref component-id="i2Impl2Annotated"/> <ref component-id="i2Impl3Annotated"/> </array> </argument> <argument> <list> <ref component-id="i1Impl3Annotated"/> <ref component-id="i1Impl4Annotated"/> </list> </argument> <argument> <list/> </argument> <argument> <set/> </argument> <argument> <array/> </argument> <property name="annotatedArraySetterInject"> <array> <ref component-id="i2Impl2Annotated"/> <ref component-id="i2Impl3Annotated"/> </array> </property> <property name="annotatedSetFieldInject"> <set> <ref component-id="i1Impl3Annotated"/> <ref component-id="i1Impl4Annotated"/> </set> </property> <property name="arrayFieldInject"> <array> <ref component-id="i2Impl1"/> <ref component-id="i2Impl2Annotated"/> <ref component-id="i2Impl3Annotated"/> </array> </property> <property name="arraySetterInject"> <array> <ref component-id="i1Impl1"/> <ref component-id="i1Impl2"/> <ref component-id="i1Impl3Annotated"/> <ref component-id="i1Impl4Annotated"/> </array> </property> <property name="listFieldInject"> <list> <ref component-id="i1Impl1"/> <ref component-id="i1Impl2"/> <ref component-id="i1Impl3Annotated"/> <ref component-id="i1Impl4Annotated"/> </list> </property> <property name="listSetterInject"> <list> <ref component-id="i1Impl1"/> <ref component-id="i1Impl2"/> <ref component-id="i1Impl3Annotated"/> <ref component-id="i1Impl4Annotated"/> </list> </property> <property name="setFieldInject"> <set> <ref component-id="i1Impl1"/> <ref component-id="i1Impl2"/> <ref component-id="i1Impl3Annotated"/> <ref component-id="i1Impl4Annotated"/> </set> </property> <property name="setSetterInject"> <set> <ref component-id="i2Impl1"/> <ref component-id="i2Impl2Annotated"/> <ref component-id="i2Impl3Annotated"/> </set> </property> </bean> {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)