<?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
  
       https://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.api.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.xml.validate" value="false"/>
        <property name="datanucleus.schema.validateTables" value="false"/>
        <property name="datanucleus.schema.validateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateAll" value="false"/>
        <property name="datanucleus.schema.autoCreateTables" value="false"/>
        <property name="datanucleus.schema.autoCreateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
    </persistence-manager-factory>
    
    <persistence-manager-factory
        name="namedPMF0"
        class="org.datanucleus.api.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.xml.validate" value="false"/>
        <property name="datanucleus.schema.validateTables" value="false"/>
        <property name="datanucleus.schema.validateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateAll" value="false"/>
        <property name="datanucleus.schema.autoCreateTables" value="false"/>
        <property name="datanucleus.schema.autoCreateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
    </persistence-manager-factory>
    
    <persistence-manager-factory
        name=" namedPMF1  "
        class="org.datanucleus.api.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.xml.validate" value="false"/>
        <property name="datanucleus.schema.validateTables" value="false"/>
        <property name="datanucleus.schema.validateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateAll" value="false"/>
        <property name="datanucleus.schema.autoCreateTables" value="false"/>
        <property name="datanucleus.schema.autoCreateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
    </persistence-manager-factory>
    
    <persistence-manager-factory
        name="testInstanceLifecycleListenerStore"
        class="org.datanucleus.api.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.xml.validate" value="false"/>
        <property name="datanucleus.schema.validateTables" value="false"/>
        <property name="datanucleus.schema.validateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateAll" value="false"/>
        <property name="datanucleus.schema.autoCreateTables" value="false"/>
        <property name="datanucleus.schema.autoCreateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
        
        <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.api.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.xml.validate" value="false"/>
        <property name="datanucleus.schema.validateTables" value="false"/>
        <property name="datanucleus.schema.validateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateAll" value="false"/>
        <property name="datanucleus.schema.autoCreateTables" value="false"/>
        <property name="datanucleus.schema.autoCreateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
        
        <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.api.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.xml.validate" value="false"/>
        <property name="datanucleus.schema.validateTables" value="false"/>
        <property name="datanucleus.schema.validateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateAll" value="false"/>
        <property name="datanucleus.schema.autoCreateTables" value="false"/>
        <property name="datanucleus.schema.autoCreateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
        
        />
    </persistence-manager-factory> 
        
        
    <persistence-manager-factory
        name="testInstanceLifecycleListenerClassesNull"
        class="org.datanucleus.api.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.xml.validate" value="false"/>
        <property name="datanucleus.schema.validateTables" value="false"/>
        <property name="datanucleus.schema.validateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateAll" value="false"/>
        <property name="datanucleus.schema.autoCreateTables" value="false"/>
        <property name="datanucleus.schema.autoCreateConstraints" value="false"/>
        <property name="datanucleus.schema.autoCreateColumns" value="false"/>
        <property name="datanucleus.rdbms.CheckExistTablesOrViews" value="false"/>
        <property name="datanucleus.autoStartMechanism" value="None"/>
        
        <!-- 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>
