<?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" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    <persistence-unit name="enhance">
        <class>org.apache.openjpa.slice.PObject</class>
        <class>org.apache.openjpa.slice.Person</class>
        <class>org.apache.openjpa.slice.Address</class>
        <class>org.apache.openjpa.slice.Country</class>
    </persistence-unit>


   <!-- ==================================================================== -->
   <!-- Configuration for testing basic per-slice configuration              -->
   <!-- ==================================================================== -->
   <persistence-unit name="per-slice">
      <properties>
         <property name="openjpa.BrokerFactory"        value="slice"/>
         <property name="openjpa.slice.Names"          value="One,Two, Three"/>
         <property name="openjpa.slice.Master"         value="One"/>
         <property name="openjpa.slice.Lenient"        value="true"/>

         <property name="openjpa.slice.DistributionPolicy"  value="org.apache.openjpa.slice.policy.UserDistributionPolicy"/>
         <property name="openjpa.slice.ThreadingPolicy"     value="fixed"/>

         <property name="openjpa.ConnectionDriverName"      value="org.apache.derby.jdbc.EmbeddedDriver"/>
         <property name="openjpa.ConnectionUserName"        value=""/>
         <property name="openjpa.ConnectionPassword"        value=""/>
         <property name="openjpa.slice.One.ConnectionURL"   value="jdbc:derby:target/database/openjpa-slice1;create=true"/>
         <property name="openjpa.slice.Two.ConnectionURL"   value="jdbc:derby:target/database/openjpa-slice2;create=true"/>
         <property name="openjpa.slice.Three.ConnectionURL" value="jdbc:some-bad-url"/>

         <property name="openjpa.DynamicEnhancementAgent"   value="false"/>

      </properties>
   </persistence-unit>

   <persistence-unit name="XA">
      <class>org.apache.openjpa.slice.PObject</class>
      <properties>
         <property name="openjpa.BrokerFactory" value="slice"/>
         <property name="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>

         <property name="openjpa.slice.Names" value="One,Two"/>
         <property name="openjpa.slice.DistributionPolicy" value="org.apache.openjpa.slice.policy.UserDistributionPolicy"/>

         <property name="openjpa.ConnectionUserName"        value=""/>
         <property name="openjpa.ConnectionPassword"        value=""/>
         <property name="openjpa.slice.One.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
         <property name="openjpa.slice.One.ConnectionURL" value="jdbc:derby:target/database/openjpa-slice1;create=true"/>
         <property name="openjpa.slice.Two.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
         <property name="openjpa.slice.Two.ConnectionURL" value="jdbc:derby:target/database/openjpa-slice2;create=true"/>

         <property name="openjpa.Multithreaded" value="false"/>
         <property name="openjpa.jdbc.SynchronizeMappings" value="refresh"/>
         <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>

         <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
         <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      </properties>
   </persistence-unit>

   <!-- ==================================================================== -->
   <!-- Configuration for testing basic CRUD operations                      -->
   <!-- ==================================================================== -->
   <persistence-unit name="slice">
        <class>org.apache.openjpa.slice.PObject</class>
        <class>org.apache.openjpa.slice.Person</class>
        <class>org.apache.openjpa.slice.Address</class>
        <class>org.apache.openjpa.slice.Country</class>
		<properties>
            <property name="openjpa.BrokerFactory" value="slice"/>
            <property name="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
            <property name="openjpa.slice.Names" value="One,Two"/>
            <property name="openjpa.slice.Master" value="Two"/>
            <property name="openjpa.slice.One.ConnectionURL" value="jdbc:derby:target/database/openjpa-slice1;create=true"/>
            <property name="openjpa.slice.Two.ConnectionURL" value="jdbc:derby:target/database/openjpa-slice2;create=true"/>
            <property name="openjpa.ConnectionUserName" value=""/>
            <property name="openjpa.ConnectionPassword" value=""/>
            <property name="openjpa.slice.DistributionPolicy" value="org.apache.openjpa.slice.policy.UserDistributionPolicy"/>
            <property name="openjpa.slice.Lenient" value="false"/>

            <property name="openjpa.Connection2URL" value="jdbc:derby:target/database/openjpa-slice1;create=true"/>
	        <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
            <property name="openjpa.QueryCompilationCache" value="false"/>
            <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>

            <property name="openjpa.slice.ReplicatedTypes" value="org.apache.openjpa.slice.Country"/>

            <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
            <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      	</properties>
   </persistence-unit>

      <persistence-unit name="ordering">
        <class>org.apache.openjpa.slice.PObject</class>
        <class>org.apache.openjpa.slice.Person</class>
        <class>org.apache.openjpa.slice.Address</class>
        <class>org.apache.openjpa.slice.Country</class>
        <class>org.apache.openjpa.slice.Car</class>
        <class>org.apache.openjpa.slice.Manufacturer</class>
        <properties>
            <property name="openjpa.BrokerFactory" value="slice"/>
            <property name="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
            <property name="openjpa.slice.Even.ConnectionURL" value="jdbc:derby:target/database/openjpa-slice1;create=true"/>
            <property name="openjpa.slice.Odd.ConnectionURL" value="jdbc:derby:target/database/openjpa-slice2;create=true"/>
            <property name="openjpa.ConnectionUserName" value=""/>
            <property name="openjpa.ConnectionPassword" value=""/>
            <property name="openjpa.slice.DistributionPolicy" value="org.apache.openjpa.slice.policy.EvenOddDistributionPolicy"/>
            <property name="openjpa.slice.Lenient" value="false"/>

            <property name="openjpa.Connection2URL" value="jdbc:derby:target/database/openjpa-slice1;create=true"/>
            <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
            <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>
            <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
            <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
        </properties>
   </persistence-unit>

   <persistence-unit name="mysql">
      <properties>
         <property name="openjpa.BrokerFactory" value="slice"/>
         <property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>

         <property name="openjpa.slice.Names" value="One,Two"/>
         <property name="openjpa.slice.DistributionPolicy" value="org.apache.openjpa.slice.policy.UserDistributionPolicy"/>

         <property name="openjpa.ConnectionUserName"        value="root"/>
         <property name="openjpa.ConnectionPassword"        value=""/>
         <property name="openjpa.slice.One.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
         <property name="openjpa.slice.One.ConnectionURL" value="jdbc:mysql://localhost/slice1"/>
         <property name="openjpa.slice.Two.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
         <property name="openjpa.slice.Two.ConnectionURL" value="jdbc:mysql://localhost/slice2"/>

         <property name="openjpa.Multithreaded" value="false"/>
         <property name="openjpa.jdbc.SynchronizeMappings" value="refresh"/>
         <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>
            <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
            <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      </properties>
   </persistence-unit>

   <persistence-unit name="mariadb">
      <properties>
         <property name="openjpa.BrokerFactory" value="slice"/>
         <property name="openjpa.ConnectionDriverName" value="org.mariadb.jdbc.Driver"/>

         <property name="openjpa.slice.Names" value="One,Two"/>
         <property name="openjpa.slice.DistributionPolicy" value="org.apache.openjpa.slice.policy.UserDistributionPolicy"/>

         <property name="openjpa.ConnectionUserName"        value="root"/>
         <property name="openjpa.ConnectionPassword"        value=""/>
         <property name="openjpa.slice.One.ConnectionDriverName" value="org.mariadb.jdbc.Driver"/>
         <property name="openjpa.slice.One.ConnectionURL" value="jdbc:mysql://localhost/slice1"/>
         <property name="openjpa.slice.Two.ConnectionDriverName" value="org.mariadb.jdbc.Driver"/>
         <property name="openjpa.slice.Two.ConnectionURL" value="jdbc:mysql://localhost/slice2"/>

         <property name="openjpa.Multithreaded" value="false"/>
         <property name="openjpa.jdbc.SynchronizeMappings" value="refresh"/>
         <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>
            <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
            <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      </properties>
   </persistence-unit>

   <persistence-unit name="replication">
   	  <class>org.apache.openjpa.slice.ReplicatedParent</class>
   	  <class>org.apache.openjpa.slice.ReplicatedChild</class>

      <properties>
         <property name="openjpa.BrokerFactory" value="slice"/>
         <property name="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>

         <property name="openjpa.slice.Names" value="One,Two"/>
         <property name="openjpa.slice.DistributionPolicy" value="org.apache.openjpa.slice.policy.UserDistributionPolicy"/>

         <property name="openjpa.ConnectionUserName" value=""/>
         <property name="openjpa.ConnectionPassword" value=""/>

         <property name="openjpa.slice.One.ConnectionURL" value="jdbc:derby:target/database/openjpa-slice1;create=true"/>
         <property name="openjpa.slice.Two.ConnectionURL" value="jdbc:derby:target/database/openjpa-slice2;create=true"/>

         <property name="openjpa.slice.ReplicatedTypes" value="org.apache.openjpa.slice.ReplicatedParent,org.apache.openjpa.slice.ReplicatedChild"/>
         <property name="openjpa.Multithreaded" value="false"/>
         <property name="openjpa.Log" value="DefaultLevel=INFO, Enhance=TRACE, SQL=TRACE"/>
         <property name="openjpa.jdbc.SynchronizeMappings" value="refresh"/>
         <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>
         <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
         <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      </properties>
   </persistence-unit>

   <persistence-unit name="car">
   	  <class>org.apache.openjpa.slice.Car</class>
   	  <class>org.apache.openjpa.slice.Manufacturer</class>

      <properties>
         <property name="openjpa.BrokerFactory" value="slice"/>
         <property name="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>

         <property name="openjpa.slice.Names" value="BMW,Honda,Ford"/>

         <property name="openjpa.ConnectionUserName" value=""/>
         <property name="openjpa.ConnectionPassword" value=""/>

         <property name="openjpa.slice.BMW.ConnectionURL" value="jdbc:derby:target/database/bmw;create=true"/>
         <property name="openjpa.slice.Honda.ConnectionURL" value="jdbc:derby:target/database/honda;create=true"/>
         <property name="openjpa.slice.Ford.ConnectionURL" value="jdbc:derby:target/database/ford;create=true"/>

         <property name="openjpa.Multithreaded" value="false"/>
         <property name="openjpa.Log" value="DefaultLevel=INFO, Enhance=TRACE, SQL=TRACE"/>
         <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=native)"/>
         <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>
            <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
            <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      </properties>
   </persistence-unit>


   <persistence-unit name="car.mysql">
      <properties>
         <property name="openjpa.BrokerFactory" value="slice"/>
         <property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>

         <property name="openjpa.slice.Names" value="BMW,Honda,Ford"/>

         <property name="openjpa.ConnectionUserName"        value="root"/>
         <property name="openjpa.ConnectionPassword"        value=""/>
         <property name="openjpa.slice.BMW.ConnectionURL" value="jdbc:mysql://localhost/bmw"/>
         <property name="openjpa.slice.Honda.ConnectionURL" value="jdbc:mysql://localhost/ford"/>
         <property name="openjpa.slice.Ford.ConnectionURL" value="jdbc:mysql://localhost/honda"/>

         <property name="openjpa.Multithreaded" value="false"/>
         <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=native)"/>
         <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>
         <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
         <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      </properties>
   </persistence-unit>

   <persistence-unit name="car.mariadb">
      <properties>
         <property name="openjpa.BrokerFactory" value="slice"/>
         <property name="openjpa.ConnectionDriverName" value="org.mariadb.jdbc.Driver"/>

         <property name="openjpa.slice.Names" value="BMW,Honda,Ford"/>

         <property name="openjpa.ConnectionUserName"        value="root"/>
         <property name="openjpa.ConnectionPassword"        value=""/>
         <property name="openjpa.slice.BMW.ConnectionURL" value="jdbc:mysql://localhost/bmw"/>
         <property name="openjpa.slice.Honda.ConnectionURL" value="jdbc:mysql://localhost/ford"/>
         <property name="openjpa.slice.Ford.ConnectionURL" value="jdbc:mysql://localhost/honda"/>

         <property name="openjpa.Multithreaded" value="false"/>
         <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=native)"/>
         <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>
         <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
         <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      </properties>
   </persistence-unit>

   <persistence-unit name="perf.mysql.slice">
   		<class>org.apache.openjpa.slice.Person</class>
   		<class>org.apache.openjpa.slice.Address</class>
   		<class>org.apache.openjpa.slice.Country</class>

      <properties>
         <property name="openjpa.BrokerFactory" value="slice"/>
         <property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource"/>

         <property name="openjpa.slice.Names" value="S1,S2,S3,S4"/>

         <property name="openjpa.ConnectionUserName"        value="root"/>
         <property name="openjpa.ConnectionPassword"        value=""/>
         <property name="openjpa.slice.S1.ConnectionProperties" value="DriverClassName=com.mysql.jdbc.Driver,Url=jdbc:mysql://localhost/S1,MaxActive=4"/>
         <property name="openjpa.slice.S2.ConnectionProperties" value="DriverClassName=com.mysql.jdbc.Driver,Url=jdbc:mysql://localhost/S2,MaxActive=4"/>
         <property name="openjpa.slice.S3.ConnectionProperties" value="DriverClassName=com.mysql.jdbc.Driver,Url=jdbc:mysql://localhost/S3,MaxActive=4"/>
         <property name="openjpa.slice.S4.ConnectionProperties" value="DriverClassName=com.mysql.jdbc.Driver,Url=jdbc:mysql://localhost/S4,MaxActive=4"/>

         <property name="openjpa.jdbc.DBDictionary"        value="mysql"/>
         <property name="openjpa.Multithreaded" value="false"/>
         <property name="openjpa.jdbc.SynchronizeMappings" value="refresh"/>
         <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>
         <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
         <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="perf.mysql.mono">
   		<class>org.apache.openjpa.slice.Person</class>
   		<class>org.apache.openjpa.slice.Address</class>
   		<class>org.apache.openjpa.slice.Country</class>

      <properties>
         <property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource"/>

         <property name="openjpa.ConnectionUserName"        value="root"/>
         <property name="openjpa.ConnectionPassword"        value=""/>
         <property name="openjpa.ConnectionProperties" value="DriverClassName=com.mysql.jdbc.Driver,Url=jdbc:mysql://localhost/S,MaxActive=4"/>

         <property name="openjpa.jdbc.DBDictionary"        value="mysql"/>
         <property name="openjpa.Multithreaded" value="false"/>
         <property name="openjpa.jdbc.SynchronizeMappings" value="refresh"/>
         <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>
         <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
         <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      </properties>
   </persistence-unit>

   <persistence-unit name="perf.mariadb.slice">
        <class>org.apache.openjpa.slice.Person</class>
        <class>org.apache.openjpa.slice.Address</class>
        <class>org.apache.openjpa.slice.Country</class>

      <properties>
         <property name="openjpa.BrokerFactory" value="slice"/>
         <property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource"/>

         <property name="openjpa.slice.Names" value="S1,S2,S3,S4"/>

         <property name="openjpa.ConnectionUserName"        value="root"/>
         <property name="openjpa.ConnectionPassword"        value=""/>
         <property name="openjpa.slice.S1.ConnectionProperties" value="DriverClassName=org.mariadb.jdbc.Driver,Url=jdbc:mysql://localhost/S1,MaxActive=4"/>
         <property name="openjpa.slice.S2.ConnectionProperties" value="DriverClassName=org.mariadb.jdbc.Driver,Url=jdbc:mysql://localhost/S2,MaxActive=4"/>
         <property name="openjpa.slice.S3.ConnectionProperties" value="DriverClassName=org.mariadb.jdbc.Driver,Url=jdbc:mysql://localhost/S3,MaxActive=4"/>
         <property name="openjpa.slice.S4.ConnectionProperties" value="DriverClassName=org.mariadb.jdbc.Driver,Url=jdbc:mysql://localhost/S4,MaxActive=4"/>

         <property name="openjpa.jdbc.DBDictionary"        value="mariadb"/>
         <property name="openjpa.Multithreaded" value="false"/>
         <property name="openjpa.jdbc.SynchronizeMappings" value="refresh"/>
         <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>
         <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
         <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="perf.mariadb.mono">
        <class>org.apache.openjpa.slice.Person</class>
        <class>org.apache.openjpa.slice.Address</class>
        <class>org.apache.openjpa.slice.Country</class>

      <properties>
         <property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource"/>

         <property name="openjpa.ConnectionUserName"        value="root"/>
         <property name="openjpa.ConnectionPassword"        value=""/>
         <property name="openjpa.ConnectionProperties" value="DriverClassName=org.mariadb.jdbc.Driver,Url=jdbc:mysql://localhost/S,MaxActive=4"/>

         <property name="openjpa.jdbc.DBDictionary"        value="mariadb"/>
         <property name="openjpa.Multithreaded" value="false"/>
         <property name="openjpa.jdbc.SynchronizeMappings" value="refresh"/>
         <property name="openjpa.jdbc.MappingDefaults" value="DefaultMissingInfo=true"/>
         <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
         <property name="openjpa.DynamicEnhancementAgent"   value="false"/>
      </properties>
   </persistence-unit>
</persistence>
