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

    <bean id="root" class="java.util.ArrayList">
        <constructor-arg index="0">
            <list>
                <ref bean="primitiveTypesPositive"/>
                <ref bean="primitiveTypesNegative"/>
                <ref bean="pcClass1"/>
                <ref bean="pcClass2"/>
                <ref bean="primitiveTypesCharacterStringLiterals"/>
            </list>
        </constructor-arg>
    </bean>

    <bean id="primitiveTypesPositive" 
        class="org.apache.jdo.tck.pc.mylib.PrimitiveTypes">
        <property name="id"><value>1</value></property>
        <property name="intNotNull"><value>4</value></property>
        <property name="intNull"><value>4</value></property>
        <property name="longNotNull"><value>4</value></property>
        <property name="longNull"><value>4</value></property>
        <property name="floatNotNull"><value>4.0</value></property>
        <property name="floatNull"><value>4.0</value></property>
        <property name="doubleNotNull"><value>4.0</value></property>
        <property name="doubleNull"><value>4.0</value></property>
    </bean>

    <bean id="primitiveTypesNegative" 
        class="org.apache.jdo.tck.pc.mylib.PrimitiveTypes">
        <property name="id"><value>2</value></property>
        <property name="intNotNull"><value>-4</value></property>
        <property name="intNull"><value>-4</value></property>
        <property name="longNotNull"><value>-4</value></property>
        <property name="longNull"><value>-4</value></property>
        <property name="floatNotNull"><value>-4.0</value></property>
        <property name="floatNull"><value>-4.0</value></property>
        <property name="doubleNotNull"><value>-4.0</value></property>
        <property name="doubleNull"><value>-4.0</value></property>
    </bean>

    <bean id="pcClass1" class="org.apache.jdo.tck.pc.mylib.PCClass">
        <property name="id"><value>1</value></property>
        <property name="number1"><value>10</value></property>
        <property name="number2"><value>10</value></property>
    </bean>

    <bean id="pcClass2" class="org.apache.jdo.tck.pc.mylib.PCClass">
        <property name="id"><value>2</value></property>
        <property name="number1"><value>20</value></property>
        <property name="number2"><value>20</value></property>
    </bean>

    <bean id="primitiveTypesCharacterStringLiterals" 
        class="org.apache.jdo.tck.pc.mylib.PrimitiveTypes">
        <property name="id"><value>3</value></property>
        <property name="charNotNull"><value>O</value></property>
        <property name="charNull"><value>O</value></property>
        <property name="stringNull"><value>Even</value></property>
    </bean>
</beans>
