blob: 23636cf4c5bae45938a8f8e726cf27b6846da2b9 [file] [log] [blame]
<ipojo xmlns:cs="org.apache.felix.ipojo.test.composite.handler.CheckServiceHandler">
<!-- Used component type -->
<component
className="org.apache.felix.ipojo.test.composite.component.FooProviderType1"
factory="COMPO-FooProviderType-1" architecture="true">
<provides />
</component>
<component
className="org.apache.felix.ipojo.test.composite.component.FooProviderType1"
name="COMPO-FooProviderType-2" architecture="true">
<provides>
<property name="int" type="int" value="2" />
<property name="long" type="long" value="40" />
<property name="string" type="java.lang.String" value="foo" />
<property name="strAProp" type="java.lang.String[]"
value="{foo, bar}" />
<property name="intAProp" type="int[]" value="{1,2,3}" />
</provides>
</component>
<component
className="org.apache.felix.ipojo.test.composite.component.FooProviderTypeDyn"
name="COMPO-FooProviderType-Dyn" architecture="true">
<provides>
<property name="int" field="intProp" value="2" />
<property name="boolean" field="boolProp" value="false" />
<property name="string" field="strProp" value="foo" />
<property name="strAProp" field="strAProp"
value="{foo, bar}" />
<property name="intAProp" field="intAProp" value="{ 1,2,3}" />
</provides>
</component>
<component
className="org.apache.felix.ipojo.test.composite.component.FooProviderTypeDyn2"
name="COMPO-FooProviderType-Dyn2" factory="true" architecture="true">
<provides>
<property name="int" field="intProp" value="4" />
<property name="boolean" field="boolProp" />
<property name="string" field="strProp" />
<property name="strAProp" field="strAProp" />
<property name="intAProp" field="intAProp"
value="{1, 2,3 }" />
</provides>
</component>
<component
className="org.apache.felix.ipojo.test.composite.component.CheckServiceProvider"
factory="COMPO-SimpleCheckServiceProvider" architecture="true">
<requires field="fs" />
<provides />
</component>
<component
className="org.apache.felix.ipojo.test.composite.component.FooBarProviderType1"
factory="COMPO-FooBarProviderType-1" architecture="true">
<provides />
</component>
<component
className="org.apache.felix.ipojo.test.composite.component.FooBarProviderType1"
factory="COMPO-FooBarProviderType-2" architecture="true">
<provides
interface="{org.apache.felix.ipojo.test.composite.service.FooService, org.apache.felix.ipojo.test.composite.service.BarService }" />
</component>
<component
className="org.apache.felix.ipojo.test.composite.component.FooBarProviderType1"
factory="COMPO-FooBarProviderType-3" architecture="true">
<provides
interface="{org.apache.felix.ipojo.test.composite.service.FooService}">
<property name="baz" type="java.lang.String" value="foo" />
</provides>
<provides
interface="{org.apache.felix.ipojo.test.composite.service.BarService}">
<property name="baz" type="java.lang.String" value="bar" />
</provides>
</component>
<!-- Composite -->
<composite name="composite.empty" factory="true" architecture="true">
</composite>
<composite name="composite.bar.1" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.BarService"/>
</composite>
<composite name="composite.bar.2" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.BarService" aggregate="true"/>
</composite>
<composite name="composite.bar.3" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.BarService" optional="true"/>
</composite>
<composite name="composite.bar.4" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.FooService" aggregate="true" optional="true"/>
</composite>
<composite name="composite.bar.5-accept" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.FooService">
<property name="boolean" value="true"/>
<property name="string" value="foo"/>
<property name="strAprop" value="{foo, bar, baz}"/>
<property name="int" value="5"/>
</subservice>
</composite>
<composite name="composite.bar.5-refuse1" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.BarService">
<property name="foo" value="bar"/>
<property name="boolean" value="true"/>
<property name="string" value="foo"/>
<property name="strAprop" value="{foo, bar, baz}"/>
<property name="int" value="5"/>
</subservice>
</composite>
<composite name="composite.bar.5-refuse2" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.BarService">
<property name="string" value="foo"/>
<property name="strAprop" value="{foo, bar, baz}"/>
</subservice>
</composite>
<composite name="composite.inst.1" factory="true" architecture="true">
<instance component="COMPO-FooProviderType-1" /> <!-- name="FooProv" -->
<instance component="COMPO-FooProviderType-Dyn2">
<property name="boolean" value="true"/>
<property name="string" value="foo"/>
<property name="strAProp" value="{a,b,c}"/>
</instance>
</composite>
<composite name="composite.requires.1" architecture="true">
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.FooService" scope="composite"/>
</composite>
<composite name="composite.requires.2" architecture="true">
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.FooService" aggregate="true" scope="composite"/>
</composite>
<composite name="composite.requires.3" architecture="true">
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.FooService" optional="true" scope="composite"/>
</composite>
<composite name="composite.requires.4" architecture="true">
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.FooService" optional="true" aggregate="true" scope="composite"/>
</composite>
<composite name="composite.requires.5" architecture="true">
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.FooService" filter="(&amp;(int=2)(long=40))" scope="composite"/>
</composite>
<component className="org.apache.felix.ipojo.test.composite.component.BazProviderType1" factory="BazProviderType" scope="composite">
<provides/>
</component>
<composite name="composite.export.1" architecture="true">
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.BazService" aggregate="true" optional="true" filter="(!(instance.name=export))" scope="composite"/>
<provides action="export" specification="org.apache.felix.ipojo.test.composite.service.BazService"/>
</composite>
<composite name="composite.export.2" architecture="true">
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.BazService" scope="composite" aggregate="true" optional="true" filter="(!(instance.name=export))"/>
<provides action="export" specification="org.apache.felix.ipojo.test.composite.service.BazService" optional="true"/>
</composite>
<composite name="composite.export.3" architecture="true">
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.BazService" scope="composite" aggregate="true" optional="true" filter="(!(instance.name=export))"/>
<provides action="export" specification="org.apache.felix.ipojo.test.composite.service.BazService" aggregate="true"/>
</composite>
<composite name="composite.export.4" architecture="true">
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.BazService" aggregate="true" optional="true" filter="(!(instance.name=export))" scope="composite"/>
<provides action="export" specification="org.apache.felix.ipojo.test.composite.service.BazService" aggregate="true" optional="true"/>
</composite>
<composite name="composite.export.5" architecture="true">
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.BazService" aggregate="true" optional="true" filter="(!(instance.name=export))" scope="composite"/>
<provides action="export" specification="org.apache.felix.ipojo.test.composite.service.BazService" filter="(instance.name=foo1)"/>
</composite>
<component className="org.apache.felix.ipojo.test.composite.component.Baz2CheckProvider" factory="Baz2CheckProvider" architecture="true">
<requires field="fs" scope="composite"/>
<provides/>
</component>
<composite name="composite.test.3" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.BazService" aggregate="true" filter="(factory.name=BazProviderType)"/>
<provides action="export" specification="org.apache.felix.ipojo.test.composite.service.BazService"/>
</composite>
<composite name="composite.test.2" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.CheckService" filter="(factory.name=Baz2CheckProvider)"/>
<provides action="export" specification="org.apache.felix.ipojo.test.composite.service.CheckService"/>
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.BazService" scope="composite"/>
</composite>
<composite name="composite.test.1" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.BazService" filter="(factory.name=composite.test.3)" />
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.CheckService" filter="(factory.name=composite.test.2)"/>
<provides action="export" specification="org.apache.felix.ipojo.test.composite.service.CheckService"/>
</composite>
<composite name="composite.instantiator" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.BazService" filter="(factory.name=composite.test.3)"/>
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.FooService"/>
<provides action="export" specification="org.apache.felix.ipojo.test.composite.service.BazService"/>
<provides action="export" specification="org.apache.felix.ipojo.test.composite.service.FooService"/>
</composite>
<!-- Test composition provides -->
<component classname="org.apache.felix.ipojo.test.composite.component.TataProvider" factory="tata">
<provides/>
</component>
<component classname="org.apache.felix.ipojo.test.composite.component.TotoProvider" factory="toto" architecture="true">
<provides/>
</component>
<component classname="org.apache.felix.ipojo.test.composite.component.TotoProviderGlue" factory="totoglue">
<requires field="m_toto" scope="composite"/>
</component>
<composite name="comp-0" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.Tata"/>
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.Toto"/>
<provides action="implement" specification="org.apache.felix.ipojo.test.composite.service.Tota"/>
</composite>
<composite name="comp-1" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.Tata"/>
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.Toto"/>
<provides action="implement" specification="org.apache.felix.ipojo.test.composite.service.Tota">
<delegation method="tataInt" policy="One"/>
<delegation method="toto1" policy="All"/>
</provides>
</composite>
<composite name="comp-2" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.Tata" aggregate="true"/>
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.Toto" aggregate="true"/>
<provides action="implement" specification="org.apache.felix.ipojo.test.composite.service.Tota">
<delegation method="tataInt" policy="One"/>
<delegation method="toto1" policy="All"/>
</provides>
</composite>
<composite name="comp-3" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.Tata"/>
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.Toto" optional="true"/>
<provides action="implement" specification="org.apache.felix.ipojo.test.composite.service.Tota">
</provides>
</composite>
<composite name="comp-4" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.Tata"/>
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.Toto" optional="true"/>
<provides action="implement" specification="org.apache.felix.ipojo.test.composite.service.Tota">
<delegation method="tataInt" policy="One"/>
<delegation method="toto1" policy="All"/>
</provides>
</composite>
<composite name="comp-5" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.Tata" aggregate="true"/>
<!-- <subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.Toto" aggregate ="true" optional="true"/> -->
<provides action="implement" specification="org.apache.felix.ipojo.test.composite.service.Tota">
<delegation method="tataInt" policy="One"/>
<delegation method="toto1" policy="All"/>
</provides>
</composite>
<composite name="comp-6" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.test.composite.service.Tata" aggregate="true"/>
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.Toto" aggregate="true" optional="true"/>
<provides action="implement" specification="org.apache.felix.ipojo.test.composite.service.Toto">
<delegation method="toto1" policy="All"/>
</provides>
<provides action="implement" specification="org.apache.felix.ipojo.test.composite.service.Tata">
<delegation method="tataInt" policy="One"/>
</provides>
</composite>
<composite name="comp-7" architecture="true">
<instance component="tata"/>
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.Toto"/>
<provides action="implement" specification="org.apache.felix.ipojo.test.composite.service.Tota"/>
</composite>
<composite name="comp-8" architecture="true">
<instance component="tata"/>
<instance component="totoglue"/>
<subservice action="import" specification="org.apache.felix.ipojo.test.composite.service.Toto"/>
<provides action="implement" specification="org.apache.felix.ipojo.test.composite.service.Tota"/>
</composite>
</ipojo>