<?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">
        ]>

<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">
        <antcall target="build-ear-common">
            <param name="ejbjar.classes"
		    value="**/ejb/*.class"/>
            <param name="appclientjar.classes"
		    value="**/client/*.class"/>
	    <param name="war.classes"
		    value="**/servlet/*.class"/>
	    <param  name="hasWebclient" value="true"/>
        </antcall>
        <javac
          srcdir="."
          classpath="${env.APS_HOME}/lib/reporter.jar"
          includes="client/WebTest.java" destdir="." />

    </target>

    <target name="deploy" depends="init-common">
        <antcall target="create-jdbc-stuff"/>
        <antcall target="deploy-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="run-test-1"/>

    </target>

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

        <antcall target="execute-sql-common">
            <param name="sql.file" value="sql/drop_pointbase.sql"/>
        </antcall>
        <antcall target="delete-jdbc-stuff"/>
	<antcall target="undeploy-common"/>
	<delete file="client/WebTest.class"/>
    </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>

        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.${poolname}.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.${poolname}.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.${poolname}.connection_leak_timeout_in_seconds=10"/>
        </antcall>


        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.${poolname}.connection_leak_reclaim=true"/>
        </antcall>
	<antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.${poolname}.non_transactional_connections=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>

    <target name="run-test-1" depends="init-common">

        <java classname="client.WebTest">
            <arg value="${http.host}"/>
            <arg value="${http.port}"/>
            <arg value="${contextroot}"/>
            <classpath>
                <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
                <pathelement location="."/>
            </classpath>
        </java>
    </target>


    

</project>
