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

      https://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.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <description>Order instances for CompletenessTest of compound identity</description>

    <bean id="root" class="java.util.ArrayList">
        <constructor-arg index="0">
            <list>
                <ref bean="order1"/>
            </list>
        </constructor-arg>
    </bean>

    <bean id="order1" factory-bean="orderFactory" factory-method="newOrder">
        <constructor-arg index="0" type="long"><value>1</value></constructor-arg>
        <constructor-arg index="1" type="long"><value>3</value></constructor-arg>
        <property name="items">
            <set>
                <ref bean="item1"/>
                <ref bean="item2"/>
            </set>
        </property>
    </bean>

    <bean id="item1" factory-bean="orderFactory" factory-method="newOrderItem">
        <constructor-arg index="0" type="org.apache.jdo.tck.pc.order.Order">
            <ref bean="order1"/></constructor-arg>
        <constructor-arg index="1" type="long" ><value>1</value>
        </constructor-arg>
        <constructor-arg index="2" type="java.lang.String" >
            <value>SunRay</value></constructor-arg>
        <constructor-arg index="3" type="int" ><value>15</value>
        </constructor-arg>
    </bean>

    <bean id="item2" factory-bean="orderFactory" factory-method="newOrderItem">
        <constructor-arg index="0" type="org.apache.jdo.tck.pc.order.Order">
            <ref bean="order1"/></constructor-arg>
        <constructor-arg index="1" type="long" ><value>1</value>
        </constructor-arg>
        <constructor-arg index="2" type="java.lang.String" >
            <value>Sun Ultra 40</value></constructor-arg>
        <constructor-arg index="3" type="int" ><value>3</value>
        </constructor-arg>
    </bean>

</beans>

