<?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</non-jta-data-source>
    <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>
     <properties>
       <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver-pool-xa" />
       <property name="javax.persistence.jdbc.url" value="jdbc:derby:memory:XATEST;create=true" />

        <!-- 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>
    <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>
    <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-pool-xa"/>
      <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>
    <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>
