<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE project [
<!--

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

        <!ENTITY commonSetup SYSTEM "./../../../config/properties.xml">
        <!ENTITY commonBuild SYSTEM "./../../../config/common.xml">
        <!ENTITY testproperties SYSTEM "./build.properties">
        <!ENTITY run SYSTEM "./../../../config/run.xml">
        <!ENTITY jdbcCommon SYSTEM "./../JdbcCommon.xml">
        <!ENTITY jdbcProperties SYSTEM "./../JdbcCommon.properties">
        ]>

<project name="mix" default="usage" basedir=".">


    &commonSetup;
    &commonBuild;
    &run;
    &testproperties;
    &jdbcCommon;
    &jdbcProperties;

    <target name="all" depends="build,create-jdbc-stuff, deploy,run,undeploy,delete-jdbc-stuff"/>
    <target name="all-assoc-with-thread" depends="build,create-jdbc-stuff, set-assoc-with-thread, deploy,run,undeploy,delete-jdbc-stuff"/>

    <target name="clean" depends="init-common">
        <antcall target="clean-common"/>
    </target>

    <target name="compile" depends="clean">
        <antcall target="compile-common">
            <param name="src" value="ejb"/>
        </antcall>
        <antcall target="compile-common">
            <param name="src" value="client"/>
        </antcall>
    </target>

    <target name="build" depends="compile">
        <antcall target="build-ear-common">
            <param name="ejbjar.classes"
                   value="**/*.class"/>
            <param name="appclientjar.classes"
                   value="**/SimpleBMP.class, **/SimpleBMPHome.class,**/*Client*.class"/>
        </antcall>
    </target>

    <target name="deploy" depends="init-common">
        <antcall target="deploy-common"/>
    </target>

    <target name="sql" depends="init-common">
        <antcall target="execute-sql-common">
            <param name="sql.file" value="sql/create_pointbase.sql"/>
        </antcall>
    </target>

    <target name="run" depends="init-common">
        <antcall target="execute-sql-common">
            <param name="sql.file" value="sql/create_pointbase.sql"/>
        </antcall>

        <antcall target="runclient-common">
            <param name="appclient.application.args" value="1"/>
        </antcall>

        <antcall target="stop-derby"/>
        <antcall target="start-derby"/>

        <antcall target="runclient-common">
            <param name="appclient.application.args" value="2"/>
        </antcall>


        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.${poolname}.connection_validation_method=table"/>
        </antcall>


        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.${poolname}.validation_table_name=sys.systables"/>
        </antcall>

          <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.${poolname}.is_connection_validation_required=true"/>
        </antcall>

        <antcall target="runclient-common">
            <param name="appclient.application.args" value="3"/>
        </antcall>

        <antcall target="stop-derby"/>
        <antcall target="start-derby"/>

        <antcall target="runclient-common">
            <param name="appclient.application.args" value="4"/>
        </antcall>

        <antcall target="execute-sql-common">
            <param name="sql.file" value="sql/drop_pointbase.sql"/>
        </antcall>
    </target>

    <target name="undeploy" depends="init-common">
        <antcall target="undeploy-common"/>
    </target>

    <target name="usage">
        <antcall target="usage-common"/>
    </target>

    <target name="create-jdbc-stuff" depends="init-common">
        <antcall target="deploy-jdbc-common">
            <param name="jdbc.conpool.name" value="${poolname}"/>
            <param name="db.class" value="org.apache.derby.jdbc.ClientDataSource"/>
            <param name="jdbc.resource.type" value="javax.sql.DataSource"/>
            <param name="jdbc.resource.name" value="${resourcename}"/>
        </antcall>
    </target>

    <target name="set-assoc-with-thread" depends="create-jdbc-stuff">
        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.${poolname}.associate_with_thread=true"/>
        </antcall>
    </target>

    <target name="delete-jdbc-stuff" depends="init-common">
        <antcall target="delete-jdbc-resource-common">
            <param name="jdbc.resource.name" value="${resourcename}"/>
        </antcall>

        <antcall target="delete-jdbc-connpool-common">
            <param name="jdbc.conpool.name" value="${poolname}"/>
        </antcall>
    </target>

</project>
