<?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 eeSetup SYSTEM "./../../config/ee-common.xml">
        <!ENTITY eeProperties SYSTEM "./../../config/ee-properties.xml">
        ]>

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

    &commonSetup;
    &commonBuild;
    &run;
    &testproperties;
    <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>
        <antcall target="compile-common">
            <param name="src" value="servlet"/>
        </antcall>
    </target>

    <target name="build" depends="compile">
        <property name="hasWebclient" value="true"/>
        <antcall target="webclient-war-common">
            <param name="hasWebclient" value="yes"/>
            <param name="webclient.war.classes" value="**/*.class"/>
        </antcall>

        <antcall target="ejb-jar-common">
            <param name="ejbjar.classes" value="**/*.class"/>
        </antcall>

        <delete file="${assemble.dir}/${appname}.ear"/>
        <mkdir dir="${assemble.dir}"/>

        <mkdir dir="${build.classes.dir}/META-INF"/>

        <ear earfile="${assemble.dir}/${appname}App.ear"
             appxml="${application.xml}">
             <fileset dir="${assemble.dir}">
                <include name="*.jar"/>
                <include name="*.war"/>
             </fileset>
        </ear>
    </target>

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

        <antcall target="setup"/>
        <antcall target="deploy-common"/>
    </target>

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

    <target name="run-test-1" depends="init-common">
        <antcall target="runwebclient-common">
            <param name="testsuite.id" value="web-to-ejb (ear based)"/>
        </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="unsetup"/>
        <antcall target="undeploy-common"/>
    </target>

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

    <target name="setup" depends="init-common">

        <antcall target="deploy-jdbc-common">
            <param name="jdbc.conpool.name" value="jdbc-maxconnectionusage-pool"/>
            <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="jdbc/maxconnectionusage"/>
        </antcall>



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

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


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


        <antcall target="deploy-jdbc-common">
            <param name="jdbc.conpool.name" value="jdbc-maxconnectionusageXA-pool"/>
            <param name="db.class" value="org.apache.derby.jdbc.ClientXADataSource"/>
            <param name="jdbc.resource.type" value="javax.sql.XADataSource"/>
            <param name="jdbc.resource.name" value="jdbc/maxconnectionusageXA"/>
        </antcall>



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

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


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

    </target>

    <target name="unsetup">
        <antcall target="delete-jdbc-resource-common">
            <param name="jdbc.resource.name" value="jdbc/maxconnectionusage"/>
        </antcall>

        <antcall target="delete-jdbc-connpool-common">
            <param name="jdbc.conpool.name" value="jdbc-maxconnectionusage-pool"/>
        </antcall>

        <antcall target="delete-jdbc-resource-common">
            <param name="jdbc.resource.name" value="jdbc/maxconnectionusageXA"/>
        </antcall>

        <antcall target="delete-jdbc-connpool-common">
            <param name="jdbc.conpool.name" value="jdbc-maxconnectionusageXA-pool"/>
        </antcall>


    </target>

</project>
