Hi,

I have prepared a test data xml file for inheritance mapping 2 with all relationships. Note, that the schema for mapping 2 puts some constraints on the object model, as there are:

- Managers, mentors, hradvisors, and employees of the month are fulltime employees. - Only fulltime employees can have insurances, can be project members, and can be project reviewers. - Separate phone number type tables for persons, fulltime employees, and parttime employees.

Please review the attached file if it complies to the constraints above.

Regards,
Michael
--
-------------------------------------------------------------------
Michael Watzek                  [EMAIL PROTECTED] Engineering GmbH
mailto:[EMAIL PROTECTED]        Buelowstr. 66
Tel.:  ++49/30/235 520 36       10783 Berlin - Germany
Fax.:  ++49/30/217 520 12       http://www.spree.de/
-------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd";>

<beans>
    <description>Company instances for CompletenessTest with all relationships</description>

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

    <bean id="company1" class="org.apache.jdo.tck.pc.company.Company">
        <constructor-arg index="0" type="long"><value>1</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Sun Microsystems, Inc.</value></constructor-arg>
        <constructor-arg index="2" type="java.util.Date"><value>11/Apr/1952</value></constructor-arg>
        <constructor-arg index="3" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr1"/></constructor-arg>
        <property name="departments">
            <set>
                <ref local="dept1"/>
                <ref local="dept2"/>
            </set>
        </property>
    </bean>

    <bean id="dept1" class="org.apache.jdo.tck.pc.company.Department">
        <constructor-arg index="0" type="long"><value>1</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String" ><value>Development</value></constructor-arg>
        <property name="company"><ref bean="company1"/></property>
        <property name="employees">
            <set>
                <ref local="emp1"/>
                <ref local="emp2"/>
                <ref local="emp3"/>
            </set>
        </property>
        <property name="fundedEmps">
            <set>
                <ref local="emp2"/>
                <ref local="emp3"/>
            </set>
        </property>
    </bean>

    <bean id="dept2" class="org.apache.jdo.tck.pc.company.Department">
        <constructor-arg index="0" type="long"><value>2</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String" ><value>Human Resources</value></constructor-arg>
        <property name="company"><ref bean="company1"/></property>
        <property name="employees">
            <set>
                <ref local="emp4"/>
                <ref local="emp5"/>
            </set>
        </property>
        <property name="fundedEmps">
            <set>
                <ref local="emp1"/>
                <ref local="emp4"/>
                <ref local="emp5"/>
            </set>
        </property>
    </bean>

    <bean id="emp1" class="org.apache.jdo.tck.pc.company.FullTimeEmployee">
        <constructor-arg index="0" type="long"><value>1</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>emp1First</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>emp1Last</value></constructor-arg>
        <constructor-arg index="3" type="java.lang.String"><value>emp1Middle</value></constructor-arg>
        <constructor-arg index="4" type="java.util.Date"><value>10/Jun/1970</value></constructor-arg>
        <constructor-arg index="5" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr1"/></constructor-arg>
        <constructor-arg index="6" type="java.util.Date"><value>1/Jan/1999</value></constructor-arg>
        <constructor-arg index="7" type="double"><value>20000</value></constructor-arg>
        <property name="weeklyhours"><value>40</value></property>
        <property name="medicalInsurance"><ref bean="medicalIns1"/></property>
        <property name="dentalInsurance"><ref bean="dentalIns1"/></property>
        <property name="phoneNumbers">
	        <map>
                <entry key="home"><value>1111</value></entry>
                <entry key="work"><value>123456-1</value></entry>
            </map>
	    </property>
        <property name="department"><ref bean="dept1"/></property>
        <property name="fundingDept"><ref bean="dept2"/></property>
        <property name="manager"><ref bean="emp2"/></property>
        <property name="mentor"><ref bean="emp2"/></property>
        <property name="protege"><ref bean="emp3"/></property>
        <property name="hradvisor"><ref bean="emp5"/></property>
        <property name="reviewedProjects">
            <set>
                <ref local="proj3"/>
            </set>
        </property>
        <property name="projects">
            <set>
                <ref local="proj1"/>
            </set>
        </property>
    </bean>
    <bean id="emp2" class="org.apache.jdo.tck.pc.company.FullTimeEmployee">
        <constructor-arg index="0" type="long"><value>2</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>emp2First</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>emp2Last</value></constructor-arg>
        <constructor-arg index="3" type="java.lang.String"><value>emp2Middle</value></constructor-arg>
        <constructor-arg index="4" type="java.util.Date"><value>22/Dec/1975</value></constructor-arg>
        <constructor-arg index="5" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr2"/></constructor-arg>
        <constructor-arg index="6" type="java.util.Date"><value>1/Jul/2003</value></constructor-arg>
        <constructor-arg index="7" type="double"><value>10000</value></constructor-arg>
        <property name="weeklyhours"><value>40</value></property>
        <property name="medicalInsurance"><ref bean="medicalIns2"/></property>
        <property name="dentalInsurance"><ref bean="dentalIns2"/></property>
        <property name="phoneNumbers">
	        <map>
                <entry key="home"><value>2222</value></entry>
                <entry key="work"><value>123456-2</value></entry>
            </map>
	    </property>
        <property name="department"><ref bean="dept1"/></property>
        <property name="fundingDept"><ref bean="dept1"/></property>
        <property name="protege"><ref bean="emp1"/></property>
        <property name="hradvisor"><ref bean="emp5"/></property>
        <property name="projects">
            <set>
                <ref local="proj1"/>
                <ref local="proj2"/>
            </set>
        </property>
        <property name="team">
            <set>
                <ref local="emp1"/>
                <ref local="emp3"/>
                <ref local="emp4"/>
                <ref local="emp5"/>
            </set>
        </property>
    </bean>
    <bean id="emp3" class="org.apache.jdo.tck.pc.company.PartTimeEmployee">
        <constructor-arg index="0" type="long"><value>3</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>emp3First</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>emp3Last</value></constructor-arg>
        <constructor-arg index="3" type="java.lang.String"><value>emp3Middle</value></constructor-arg>
        <constructor-arg index="4" type="java.util.Date"><value>5/Sep/1972</value></constructor-arg>
        <constructor-arg index="5" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr3"/></constructor-arg>
        <constructor-arg index="6" type="java.util.Date"><value>15/Aug/2002</value></constructor-arg>
        <constructor-arg index="7" type="double"><value>15000</value></constructor-arg>
        <property name="weeklyhours"><value>19</value></property>
        <property name="phoneNumbers">
	        <map>
                <entry key="home"><value>3333</value></entry>
                <entry key="work"><value>123456-3</value></entry>
            </map>
	    </property>
        <property name="department"><ref bean="dept1"/></property>
        <property name="fundingDept"><ref bean="dept1"/></property>
        <property name="manager"><ref bean="emp2"/></property>
        <property name="mentor"><ref bean="emp1"/></property>
        <property name="hradvisor"><ref bean="emp5"/></property>
    </bean>
    <bean id="emp4" class="org.apache.jdo.tck.pc.company.PartTimeEmployee">
        <constructor-arg index="0" type="long"><value>4</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>emp4First</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>emp4Last</value></constructor-arg>
        <constructor-arg index="3" type="java.lang.String"><value>emp4Middle</value></constructor-arg>
        <constructor-arg index="4" type="java.util.Date"><value>6/Sep/1973</value></constructor-arg>
        <constructor-arg index="5" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr3"/></constructor-arg>
        <constructor-arg index="6" type="java.util.Date"><value>15/Apr/2001</value></constructor-arg>
        <constructor-arg index="7" type="double"><value>13000</value></constructor-arg>
        <property name="phoneNumbers">
	        <map>
                <entry key="home"><value>3343</value></entry>
                <entry key="work"><value>124456-3</value></entry>
            </map>
	    </property>
        <property name="department"><ref bean="dept2"/></property>
        <property name="fundingDept"><ref bean="dept2"/></property>
        <property name="manager"><ref bean="emp2"/></property>
        <property name="mentor"><ref bean="emp5"/></property>
        <property name="hradvisor"><ref bean="emp5"/></property>
    </bean>
    <bean id="emp5" class="org.apache.jdo.tck.pc.company.FullTimeEmployee">
        <constructor-arg index="0" type="long"><value>5</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>emp5First</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>emp5Last</value></constructor-arg>
        <constructor-arg index="3" type="java.lang.String"><value>emp5Middle</value></constructor-arg>
        <constructor-arg index="4" type="java.util.Date"><value>5/Jul/1962</value></constructor-arg>
        <constructor-arg index="5" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr3"/></constructor-arg>
        <constructor-arg index="6" type="java.util.Date"><value>15/Aug/1998</value></constructor-arg>
        <constructor-arg index="7" type="double"><value>45000</value></constructor-arg>
        <property name="medicalInsurance"><ref bean="medicalIns5"/></property>
        <property name="dentalInsurance"><ref bean="dentalIns5"/></property>
        <property name="phoneNumbers">
	        <map>
                <entry key="home"><value>3363</value></entry>
                <entry key="work"><value>126456-3</value></entry>
            </map>
	    </property>
        <property name="department"><ref bean="dept2"/></property>
        <property name="fundingDept"><ref bean="dept2"/></property>
        <property name="manager"><ref bean="emp2"/></property>
        <property name="protege"><ref bean="emp4"/></property>
        <property name="projects">
            <set>
                <ref local="proj3"/>
            </set>
        </property>
        <property name="reviewedProjects">
            <set>
                <ref local="proj2"/>
            </set>
        </property>
        <property name="hradvisees">
            <set>
                <ref local="emp1"/>
                <ref local="emp2"/>
                <ref local="emp3"/>
                <ref local="emp4"/>
            </set>
        </property>
    </bean>

    <bean id="addr1" class="org.apache.jdo.tck.pc.company.Address">
        <constructor-arg index="0" type="long"><value>1</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Unter den Linden 1</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>Berlin</value></constructor-arg>
        <constructor-arg index="3" type="java.lang.String"><value>  </value></constructor-arg>
        <constructor-arg index="4" type="java.lang.String"><value>12345</value></constructor-arg>
        <constructor-arg index="5" type="java.lang.String"><value>Germany</value></constructor-arg>
    </bean>
    <bean id="addr2" class="org.apache.jdo.tck.pc.company.Address">
        <constructor-arg index="0" type="long"><value>2</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Broadway 1</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>New York</value></constructor-arg>
        <constructor-arg index="3" type="java.lang.String"><value>NY</value></constructor-arg>
        <constructor-arg index="4" type="java.lang.String"><value>10000</value></constructor-arg>
        <constructor-arg index="5" type="java.lang.String"><value>USA</value></constructor-arg>
    </bean>
    <bean id="addr3" class="org.apache.jdo.tck.pc.company.Address">
        <constructor-arg index="0" type="long"><value>3</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Market St.</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>San Francisco</value></constructor-arg>
        <constructor-arg index="3" type="java.lang.String"><value>CA</value></constructor-arg>
        <constructor-arg index="4" type="java.lang.String"><value>94102</value></constructor-arg>
        <constructor-arg index="5" type="java.lang.String"><value>USA</value></constructor-arg>
    </bean>

    <bean id="medicalIns1" class="org.apache.jdo.tck.pc.company.MedicalInsurance">
        <constructor-arg index="0" type="long"><value>1</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Carrier1</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>PPO</value></constructor-arg>
        <property name="employee"><ref bean="emp1"/></property>
    </bean>

    <bean id="medicalIns2" class="org.apache.jdo.tck.pc.company.MedicalInsurance">
        <constructor-arg index="0" type="long"><value>2</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Carrier2</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>HMO</value></constructor-arg>
        <property name="employee"><ref bean="emp2"/></property>
    </bean>

    <bean id="medicalIns3" class="org.apache.jdo.tck.pc.company.MedicalInsurance">
        <constructor-arg index="0" type="long"><value>3</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Carrier3</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>HMO</value></constructor-arg>
    </bean>

    <bean id="medicalIns4" class="org.apache.jdo.tck.pc.company.MedicalInsurance">
        <constructor-arg index="0" type="long"><value>4</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Carrier4</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>HMO</value></constructor-arg>
    </bean>

    <bean id="medicalIns5" class="org.apache.jdo.tck.pc.company.MedicalInsurance">
        <constructor-arg index="0" type="long"><value>5</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Carrier5</value></constructor-arg>
        <constructor-arg index="2" type="java.lang.String"><value>HMO</value></constructor-arg>
        <property name="employee"><ref bean="emp5"/></property>
    </bean>

    <bean id="dentalIns1" class="org.apache.jdo.tck.pc.company.DentalInsurance">
        <constructor-arg index="0" type="long"><value>11</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Carrier1</value></constructor-arg>
        <constructor-arg index="2" type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
        <property name="employee"><ref bean="emp1"/></property>
    </bean>

    <bean id="dentalIns2" class="org.apache.jdo.tck.pc.company.DentalInsurance">
        <constructor-arg index="0" type="long"><value>12</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Carrier2</value></constructor-arg>
        <constructor-arg index="2" type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
        <property name="employee"><ref bean="emp2"/></property>
    </bean>

    <bean id="dentalIns3" class="org.apache.jdo.tck.pc.company.DentalInsurance">
        <constructor-arg index="0" type="long"><value>13</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Carrier3</value></constructor-arg>
        <constructor-arg index="2" type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
    </bean>

    <bean id="dentalIns4" class="org.apache.jdo.tck.pc.company.DentalInsurance">
        <constructor-arg index="0" type="long"><value>14</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Carrier4</value></constructor-arg>
        <constructor-arg index="2" type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
    </bean>

    <bean id="dentalIns5" class="org.apache.jdo.tck.pc.company.DentalInsurance">
        <constructor-arg index="0" type="long"><value>15</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>Carrier5</value></constructor-arg>
        <constructor-arg index="2" type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
        <property name="employee"><ref bean="emp5"/></property>
    </bean>

    <bean id="proj1" class="org.apache.jdo.tck.pc.company.Project">
        <constructor-arg index="0" type="long"><value>1</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>orange</value></constructor-arg>
        <constructor-arg index="2" type="java.math.BigDecimal"><value>2500000.99</value></constructor-arg>
        <property name="members">
            <set>
                <ref local="emp1"/>
                <ref local="emp2"/>
            </set>
        </property>
    </bean>
    <bean id="proj2" class="org.apache.jdo.tck.pc.company.Project">
        <constructor-arg index="0" type="long"><value>2</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>blue</value></constructor-arg>
        <constructor-arg index="2" type="java.math.BigDecimal"><value>50000.00</value></constructor-arg>
        <property name="reviewers">
            <set>
                <ref local="emp5"/>
            </set>
        </property>
        <property name="members">
            <set>
                <ref local="emp2"/>
            </set>
        </property>
    </bean>
    <bean id="proj3" class="org.apache.jdo.tck.pc.company.Project">
        <constructor-arg index="0" type="long"><value>3</value></constructor-arg>
        <constructor-arg index="1" type="java.lang.String"><value>green</value></constructor-arg>
        <constructor-arg index="2" type="java.math.BigDecimal"><value>2000.99</value></constructor-arg>
        <property name="reviewers">
            <set>
                <ref local="emp1"/>
            </set>
        </property>
        <property name="members">
            <set>
                <ref local="emp5"/>
            </set>
        </property>
    </bean>
</beans>

Reply via email to