<!-- | |
~ Licensed to the Apache Software Foundation (ASF) under one | |
~ or more contributor license agreements. See the NOTICE file | |
~ distributed with this work for additional information | |
~ regarding copyright ownership. The ASF licenses this file | |
~ to you under the Apache License, Version 2.0 (the | |
~ "License"); you may not use this file except in compliance | |
~ with the License. You may obtain a copy of the License at | |
~ | |
~ http://www.apache.org/licenses/LICENSE-2.0 | |
~ | |
~ Unless required by applicable law or agreed to in writing, | |
~ software distributed under the License is distributed on an | |
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
~ KIND, either express or implied. See the License for the | |
~ specific language governing permissions and limitations | |
~ under the License. | |
--> | |
<ipojo | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="org.apache.felix.ipojo http://felix.apache.org/ipojo/schemas/SNAPSHOT/core.xsd | |
org.apache.felix.composite http://felix.apache.org/ipojo/schemas/SNAPSHOT/composite.xsd" | |
xmlns="org.apache.felix.ipojo" | |
xmlns:comp="org.apache.felix.ipojo.composite"> | |
<comp:composite name="composite.test.3" architecture="true"> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.BazService" | |
aggregate="true" filter="(factory.name=BazProviderType)" /> | |
<comp:provides action="export" | |
specification="org.apache.felix.ipojo.runtime.core.services.BazService" /> | |
</comp:composite> | |
<comp:composite name="composite.test.2" architecture="true"> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.CheckService" | |
filter="(factory.name=Baz2CheckProvider)" /> | |
<comp:provides action="export" | |
specification="org.apache.felix.ipojo.runtime.core.services.CheckService" /> | |
<subservice action="import" | |
specification="org.apache.felix.ipojo.runtime.core.services.BazService" | |
scope="composite" /> | |
</comp:composite> | |
<comp:composite name="composite.test.1" architecture="true"> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.BazService" | |
filter="(factory.name=composite.test.3)" /> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.CheckService" | |
filter="(factory.name=composite.test.2)" /> | |
<comp:provides action="export" | |
specification="org.apache.felix.ipojo.runtime.core.services.CheckService" /> | |
</comp:composite> | |
<comp:composite name="composite.instantiator" architecture="true"> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.BazService" | |
filter="(factory.name=composite.test.3)" /> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.FooService" /> | |
<comp:provides action="export" | |
specification="org.apache.felix.ipojo.runtime.core.services.BazService" /> | |
<comp:provides action="export" | |
specification="org.apache.felix.ipojo.runtime.core.services.FooService" /> | |
</comp:composite> | |
<!-- Test composition provides --> | |
<comp:composite name="comp-0" architecture="true"> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tata" /> | |
<subservice action="import" | |
specification="org.apache.felix.ipojo.runtime.core.services.Toto" /> | |
<comp:provides action="implement" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tota" /> | |
</comp:composite> | |
<comp:composite name="comp-1" architecture="true"> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tata" /> | |
<subservice action="import" | |
specification="org.apache.felix.ipojo.runtime.core.services.Toto" /> | |
<comp:provides action="implement" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tota"> | |
<delegation method="tataInt" policy="One" /> | |
<delegation method="toto1" policy="All" /> | |
</comp:provides> | |
</comp:composite> | |
<comp:composite name="comp-2" architecture="true"> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tata" | |
aggregate="true" /> | |
<subservice action="import" | |
specification="org.apache.felix.ipojo.runtime.core.services.Toto" | |
aggregate="true" /> | |
<comp:provides action="implement" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tota"> | |
<delegation method="tataInt" policy="One" /> | |
<delegation method="toto1" policy="All" /> | |
</comp:provides> | |
</comp:composite> | |
<comp:composite name="comp-3" architecture="true"> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tata" /> | |
<subservice action="import" | |
specification="org.apache.felix.ipojo.runtime.core.services.Toto" | |
optional="true" /> | |
<comp:provides action="implement" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tota"> | |
</comp:provides> | |
</comp:composite> | |
<comp:composite name="comp-4" architecture="true"> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tata" /> | |
<subservice action="import" | |
specification="org.apache.felix.ipojo.runtime.core.services.Toto" | |
optional="true" /> | |
<comp:provides action="implement" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tota"> | |
<delegation method="tataInt" policy="One" /> | |
<delegation method="toto1" policy="All" /> | |
</comp:provides> | |
</comp:composite> | |
<comp:composite name="comp-5" architecture="true"> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tata" | |
aggregate="true" /> | |
<!-- <subservice action="import" specification="org.apache.felix.ipojo.test.comp:composite.service.Toto" aggregate ="true" optional="true"/> --> | |
<comp:provides action="implement" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tota"> | |
<delegation method="tataInt" policy="One" /> | |
<delegation method="toto1" policy="All" /> | |
</comp:provides> | |
</comp:composite> | |
<comp:composite name="comp-6" architecture="true"> | |
<subservice action="instantiate" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tata" | |
aggregate="true" /> | |
<subservice action="import" | |
specification="org.apache.felix.ipojo.runtime.core.services.Toto" | |
aggregate="true" optional="true" /> | |
<comp:provides action="implement" | |
specification="org.apache.felix.ipojo.runtime.core.services.Toto"> | |
<delegation method="toto1" policy="All" /> | |
</comp:provides> | |
<comp:provides action="implement" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tata"> | |
<delegation method="tataInt" policy="One" /> | |
</comp:provides> | |
</comp:composite> | |
<comp:composite name="comp-7" architecture="true"> | |
<instance component="tata" /> | |
<subservice action="import" | |
specification="org.apache.felix.ipojo.runtime.core.services.Toto" /> | |
<comp:provides action="implement" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tota" /> | |
</comp:composite> | |
<comp:composite name="comp-8" architecture="true"> | |
<instance component="tata" /> | |
<instance component="totoglue" /> | |
<subservice action="import" | |
specification="org.apache.felix.ipojo.runtime.core.services.Toto" /> | |
<comp:provides action="implement" | |
specification="org.apache.felix.ipojo.runtime.core.services.Tota" /> | |
</comp:composite> | |
</ipojo> |