<?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.
-->
<jdoconfig
    xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
    
    <!--
        Default unnamed pmf
    -->
    <persistence-manager-factory
        class="org.datanucleus.jdo.JDOPersistenceManagerFactory"
        connection-driver-name="org.apache.derby.jdbc.EmbeddedDriver"
        connection-url="jdbc:derby:jdotckdb"
        connection-user-name="tckuser"
        connection-password="tckuser"
        optimistic="false"
        restore-values="false"
        retain-values="false"
        mapping="derby"
    >
        <property name="javax.jdo.mapping.Schema" value="schemaDoesNotExist"/> 
        <property name="javax.jdo.option.Mapping" value="standard"/>
        <property name="jdo.tck.mapping" value="0"/>
        <property name="datanucleus.metadata.validate" value="false"/>
        <property name="datanucleus.validateTables" value="false"/>
        <property name="datanucleus.validateConstraints" value="false"/>
        <property name="datanucleus.autoCreateSchema" value="false"/>
        <property name="datanucleus.autoCreateTables" value="false"/>
        <property name="datanucleus.autoCreateConstraints" value="false"/>
        <property name="datanucleus.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
        <property name="datanucleus.connectionPoolingType" value="C3P0"/>
        <property name="datanucleus.implementationCreatorName" value="asm"/>
    </persistence-manager-factory>
    
    <persistence-manager-factory
        name="namedPMF0"
        class="org.datanucleus.jdo.JDOPersistenceManagerFactory"
        connection-driver-name="org.apache.derby.jdbc.EmbeddedDriver"
        connection-url="jdbc:derby:jdotckdb"
        connection-user-name="tckuser"
        connection-password="tckuser"
        optimistic="false"
        restore-values="false"
        retain-values="false"
    >
        
        <property name="javax.jdo.mapping.Schema" value="schemaDoesNotExist"/> 
        <property name="javax.jdo.option.Mapping" value="standard"/>
        <property name="datanucleus.metadata.validate" value="false"/>
        <property name="datanucleus.validateTables" value="false"/>
        <property name="datanucleus.validateConstraints" value="false"/>
        <property name="datanucleus.autoCreateSchema" value="false"/>
        <property name="datanucleus.autoCreateTables" value="false"/>
        <property name="datanucleus.autoCreateConstraints" value="false"/>
        <property name="datanucleus.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
        <property name="datanucleus.connectionPoolingType" value="C3P0"/>
        <property name="datanucleus.implementationCreatorName" value="asm"/>
    </persistence-manager-factory>
    
    <persistence-manager-factory
        name=" namedPMF1  "
        class="org.datanucleus.jdo.JDOPersistenceManagerFactory"
        connection-driver-name="org.apache.derby.jdbc.EmbeddedDriver"
        connection-url="jdbc:derby:jdotckdb"
        connection-user-name="tckuser"
        connection-password="tckuser"
        optimistic="false"
        restore-values="true"
        retain-values="false"
    >
        
        <property name="javax.jdo.mapping.Schema" value="schemaDoesNotExist"/> 
        <property name="javax.jdo.option.Mapping" value="standard"/>
        <property name="datanucleus.metadata.validate" value="false"/>
        <property name="datanucleus.validateTables" value="false"/>
        <property name="datanucleus.validateConstraints" value="false"/>
        <property name="datanucleus.autoCreateSchema" value="false"/>
        <property name="datanucleus.autoCreateTables" value="false"/>
        <property name="datanucleus.autoCreateConstraints" value="false"/>
        <property name="datanucleus.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
        <property name="datanucleus.connectionPoolingType" value="C3P0"/>
        <property name="datanucleus.implementationCreatorName" value="asm"/>
    </persistence-manager-factory>
    
    <persistence-manager-factory
        name="testInstanceLifecycleListenerStore"
        class="org.datanucleus.jdo.JDOPersistenceManagerFactory"
        connection-driver-name="org.apache.derby.jdbc.EmbeddedDriver"
        connection-url="jdbc:derby:jdotckdb"
        connection-user-name="tckuser"
        connection-password="tckuser"
        optimistic="false"
        restore-values="false"
        retain-values="false"
    >
        
        <property name="javax.jdo.mapping.Schema" value="schemaDoesNotExist"/> 
        <property name="javax.jdo.option.Mapping" value="standard"/>
        <property name="datanucleus.metadata.validate" value="false"/>
        <property name="datanucleus.validateTables" value="false"/>
        <property name="datanucleus.validateConstraints" value="false"/>
        <property name="datanucleus.autoCreateSchema" value="false"/>
        <property name="datanucleus.autoCreateTables" value="false"/>
        <property name="datanucleus.autoCreateConstraints" value="false"/>
        <property name="datanucleus.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
        <property name="datanucleus.connectionPoolingType" value="C3P0"/>
        <property name="datanucleus.implementationCreatorName" value="asm"/> 
        
        <instance-lifecycle-listener
            listener="org.apache.jdo.tck.api.persistencemanagerfactory.config.StoreListener"
            classes="org.apache.jdo.tck.pc.mylib.PCPoint"
        />
    </persistence-manager-factory> 

        
    <persistence-manager-factory
        name="testInstanceLifecycleListenerStoreGetInstance"
        class="org.datanucleus.jdo.JDOPersistenceManagerFactory"
        connection-driver-name="org.apache.derby.jdbc.EmbeddedDriver"
        connection-url="jdbc:derby:jdotckdb"
        connection-user-name="tckuser"
        connection-password="tckuser"
        optimistic="false"
        restore-values="false"
        retain-values="false"
    >
        
        <property name="javax.jdo.mapping.Schema" value="schemaDoesNotExist"/> 
        <property name="javax.jdo.option.Mapping" value="standard"/>
        <property name="datanucleus.metadata.validate" value="false"/>
        <property name="datanucleus.validateTables" value="false"/>
        <property name="datanucleus.validateConstraints" value="false"/>
        <property name="datanucleus.autoCreateSchema" value="false"/>
        <property name="datanucleus.autoCreateTables" value="false"/>
        <property name="datanucleus.autoCreateConstraints" value="false"/>
        <property name="datanucleus.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
        <property name="datanucleus.connectionPoolingType" value="C3P0"/>
        <property name="datanucleus.implementationCreatorName" value="asm"/> 
        
        <instance-lifecycle-listener
            listener="org.apache.jdo.tck.api.persistencemanagerfactory.config.StoreListenerGetInstance"
            classes="org.apache.jdo.tck.pc.mylib.PCPoint"
        />
    </persistence-manager-factory> 
        
    <persistence-manager-factory
        name="testInstanceLifecycleListenerStoreOverrides"
        class="org.datanucleus.jdo.JDOPersistenceManagerFactory"
        connection-driver-name="org.apache.derby.jdbc.EmbeddedDriver"
        connection-url="jdbc:derby:jdotckdb"
        connection-user-name="tckuser"
        connection-password="tckuser"
        optimistic="false"
        restore-values="false"
        retain-values="false"
    >
        
        <property name="javax.jdo.mapping.Schema" value="schemaDoesNotExist"/> 
        <property name="javax.jdo.option.Mapping" value="standard"/>
        <property name="datanucleus.metadata.validate" value="false"/>
        <property name="datanucleus.validateTables" value="false"/>
        <property name="datanucleus.validateConstraints" value="false"/>
        <property name="datanucleus.autoCreateSchema" value="false"/>
        <property name="datanucleus.autoCreateTables" value="false"/>
        <property name="datanucleus.autoCreateConstraints" value="false"/>
        <property name="datanucleus.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
        <property name="datanucleus.connectionPoolingType" value="C3P0"/>
        <property name="datanucleus.implementationCreatorName" value="asm"/> 
        
        />
    </persistence-manager-factory> 
        
        
    <persistence-manager-factory
        name="testInstanceLifecycleListenerClassesNull"
        class="org.datanucleus.jdo.JDOPersistenceManagerFactory"
        connection-driver-name="org.apache.derby.jdbc.EmbeddedDriver"
        connection-url="jdbc:derby:jdotckdb"
        connection-user-name="tckuser"
        connection-password="tckuser"
        optimistic="false"
        restore-values="false"
        retain-values="false"
    >
        
        <property name="javax.jdo.mapping.Schema" value="schemaDoesNotExist"/> 
        <property name="javax.jdo.option.Mapping" value="standard"/>
        <property name="datanucleus.metadata.validate" value="false"/>
        <property name="datanucleus.validateTables" value="false"/>
        <property name="datanucleus.validateConstraints" value="false"/>
        <property name="datanucleus.autoCreateSchema" value="false"/>
        <property name="datanucleus.autoCreateTables" value="false"/>
        <property name="datanucleus.autoCreateConstraints" value="false"/>
        <property name="datanucleus.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
        <property name="datanucleus.connectionPoolingType" value="C3P0"/>
        <property name="datanucleus.implementationCreatorName" value="asm"/> 
        
        <!-- Use no classes attribute here - testing null classes behavior -->
        <instance-lifecycle-listener
            listener="org.apache.jdo.tck.api.persistencemanagerfactory.config.StoreListener"
            />
        
    </persistence-manager-factory> 

</jdoconfig>
