<?xml version="1.0" encoding="UTF-8"?>
<!--
 * 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.    
-->
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
        targetNamespace="http://scenario10"
        xmlns:tns="http://scenario10"
        name="CompositeC">

    <service name="Service2" promote="ComponentD/Service3">
        <!-- bindings and/or interfaces may or may not be specified explicitly here -->
    </service>
    <service name="Service2a" promote="ComponentD/Service3a">
        <!-- bindings and/or interfaces may or may not be specified explicitly here -->
    </service>
    <reference name="reference2" promote="ComponentD/reference3" multiplicity="1..1">
        <!-- bindings and/or interfaces may or may not be specified explicitly here -->
    </reference>
    <reference name="reference2a" promote="ComponentD/reference3a" multiplicity="1..1">
        <!-- bindings and/or interfaces may or may not be specified explicitly here -->
    </reference>    

    <component name="ComponentD">
        <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentDReferenceMultiplicityImpl"/>
        <service name="Service3">
            <!-- bindings and/or interfaces may or may not be specified explicitly here -->
        </service>
        <service name="Service3a">
            <!-- bindings and/or interfaces may or may not be specified explicitly here -->
        </service>
        <reference name="reference3" target="ComponentD/Service3a">
            <!-- bindings and/or interfaces may or may not be specified explicitly here -->
        </reference>
        <reference name="reference3a" target="ComponentE">
            <!-- bindings and/or interfaces may or may not be specified explicitly here -->
        </reference>        
    </component>
    
    <component name="ComponentE">
        <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentEImpl"/>
        <service name="Service3">
            <binding.sca />
            <binding.ws />
        </service>
    </component>    
</composite>
