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

    Copyright (c) 1997, 2022 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

-->

<!DOCTYPE project [
<!ENTITY commonSetup SYSTEM "./../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "./../../../../config/common.xml">
<!ENTITY commonRun SYSTEM "./../../../../config/run.xml">
<!ENTITY reporting SYSTEM "./../../../../config/report.xml">
<!ENTITY eeCommon SYSTEM "file:./../ee.xml">
<!ENTITY testproperties SYSTEM "file:./build.properties">
]>

<project name="tx-ee-resendautorecovery" default="usage" basedir=".">


    &commonSetup;
    &commonBuild;
    &commonRun;
    &eeCommon;
    &testproperties;
    &reporting;

    <target name="all" depends="build,setup,run,unsetup,dev-report"/>
    <target name="test" depends="build,setup-test,run,unsetup-test"/>

    <target name="setup" depends="init-common">
      <antcall target="clean-results"/>
      <antcall target="start-derby"/>
      <ant target="start-domain"/>
      <ant target="setup-test"/>
    </target>

    <target name="setup-test" depends="init-common">
      <antcall target="setup-database"/>
      <antcall target="setup-cluster"/>
    </target>

    <target name="setup-database" depends="init-common">
      <antcall target="setup-xa-database-common">
            <param name="pool.name" value="jdbc-xa-pool"/>
            <param name="resource.name" value="jdbc/xa"/>
        </antcall>
      <antcall target="execute-ejb-sql-common">
        <param name="sql.file" value="sql/create.sql"/>
      </antcall>
      <antcall target="execute-sql-common">
        <param name="sql.file" value="sql/create.sql"/>
        <param name="db.url" value="jdbc:derby://localhost:${db.port}/${db.name};create=true;"/>
      </antcall>
    </target>

    <target name="setup-cluster" depends="init-common">
        <echo message="Starting cluster"/>
        <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar"
              classname="${se.client}">
           <arg line="prepare"/>
           <arg line="${assemble.dir}/${appname}-web.war"/>
           <arg line="${assemble.dir}"/>
           <sysproperty key="enableShoalLogger" value="${enableShoalLogger}"/>
        </java>
    </target>

    <target name="unsetup-test" depends="init-common">
        <antcall target="save-logs"/>
        <antcall target="unsetup-cluster"/>
        <antcall target="unsetup-database"/>
    </target>

    <target name="unsetup" depends="init-common">
        <antcall target="unsetup-test"/>
        <antcall target="stop-derby"/>
        <ant target="stop-domain"/>
    </target>

    <target name="unsetup-database" depends="init-common">
        <antcall target="execute-ejb-sql-common">
            <param name="sql.file" value="sql/drop.sql"/>
        </antcall>

        <antcall target="execute-sql-common">
           <param name="sql.file" value="sql/drop.sql"/>
           <param name="db.url" value="jdbc:derby://localhost:${db.port}/${db.name};create=true;"/>
         </antcall>

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

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

    <target name="run" depends="init-common">
        <antcall target="run-recover"/>
        <antcall target="reset-tables"/>
        <antcall target="run-recover-with-restart"/>
    </target>

    <target name="run-recover" depends="init-common">
        <parallel>
           <antcall target="insert-data"/>
           <antcall target="kill-instance">
              <param name="in" value="in1"/>
           </antcall>
        </parallel>

        <echo message="Kill during recovery"/>
        <!-- Let GMS do the work -->
        <sleep seconds="50"/>
        <antcall target="kill-instance">
           <param name="in" value="in2"/>
        </antcall>

        <antcall target="verify"/>

        <antcall target="reset-instances"/>
    </target>

    <target name="run-recover-with-restart" depends="init-common">
        <parallel>
           <antcall target="insert-data"/>
           <antcall target="kill-instance">
              <param name="in" value="in1"/>
           </antcall>
        </parallel>

        <echo message="Restart in1 during recovery"/>

        <!-- Let GMS start the work -->
        <sleep seconds="50"/>
        <exec executable="${ASADMIN}" failonerror="false">
          <arg line="start-local-instance"/>
          <arg line="in1"/>
        </exec>

        <antcall target="verify"/>
    </target>

    <target name="verify" depends="init-common">
        <echo message="Verifying results"/>
        <!-- Let GMS do the work -->
        <sleep seconds="135"/>

        <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}"
              classname="${se.client}">
           <arg line="verify_xa"/>
           <arg line="${appname}-web"/>
           <arg line="in3"/>
           <arg line="recover"/>
        </java>
    </target>

    <target name="reset-instances" depends="init-common">
        <exec executable="${ASADMIN}" failonerror="false">
          <arg line="start-local-instance"/>
          <arg line="in1"/>
        </exec>
        <exec executable="${ASADMIN}" failonerror="false">
          <arg line="start-local-instance"/>
          <arg line="in2"/>
        </exec>
    </target>

    <target name="kill-instance">
      <sleep seconds="40"/>
      <exec executable="./kill_instance.sh" failonerror="true">
        <arg line="${in}"/>
      </exec>
    </target>

    <target name="insert-data">
        <echo message="Executing test in1"/>
        <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}"
              classname="${se.client}">
           <arg line="insert_xa_data"/>
           <arg line="${appname}-web"/>
           <arg line="in1"/>
        </java>
    </target>

</project>
