<?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;

    <property name="resources.dottedname.prefix" value="applications.application.ejb-bmp-transparent_pool_reconfigApp.resources"/>

    <target name="all" depends="build,deploy,run,undeploy"/>

    <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="glassfish-resources-ear.xml" value="descriptor/glassfish-resources.xml"/>
            <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="setup-derby-for-authentication"/>

        <antcall target="execute-sql-common">
            <param name="sql.file" value="sql/create_pointbase.sql"/>
        </antcall>
        <!--<antcall target="deploy-jdbc-common"/>-->

        <!-- Workaround for issue 18783 -->
        <antcall target="asadmin-common">
            <param name="admin.command" value="create-module-config"/>
            <param name="operand.props"
                   value="ejb-container"/>
       </antcall>
        <!-- Workaround : end -->

        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="server.ejb-container.steady-pool-size=20"/>
        </antcall>

        <antcall target="deploy-common"/>

        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.java:app/ql-jdbc-pool.statement_timeout_in_seconds=30"/>
        </antcall>

        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.java:app/ql-jdbc-pool.steady-pool-size=0"/>
        </antcall>

         <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.java:app/ql-jdbc-pool.max-pool-size=5"/>
        </antcall>


        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.java:app/ql-jdbc-pool.pool-resize-quantity=1"/>
        </antcall>

        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.java:app/ql-jdbc-pool.property.connectionAttributes=;create=true"/>
        </antcall>

        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.java:app/ql-jdbc-pool.property.dynamic-reconfiguration-wait-timeout-in-seconds=120"/>
        </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="0"/>
        </antcall>
    </target>

<!--
<target name="run1" 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>
    </target>
-->


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

    <!--    <antcall target="undeploy-jdbc-common"/>-->

        <antcall target="reset-derby-for-no-authentication"/>

        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="server.ejb-container.steady-pool-size=0"/>
        </antcall>

        <antcall target="undeploy-common"/>
    </target>

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

</project>
