<?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;
    <!--
    &eeSetup;
    &eeProperties;
    -->
    &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>
    </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="create-jdbc-connpool-common">
        <param name="jdbc.conpool.name" value="${maxpoolsize-poolName}"/>
      </antcall>

      <antcall target="create-jdbc-resource-common">
        <param name="jdbc.conpool.name" value="${maxpoolsize-poolName}"/>
        <param name="jdbc.resource.name" value="jdbc/maxpoolsize"/>
      </antcall>

      <antcall target="create-jdbc-connpool-common">
        <param name="jdbc.conpool.name" value="${maxpoolsize-poolName}-xa"/>
        <param name="db.class" value="org.apache.derby.jdbc.ClientXADataSource"/>
        <param name="jdbc.resource.type" value="javax.sql.XADataSource"/>
      </antcall>

      <antcall target="create-jdbc-resource-common">
        <param name="jdbc.conpool.name" value="${maxpoolsize-poolName}-xa"/>
        <param name="jdbc.resource.name" value="jdbc/maxpoolsize-xa"/>
      </antcall>
      <antcall target="deploy-common"/>
    </target>

    <target name="run" depends="init-common">
      <!-- set the maxpoolsize to 10 before running -->
      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.${maxpoolsize-poolName}.max_pool_size=10"/>
      </antcall>
      <!-- also set the max-wait-time to a smaller value so the tests executes faster -->
      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.${maxpoolsize-poolName}.max_wait_time_in_millis=1000"/>
      </antcall>

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

      <!-- set the maxpoolsize to 15 -->
      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.${maxpoolsize-poolName}.max_pool_size=20"/>
      </antcall>

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

  <!--- XA -->
      <!-- set the maxpoolsize to 10 before running -->
      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.${maxpoolsize-poolName}-xa.max_pool_size=10"/>
      </antcall>
      <!-- also set the max-wait-time to a smaller value so the tests executes faster -->
      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.${maxpoolsize-poolName}-xa.max_wait_time_in_millis=1000"/>
      </antcall>

      <antcall target="runclient-common">
        <param name="appclient.application.args" value="3"/>
      </antcall>
      <!-- set the maxpoolsize to 15 -->
      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.${maxpoolsize-poolName}-xa.max_pool_size=20"/>
      </antcall>

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

    </target>

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

      <antcall target="undeploy-jdbc-common">
        <param name="jdbc.resource.name" value="jdbc/maxpoolsize"/>
        <param name="jdbc.conpool.name" value="${maxpoolsize-poolName}"/>
      </antcall>

      <antcall target="undeploy-jdbc-common">
        <param name="jdbc.resource.name" value="jdbc/maxpoolsize-xa"/>
        <param name="jdbc.conpool.name" value="${maxpoolsize-poolName}-xa"/>
      </antcall>
    </target>
    <target name="usage">
        <antcall target="usage-common"/>
    </target>

</project>
