<?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.
-->
<jdo xmlns="https://db.apache.org/jdo/xmlns/jdo"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="https://db.apache.org/jdo/xmlns/jdo
     https://db.apache.org/jdo/xmlns/jdo_3_2.xsd">
<!--
This file contains the schema information when an implementation
has application identity.
-->
    <package name="org.apache.jdo.tck.pc.company">

        <class name="Address" embedded-only="true" requires-extent="false"/>

        <class name="MeetingRoom" identity-type="application"
            objectid-class="org.apache.jdo.tck.pc.company.MeetingRoom$Oid">
            <field name="roomid" primary-key="true"/>
        </class>

        <class name="Company"
            identity-type="application"
            objectid-class="org.apache.jdo.tck.pc.company.Company$Oid">
            <field name="companyid" primary-key="true"/>
            <field name="address"
                   field-type="org.apache.jdo.tck.pc.company.Address"
                   persistence-modifier="persistent"/>
            <field name="departments" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.Department"/>
            </field>
        </class>

        <class name="DentalInsurance"
            identity-type="application"
            persistence-capable-superclass="org.apache.jdo.tck.pc.company.Insurance"/>

        <class name="Department"
            identity-type="application"
            objectid-class="org.apache.jdo.tck.pc.company.Department$Oid">
            <field name="deptid" primary-key="true"/>
            <field name="employees" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.Employee"/>
            </field>
            <field name="fundedEmps" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.Employee"/>
            </field>
            <field name="meetingRooms" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.MeetingRoom"/>
                <join/>
            </field>
            <query name="projectingVariables">
	        <![CDATA[
		    select e.firstname
                    where name.startsWith('R&D') && employees.contains(e)
                    variables org.apache.jdo.tck.pc.company.Employee e
	        ]]>  
            </query>
        </class>

        <class name="Employee"
            identity-type="application"
            persistence-capable-superclass="org.apache.jdo.tck.pc.company.Person">
            <field name="reviewedProjects" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.Project"/>
            </field>
            <field name="projects" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.Project"/>
            </field>
            <field name="team" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.Employee"/>
            </field>
            <field name="hradvisees" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.Employee"/>
            </field>
        </class>

        <class name="FullTimeEmployee"
            identity-type="application"
            persistence-capable-superclass="org.apache.jdo.tck.pc.company.Employee">
            <query name="constructor">
	        <![CDATA[
                    select new org.apache.jdo.tck.query.api.SampleQueries$Info (firstname, salary, manager)
                    where department.name == :deptName
	        ]]>
            </query>
            <query name="grouping">
	        <![CDATA[
                    select avg(salary), sum(salary), department.name
                    group by department.name having count(department.name) > 1
                ]]>
            </query>
        </class>

        <class name="Insurance"
            identity-type="application"
            objectid-class="org.apache.jdo.tck.pc.company.Insurance$Oid">
            <field name="insid" primary-key="true"/>
        </class>

        <class name="MedicalInsurance"
            identity-type="application"
            persistence-capable-superclass="org.apache.jdo.tck.pc.company.Insurance"
        />

        <class name="PartTimeEmployee"
            identity-type="application"
            persistence-capable-superclass="org.apache.jdo.tck.pc.company.Employee"/>

        <class name="Person"
            identity-type="application"
            objectid-class="org.apache.jdo.tck.pc.company.Person$Oid">
            <field name="personid" primary-key="true"/>
            <field name="middlename" default-fetch-group="false"/>
            <field name="address"
                   field-type="org.apache.jdo.tck.pc.company.Address"
                   persistence-modifier="persistent"/>
            <field name="phoneNumbers" persistence-modifier="persistent">
                <map key-type="String" value-type="String"/>
            </field>
            <query name="validNotUnique">
                SELECT firstname, lastname 
                INTO org.apache.jdo.tck.query.result.classes.FullName 
                FROM org.apache.jdo.tck.pc.company.Person
            </query>
            <query name="validUnique">
                SELECT UNIQUE firstname, lastname 
                INTO org.apache.jdo.tck.query.result.classes.FullName 
                FROM org.apache.jdo.tck.pc.company.Person 
                WHERE firstname == 'emp1First'
            </query>
            <query name="invalidUnique">
                SELECT UNIQUE firstname, lastname 
                INTO org.apache.jdo.tck.query.result.classes.FullName
                FROM org.apache.jdo.tck.pc.company.Person
            </query>
            <query name="unmodifiable" unmodifiable="true">
                SELECT firstname, lastname 
                FROM org.apache.jdo.tck.pc.company.Person
            </query>
            <query name="packageJDO">
                SELECT FROM org.apache.jdo.tck.pc.company.Person
                WHERE personid > 1
            </query>
            <query name="changeQuery">
                SELECT FROM org.apache.jdo.tck.pc.company.Person
            </query>
            <query name="invalidQuery">
                SeLeCt FrOm org.apache.jdo.tck.pc.company.Person
            </query>
        </class>

        <class name="Project"
            identity-type="application"
            objectid-class="org.apache.jdo.tck.pc.company.Project$Oid">
            <field name="projid" primary-key="true"/>
            <field name="reviewers" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.Employee"/>
            </field>
            <field name="members" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.Employee"/>
            </field>
        </class>

        <interface name="PIAddress" embedded-only="true" requires-extent="false"/>

        <interface name="PICompany"
            identity-type="application">
            <property name="companyid" primary-key="true"/>
            <property name="address"
                   field-type="org.apache.jdo.tck.pc.company.PIAddress"
                   persistence-modifier="persistent"/>
            <property name="departments" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.PIDepartment"/>
            </property>
        </interface>

        <interface name="PIDentalInsurance"
            identity-type="application"/>

        <interface name="PIDepartment"
            identity-type="application">
            <property name="deptid" primary-key="true"/>
            <property name="company"
                   field-type="org.apache.jdo.tck.pc.company.PICompany"
                   persistence-modifier="persistent"/>
            <property name="employeeOfTheMonth"
                   field-type="org.apache.jdo.tck.pc.company.PIEmployee"
                   persistence-modifier="persistent"/>
            <property name="employees" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.PIEmployee"/>
            </property>
            <property name="fundedEmps" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.PIEmployee"/>
            </property>
        </interface>

        <interface name="PIEmployee"
            identity-type="application">
            <property name="dentalInsurance"
                   field-type="org.apache.jdo.tck.pc.company.PIDentalInsurance"
                   persistence-modifier="persistent"/>
            <property name="medicalInsurance"
                   field-type="org.apache.jdo.tck.pc.company.PIMedicalInsurance"
                   persistence-modifier="persistent"/>
            <property name="department"
                   field-type="org.apache.jdo.tck.pc.company.PIDepartment"
                   persistence-modifier="persistent"/>
            <property name="fundingDept"
                   field-type="org.apache.jdo.tck.pc.company.PIDepartment"
                   persistence-modifier="persistent"/>
            <property name="manager"
                   field-type="org.apache.jdo.tck.pc.company.PIEmployee"
                   persistence-modifier="persistent"/>
            <property name="mentor"
                   field-type="org.apache.jdo.tck.pc.company.PIEmployee"
                   persistence-modifier="persistent"/>
            <property name="protege"
                   field-type="org.apache.jdo.tck.pc.company.PIEmployee"
                   persistence-modifier="persistent"/>
            <property name="hradvisor"
                   field-type="org.apache.jdo.tck.pc.company.PIEmployee"
                   persistence-modifier="persistent"/>
            <property name="reviewedProjects" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.PIProject"/>
            </property>
            <property name="projects" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.PIProject"/>
            </property>
            <property name="team" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.PIEmployee"/>
            </property>
            <property name="hradvisees" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.PIEmployee"/>
            </property>
        </interface>

        <interface name="PIFullTimeEmployee"
            identity-type="application"/>

        <interface name="PIInsurance"
            identity-type="application">
            <property name="employee"
                   field-type="org.apache.jdo.tck.pc.company.PIEmployee"
                   persistence-modifier="persistent"/>
            <property name="insid" primary-key="true"/>
        </interface>

        <interface name="PIMedicalInsurance"
            identity-type="application"/>

        <interface name="PIPartTimeEmployee"
            identity-type="application"/>

        <interface name="PIPerson"
            identity-type="application">
            <property name="personid" primary-key="true"/>
            <property name="middlename" default-fetch-group="false"/>
            <property name="address"
                   field-type="org.apache.jdo.tck.pc.company.PIAddress"
                   persistence-modifier="persistent"/>
            <property name="phoneNumbers" persistence-modifier="persistent">
                <map key-type="String" value-type="String"/>
            </property>
            <query name="validNotUnique">
                SELECT firstname, lastname 
                INTO org.apache.jdo.tck.query.result.classes.FullName 
                FROM org.apache.jdo.tck.pc.company.PIPerson
            </query>
            <query name="validUnique">
                SELECT UNIQUE firstname, lastname 
                INTO org.apache.jdo.tck.query.result.classes.FullName 
                FROM org.apache.jdo.tck.pc.company.PIPerson 
                WHERE firstname == 'emp1First'
            </query>
            <query name="invalidUnique">
                SELECT UNIQUE firstname, lastname 
                INTO org.apache.jdo.tck.query.result.classes.FullName
                FROM org.apache.jdo.tck.pc.company.PIPerson
            </query>
            <query name="unmodifiable" unmodifiable="true">
                SELECT firstname, lastname 
                FROM org.apache.jdo.tck.pc.company.PIPerson
            </query>
            <query name="packageJDO">
                SELECT FROM org.apache.jdo.tck.pc.company.PIPerson
                WHERE personid > 1
            </query>
            <query name="changeQuery">
                SELECT FROM org.apache.jdo.tck.pc.company.PIPerson
            </query>
            <query name="invalidQuery">
                SeLeCt FrOm org.apache.jdo.tck.pc.company.PIPerson
            </query>
        </interface>

        <interface name="PIProject"
            identity-type="application">
            <property name="projid" primary-key="true"/>
            <property name="reviewers" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.PIEmployee"/>
            </property>
            <property name="members" persistence-modifier="persistent">
                <collection element-type="org.apache.jdo.tck.pc.company.PIEmployee"/>
            </property>
        </interface>
    </package>
</jdo>
