blob: 1151d35dda7d2aa62ee3e43089cde370aa3bf180 [file] [log] [blame]
<?xml version = '1.0' encoding = 'UTF-8'?>
<object-persistence version="Eclipse Persistence Services - 0.1-incubation" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.eclipse.org/eclipselink/xsds/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<name>Employee</name>
<class-mapping-descriptors>
<class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.Address</class>
<alias>Address</alias>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy"/>
<attribute-mappings>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>id</attribute-name>
<field name="ADDRESS_ID/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>street</attribute-name>
<field name="STREET/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>city</attribute-name>
<field name="CITY/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>province</attribute-name>
<field name="PROVINCE/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>country</attribute-name>
<field name="COUNTRY/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>postalCode</attribute-name>
<field name="P_CODE/text()" xsi:type="node"/>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>aggregate</descriptor-type>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<change-policy xsi:type="deferred-detection-change-policy"/>
<datatype>ADDRESS</datatype>
<namespace-resolver/>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.Employee</class>
<alias></alias>
<primary-key>
<field name="EMP_ID/text()" xsi:type="node"/>
</primary-key>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy"/>
<attribute-mappings>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>id</attribute-name>
<field name="EMP_ID/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>firstName</attribute-name>
<field name="F_NAME/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>lastName</attribute-name>
<field name="L_NAME/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>gender</attribute-name>
<field name="GENDER/text()" xsi:type="node"/>
<converter xsi:type="object-type-converter">
<type-mappings>
<type-mapping>
<object-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Male</object-value>
<data-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">M</data-value>
</type-mapping>
<type-mapping>
<object-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Female</object-value>
<data-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">F</data-value>
</type-mapping>
</type-mappings>
</converter>
</attribute-mapping>
<attribute-mapping xsi:type="eis-composite-object-mapping">
<attribute-name>address</attribute-name>
<get-method>getAddress</get-method>
<set-method>setAddress</set-method>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Address</reference-class>
<field name="ADDRESS" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-one-to-many-mapping">
<attribute-name>managedEmployees</attribute-name>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
<indirection xsi:type="value-holder-indirection-policy"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>salary</attribute-name>
<field name="SALARY/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-transformation-mapping">
<attribute-name>normalHours</attribute-name>
<attribute-transformer>org.eclipse.persistence.testing.models.employee.eis.xmlfile.NormalHoursTransformer</attribute-transformer>
<field-transformations>
<field-transformation xsi:type="transformer-based-field-transformation">
<field name="END_TIME/text()" xsi:type="node">
<schema-type>{http://www.w3.org/2001/XMLSchema}time</schema-type>
</field>
<transformer-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.NormalHoursTransformer</transformer-class>
</field-transformation>
<field-transformation xsi:type="transformer-based-field-transformation">
<field name="START_TIME/text()" xsi:type="node">
<schema-type>{http://www.w3.org/2001/XMLSchema}time</schema-type>
</field>
<transformer-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.NormalHoursTransformer</transformer-class>
</field-transformation>
</field-transformations>
</attribute-mapping>
<attribute-mapping xsi:type="eis-composite-object-mapping">
<attribute-name>period</attribute-name>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.EmploymentPeriod</reference-class>
<field name="PERIOD" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-composite-direct-collection-mapping">
<attribute-name>responsibilitiesList</attribute-name>
<get-method>getResponsibilitiesList</get-method>
<set-method>setResponsibilitiesList</set-method>
<field name="RESPONS/text()" xsi:type="node"/>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
</attribute-mapping>
<attribute-mapping xsi:type="eis-one-to-one-mapping">
<attribute-name>manager</attribute-name>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
<foreign-key>
<field-reference>
<source-field name="MANAGER_ID/text()" xsi:type="node"/>
<target-field name="EMP_ID/text()" xsi:type="node"/>
</field-reference>
</foreign-key>
<foreign-key-fields>
<field name="MANAGER_ID/text()" xsi:type="node"/>
</foreign-key-fields>
<indirection xsi:type="value-holder-indirection-policy"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-composite-collection-mapping">
<attribute-name>phoneNumbers</attribute-name>
<get-method>getPhoneNumbers</get-method>
<set-method>setPhoneNumbers</set-method>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.PhoneNumber</reference-class>
<field name="PHONES/PHONE" xsi:type="node"/>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
</attribute-mapping>
<attribute-mapping xsi:type="eis-one-to-many-mapping">
<attribute-name>projects</attribute-name>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Project</reference-class>
<source-foreign-key-fields>
<field name="text()" xsi:type="node"/>
</source-foreign-key-fields>
<target-foreign-key-fields>
<field name="PROJ_ID/text()" xsi:type="node"/>
</target-foreign-key-fields>
<foreign-key-grouping-element name="PROJECTS/PROJ_ID" xsi:type="node"/>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
<indirection xsi:type="value-holder-indirection-policy"/>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>independent</descriptor-type>
<amendment>
<amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeAmendments</amendment-class>
<amendment-method>addToEmployeeDescriptor</amendment-method>
</amendment>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<change-policy xsi:type="deferred-detection-change-policy"/>
<datatype>EMPLOYEE</datatype>
<namespace-resolver/>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.EmploymentPeriod</class>
<alias>EmploymentPeriod</alias>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy"/>
<attribute-mappings>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>endDate</attribute-name>
<field name="END_DATE/text()" xsi:type="node">
<schema-type>{http://www.w3.org/2001/XMLSchema}date</schema-type>
</field>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>startDate</attribute-name>
<field name="START_DATE/text()" xsi:type="node">
<schema-type>{http://www.w3.org/2001/XMLSchema}date</schema-type>
</field>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>aggregate</descriptor-type>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<change-policy xsi:type="deferred-detection-change-policy"/>
<datatype>PERIOD</datatype>
<namespace-resolver/>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.LargeProject</class>
<alias></alias>
<inheritance xsi:type="qname-inheritance-policy">
<parent-class>org.eclipse.persistence.testing.models.employee.domain.Project</parent-class>
</inheritance>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy"/>
<attribute-mappings>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>budget</attribute-name>
<field name="BUDGET/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>milestoneVersion</attribute-name>
<field name="MILESTONE/text()" xsi:type="node">
<schema-type>{http://www.w3.org/2001/XMLSchema}dateTime</schema-type>
</field>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>independent</descriptor-type>
<amendment>
<amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeAmendments</amendment-class>
<amendment-method>addToLargeProjectDescriptor</amendment-method>
</amendment>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<change-policy xsi:type="deferred-detection-change-policy"/>
<datatype>PROJECT</datatype>
<namespace-resolver/>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.PhoneNumber</class>
<alias>PhoneNumber</alias>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy"/>
<attribute-mappings>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>type</attribute-name>
<field name="@TYPE" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>areaCode</attribute-name>
<field name="AREA_CODE/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>number</attribute-name>
<field name="P_NUMBER/text()" xsi:type="node"/>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>aggregate</descriptor-type>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<change-policy xsi:type="deferred-detection-change-policy"/>
<datatype>PHONE</datatype>
<namespace-resolver/>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.Project</class>
<alias></alias>
<primary-key>
<field name="PROJ_ID/text()" xsi:type="node"/>
</primary-key>
<inheritance xsi:type="qname-inheritance-policy">
<class-indicator-field name="@TYPE" xsi:type="column"/>
<class-indicator-mappings>
<class-indicator-mapping>
<class>org.eclipse.persistence.testing.models.employee.domain.SmallProject</class>
<class-indicator xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">S</class-indicator>
</class-indicator-mapping>
<class-indicator-mapping>
<class>org.eclipse.persistence.testing.models.employee.domain.LargeProject</class>
<class-indicator xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">L</class-indicator>
</class-indicator-mapping>
</class-indicator-mappings>
</inheritance>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy"/>
<attribute-mappings>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>id</attribute-name>
<field name="PROJ_ID/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>name</attribute-name>
<field name="PROJ_NAME/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-direct-mapping">
<attribute-name>description</attribute-name>
<field name="DESCRIP/text()" xsi:type="node"/>
</attribute-mapping>
<attribute-mapping xsi:type="eis-one-to-one-mapping">
<attribute-name>teamLeader</attribute-name>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
<foreign-key>
<field-reference>
<source-field name="LEADER_ID/text()" xsi:type="node"/>
<target-field name="EMP_ID/text()" xsi:type="node"/>
</field-reference>
</foreign-key>
<foreign-key-fields>
<field name="LEADER_ID/text()" xsi:type="node"/>
</foreign-key-fields>
<indirection xsi:type="value-holder-indirection-policy"/>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>independent</descriptor-type>
<amendment>
<amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeAmendments</amendment-class>
<amendment-method>addToProjectDescriptor</amendment-method>
</amendment>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<change-policy xsi:type="deferred-detection-change-policy"/>
<datatype>PROJECT</datatype>
<namespace-resolver/>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.SmallProject</class>
<alias></alias>
<inheritance xsi:type="qname-inheritance-policy">
<parent-class>org.eclipse.persistence.testing.models.employee.domain.Project</parent-class>
</inheritance>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy"/>
<descriptor-type>independent</descriptor-type>
<amendment>
<amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeAmendments</amendment-class>
<amendment-method>addToSmallProjectDescriptor</amendment-method>
</amendment>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<change-policy xsi:type="deferred-detection-change-policy"/>
<datatype>PROJECT</datatype>
<namespace-resolver/>
</class-mapping-descriptor>
</class-mapping-descriptors>
<login xsi:type="eis-login">
<connection-spec-class>org.eclipse.persistence.eis.EISConnectionSpec</connection-spec-class>
</login>
</object-persistence>