<?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.
-->
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
   version="2.0">
  
  <persistence-unit name="test-unit" transaction-type="RESOURCE_LOCAL">
    <description>Test persistence unit for the JPA Container and Context iTests</description>
    
    <non-jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=testds)</non-jta-data-source>
    <mapping-file>META-INF/custom-mapping.xml</mapping-file>
    <properties>
        <!-- This is to avoid compile time enhancement which would conflict with hibernate -->
        <property name="openjpa.RuntimeUnenhancedClasses" value="supported"/>
    
        <!-- These properties are creating the database on the fly. We are using them to avoid the tests having
          to create a database  -->
        <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
        <property name="openjpa.jdbc.DBDictionary" value="derby"/>

        <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyTenSevenDialect"/>
        <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
    </properties>
  </persistence-unit>
  
   <persistence-unit name="xa-test-unit" transaction-type="JTA">
     <description>Test persistence unit for the JPA Container advanced iTests</description>
     
     <jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=testdsxa)</jta-data-source>
     <mapping-file>META-INF/custom-mapping.xml</mapping-file>
     <properties>
        <!-- These properties are creating the database on the fly. We are using them to avoid the tests having to create a database -->
        <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)" />
        <property name="openjpa.jdbc.DBDictionary" value="derby" />
        <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyTenSevenDialect" />
        <property name="hibernate.hbm2ddl.auto" value="create-drop" />
        <property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=TRACE, Tool=INFO"/>
        </properties>
    </persistence-unit>

  <persistence-unit name="dsf-test-unit" transaction-type="RESOURCE_LOCAL">
    <description>Test persistence unit for the JPA Container DataSourceFactory iTests</description>
    <mapping-file>META-INF/custom-mapping.xml</mapping-file>
    <properties>
        <!-- These properties are creating the database on the fly. We are using them to avoid the tests having
          to create a database  -->
        <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
        <property name="javax.persistence.jdbc.url" value="jdbc:derby:memory:DSFTEST;create=true"/>

        <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
        <property name="openjpa.jdbc.DBDictionary" value="derby"/>
        <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyTenSevenDialect"/>
        <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
    </properties>
  </persistence-unit>
  
  <persistence-unit name="dsf-xa-test-unit" transaction-type="JTA">
    <description>Test persistence unit for the JPA Container DataSourceFactory iTests</description>
    <mapping-file>META-INF/custom-mapping.xml</mapping-file>
    <properties>
      <!-- These properties are creating the database on the fly. We are using them to avoid the tests having to create a database  -->
      <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
      <property name="javax.persistence.jdbc.url" value="jdbc:derby:memory:DSFXATEST;create=true"/>

      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
      <property name="openjpa.jdbc.DBDictionary" value="derby"/>
      <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
      <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyTenSevenDialect"/>
      <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
    </properties>
  </persistence-unit>
  
  <persistence-unit name="external-test-unit">
    <description>Test persistence unit for the JPA Container External DataSource iTests</description>
    <mapping-file>META-INF/custom-mapping.xml</mapping-file>
    <properties>
        <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
        <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
        <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
    </properties>
  </persistence-unit>
</persistence>
