<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:test="http://www.mulesource.org/schema/mule/test/2.0"
       xmlns:mule="http://www.mulesource.org/schema/mule/core/2.0"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
       http://www.mulesource.org/schema/mule/test/2.0 http://www.mulesource.org/schema/mule/test/2.0/mule-test.xsd
       http://www.mulesource.org/schema/mule/core/2.0 http://www.mulesource.org/schema/mule/core/2.0/mule.xsd">

    <mule:mule>

        <mule:model name="main" inherit="true">

            <mule:service name="testPropertiesComponent">
                <mule:inbound>
                    <mule:inbound-endpoint address="test://blah?transformers=TestCompressionTransformer&amp;responseTransformers=TestCompressionTransformer"/>
                </mule:inbound>
                <mule:component>
                    <mule:spring-object bean="prop-test-ref"/>
                </mule:component>
            </mule:service>

        </mule:model>

    </mule:mule>

    <bean name="anApple" class="org.mule.tck.testmodels.fruit.Apple"/>

    <bean name="prop-test-ref" class="org.mule.tck.testmodels.fruit.Apple">
        <property name="bitten" value="true"/>
        <property name="washed" value="true"/>
    </bean>

    <bean name="factory-test" class="org.mule.tck.testmodels.mule.TestDependentObject"/>

    <bean name="factoryObject" factory-bean="factory-test" factory-method="create">
        <constructor-arg>
            <map>
                <entry key="test1" value="test1"/>
                <entry key="test2" value="test2"/>
                <entry key="containerObject" value-ref="anApple"/>
                <entry key="osVersion" value="${os.version}"/>
                <!-- no defaults -->
                <entry key="propertiesMap">
                    <map>
                        <entry key="test1" value="test1"/>
                        <entry key="test2" value="test2"/>
                        <entry key="containerObject" value-ref="anApple"/>
                        <entry key="osVersion" value="${os.version}"/>
                        <!-- no nested factory (could repeat, but life is short...) -->
                    </map>
                </entry>
                <entry key="propertiesList">
                    <list>
                        <value>test1</value>
                        <value>test2</value>
                        <ref bean="anApple"/>
                        <value>${os.version}</value>
                    </list>
                </entry>
            </map>
        </constructor-arg>
    </bean>

</beans>
