blob: 90131d8dc919f31094d37fcdc562b047406cd688 [file] [log] [blame]
<!--
~ 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"
xmlns:cs="org.apache.felix.ipojo.test.composite.handler.CheckServiceHandler">
<comp:composite name="composite.bar.1" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.runtime.core.services.BarService"/>
</comp:composite>
<comp:composite name="composite.bar.2" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.runtime.core.services.BarService" aggregate="true"/>
</comp:composite>
<comp:composite name="composite.bar.3" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.runtime.core.services.BarService" optional="true"/>
</comp:composite>
<comp:composite name="composite.bar.4" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.runtime.core.services.FooService" aggregate="true" optional="true"/>
</comp:composite>
<comp:composite name="composite.bar.5-accept" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.runtime.core.services.FooService">
<property name="boolean" value="true"/>
<property name="string" value="foo"/>
<property name="strAprop" value="{foo, bar, baz}"/>
<property name="int" value="5"/>
</subservice>
</comp:composite>
<comp:composite name="composite.bar.5-refuse1" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.runtime.core.services.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>
</comp:composite>
<comp:composite name="composite.bar.5-refuse2" architecture="true">
<subservice action="instantiate" specification="org.apache.felix.ipojo.runtime.core.services.BarService">
<property name="string" value="foo"/>
<property name="strAprop" value="{foo, bar, baz}"/>
</subservice>
</comp:composite>
<!-- Instance of a specified component -->
<comp:composite name="composite.inst.1" 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>
</comp:composite>
<!-- Scope test -->
<component name="SCOPE-provider" classname="org.apache.felix.ipojo.runtime.core.components.ServiceProvider">
<provides/>
</component>
<component name="SCOPE-cons" classname="org.apache.felix.ipojo.runtime.core.components.ServiceConsumer">
<provides/>
<requires field="service"/>
</component>
<comp:composite name="SCOPE-scope">
<instance component="SCOPE-provider"/>
<instance component="SCOPE-cons"/>
</comp:composite>
<comp:composite name="SCOPE-badscope">
<instance component="SCOPE-cons"/>
</comp:composite>
<!-- Instance configuration -->
<comp:composite name="CONF-MySuperComposite">
<instance component="COMPO-FooProviderType-2">
<property name="int" value="3"/>
</instance>
<subservice action="instantiate"
specification="org.apache.felix.ipojo.runtime.core.services.FooService">
<property name="boolean" value="true"/>
<property name="string" value="foo"/>
<property name="strAprop" value="{foo, bar, baz}"/>
<property name="int" value="3"/>
</subservice>
</comp:composite>
</ipojo>