[
https://issues.apache.org/jira/browse/ARIES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16115460#comment-16115460
]
ASF subversion and git services commented on ARIES-1733:
--------------------------------------------------------
Commit 1804199 from [~alien11689] in branch 'aries/trunk'
[ https://svn.apache.org/r1804199 ]
[ARIES-1733] Inject array, set or list of beans by annotation
> 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)