<?xml version="1.0" encoding="US-ASCII"?>
<!--

    Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0 which is available at
    http://www.eclipse.org/legal/epl-2.0,
    or the Eclipse Distribution License v. 1.0 which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause

-->

<sessions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://www.eclipse.org/eclipselink/xsds/eclipselink_sessions_2.1.xsd" version="0">
    <session xsi:type="database-session">
        <name>XMLMarshallerTestSession</name>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.xmlmarshaller.XMLMarshallerTestProject</primary-project>
    </session>
    <session xsi:type="database-session">
        <name>XMLMarshallerTestSession2</name>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.xmlmarshaller.XMLMarshallerCarProject</primary-project>
    </session>
    <session xsi:type="database-session">
        <name>XMLMarshallerEventsTestSession</name>
        <event-listener-classes>
            <event-listener-class>org.eclipse.persistence.testing.oxm.xmlmarshaller.XMLMarshallerEventListener</event-listener-class>
        </event-listener-classes>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.xmlmarshaller.XMLMarshallerTestProject</primary-project>
    </session>
    <session xsi:type="database-session">
        <name>InheritanceSession</name>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.inheritance.InheritanceProject</primary-project>
    </session>
    <session xsi:type="database-session">
        <name>ConverterSession</name>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.converter.ConverterProject</primary-project>
    </session>
    <session xsi:type="database-session">
        <name>TransformationMappingSession</name>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.mappings.transformation.TransformationMappingTestProject</primary-project>
    </session>
    <session xsi:type="database-session">
        <name>DocumentPreservationSession</name>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.documentpreservation.DocPreservationTestProject</primary-project>
    </session>
    <session xsi:type="database-session">
        <name>TwoProjects-Customer-DOM</name>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.xmlmarshaller.twoprojects.CustomerProject</primary-project>
        <login xsi:type="xml-login">
            <platform-class>org.eclipse.persistence.oxm.platform.DOMPlatform</platform-class>
        </login>
    </session>
    <session xsi:type="database-session">
        <name>TwoProjects-Employee-DOM</name>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.xmlmarshaller.twoprojects.EmployeeProject</primary-project>
        <login xsi:type="xml-login">
            <platform-class>org.eclipse.persistence.oxm.platform.DOMPlatform</platform-class>
        </login>
    </session>
    <session xsi:type="database-session">
        <name>TwoProjects-Customer-SAX</name>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.xmlmarshaller.twoprojects.CustomerProject</primary-project>
        <login xsi:type="xml-login">
            <platform-class>org.eclipse.persistence.oxm.platform.SAXPlatform</platform-class>
        </login>
    </session>
    <session xsi:type="database-session">
        <name>TwoProjects-Employee-SAX</name>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.xmlmarshaller.twoprojects.EmployeeProject</primary-project>
        <login xsi:type="xml-login">
            <platform-class>org.eclipse.persistence.oxm.platform.SAXPlatform</platform-class>
        </login>
    </session>
    <session xsi:type="database-session">
       <name>org.eclipse.persistence.testing.oxm.schemamodelgenerator.mappings.pathbased</name>
       <primary-project xsi:type="xml">org/eclipse/persistence/testing/oxm/schemamodelgenerator/mappings/pathbased/Customer-deployment.xml</primary-project>
    </session>
    <session xsi:type="database-session">
        <name>TopLinkSession</name>
        <primary-project xsi:type="class">org.eclipse.persistence.testing.oxm.xmlmarshaller.twoprojects.EmployeeProject</primary-project>
        <login xsi:type="xml-login">
            <platform-class>oracle.toplink.ox.platform.SAXPlatform</platform-class>
        </login>
    </session>
</sessions>
