Commit the new iPOJO version (0.7.6).

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@642265 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/tests/tests.composite/src/main/resources/metadata.xml b/ipojo/tests/tests.composite/src/main/resources/metadata.xml
new file mode 100644
index 0000000..2357580
--- /dev/null
+++ b/ipojo/tests/tests.composite/src/main/resources/metadata.xml
@@ -0,0 +1,221 @@
+<ipojo xmlns:cs="org.apache.felix.ipojo.test.composite.handler.CheckServiceHandler">

+	<!--  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.scenarios.service.BarService"/>

+	</composite>

+	

+	<composite name="composite.bar.2" architecture="true">

+		<subservice action="instantiate" specification="org.apache.felix.ipojo.test.scenarios.service.BarService" aggregate="true"/>

+	</composite>

+	

+	<composite name="composite.bar.3" architecture="true">

+		<subservice action="instantiate" specification="org.apache.felix.ipojo.test.scenarios.service.BarService" optional="true"/>

+	</composite>

+	

+	<composite name="composite.bar.4" architecture="true">

+		<subservice action="instantiate" specification="org.apache.felix.ipojo.test.scenarios.service.FooService" aggregate="true" optional="true"/>

+	</composite>

+	

+	<composite name="composite.bar.5-accept" architecture="true">

+		<subservice action="instantiate" specification="org.apache.felix.ipojo.test.scenarios.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.scenarios.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.scenarios.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="FooProviderType-1" /> <!-- name="FooProv"  -->

+		<instance component="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.scenarios.service.FooService" scope="composite"/>

+	</composite>

+	

+	<composite name="composite.requires.2" architecture="true">

+		<subservice action="import" specification="org.apache.felix.ipojo.test.scenarios.service.FooService" aggregate="true" scope="composite"/>

+	</composite>

+	

+	<composite name="composite.requires.3" architecture="true">

+		<subservice action="import" specification="org.apache.felix.ipojo.test.scenarios.service.FooService" optional="true" scope="composite"/>

+	</composite>

+	

+	<composite name="composite.requires.4" architecture="true">

+		<subservice action="import" specification="org.apache.felix.ipojo.test.scenarios.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.scenarios.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.scenarios.service.BazService" aggregate="true" optional="true" filter="(!(instance.name=export))" scope="composite"/>

+		<provides action="export" specification="org.apache.felix.ipojo.test.scenarios.service.BazService"/>

+	</composite>

+	

+	<composite name="composite.export.2" architecture="true">

+		<subservice action="import" specification="org.apache.felix.ipojo.test.scenarios.service.BazService" scope="composite" aggregate="true" optional="true" filter="(!(instance.name=export))"/>

+		<provides action="export" specification="org.apache.felix.ipojo.test.scenarios.service.BazService" optional="true"/>

+	</composite>

+	

+	<composite name="composite.export.3" architecture="true">

+		<subservice action="import" specification="org.apache.felix.ipojo.test.scenarios.service.BazService" scope="composite" aggregate="true" optional="true" filter="(!(instance.name=export))"/>

+		<provides action="export" specification="org.apache.felix.ipojo.test.scenarios.service.BazService" aggregate="true"/>

+	</composite>

+	

+	<composite name="composite.export.4" architecture="true">

+		<subservice action="import" specification="org.apache.felix.ipojo.test.scenarios.service.BazService" aggregate="true" optional="true" filter="(!(instance.name=export))" scope="composite"/>

+		<provides action="export" specification="org.apache.felix.ipojo.test.scenarios.service.BazService" aggregate="true" optional="true"/>

+	</composite>

+	

+	<composite name="composite.export.5" architecture="true">

+		<subservice action="import" specification="org.apache.felix.ipojo.test.scenarios.service.BazService" aggregate="true" optional="true" filter="(!(instance.name=export))" scope="composite"/>

+		<provides action="export" specification="org.apache.felix.ipojo.test.scenarios.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.scenarios.service.BazService" aggregate="true" filter="(factory.name=BazProviderType)"/>

+		<provides action="export" specification="org.apache.felix.ipojo.test.scenarios.service.BazService"/>

+	</composite>

+	

+	<composite name="composite.test.2" architecture="true">

+		<subservice action="instantiate" specification="org.apache.felix.ipojo.test.scenarios.service.CheckService" filter="(factory.name=Baz2CheckProvider)"/>

+		<provides action="export" specification="org.apache.felix.ipojo.test.scenarios.service.CheckService"/>

+		<subservice action="import" specification="org.apache.felix.ipojo.test.scenarios.service.BazService" scope="composite"/>

+	</composite>

+	

+	<composite name="composite.test.1" architecture="true">

+		<subservice action="instantiate" specification="org.apache.felix.ipojo.test.scenarios.service.BazService" filter="(factory.name=composite.test.3)" />

+		<subservice action="instantiate" specification="org.apache.felix.ipojo.test.scenarios.service.CheckService" filter="(factory.name=composite.test.2)"/>

+		<provides action="export" specification="org.apache.felix.ipojo.test.scenarios.service.CheckService"/>

+	</composite>

+

+	<composite name="composite.instantiator" architecture="true">

+				<subservice action="instantiate" specification="org.apache.felix.ipojo.test.scenarios.service.BazService" filter="(factory.name=composite.test.3)"/>

+				<subservice action="instantiate" specification="org.apache.felix.ipojo.test.scenarios.service.FooService"/>

+				<provides action="export" specification="org.apache.felix.ipojo.test.scenarios.service.BazService"/>

+				<provides action="export" specification="org.apache.felix.ipojo.test.scenarios.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>