Commit composite service providing test suite

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@654249 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/tests/tests.composite.service.providing/src/main/resources/metadata.xml b/ipojo/tests/tests.composite.service.providing/src/main/resources/metadata.xml
new file mode 100644
index 0000000..e544b1c
--- /dev/null
+++ b/ipojo/tests/tests.composite.service.providing/src/main/resources/metadata.xml
@@ -0,0 +1,150 @@
+<ipojo>

+	<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 -->

+

+	<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>