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

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

-->

<!DOCTYPE project [
        <!ENTITY commonSetup SYSTEM "./../../../config/properties.xml">
        <!ENTITY commonBuild SYSTEM "./../../../config/common.xml">
        <!ENTITY run SYSTEM "./../../../config/run.xml">
        ]>

<project name="thread_timeout_test" default="all" basedir=".">

    &commonSetup;
    &commonBuild;
    &run;
    <property name="module" value="web"/>
    <property name="appname" value="${module}-thread-timeout"/>
    <property name="assemble" value="${build.classes.dir}/archive"/>
    <property name="application.xml" value="descriptor/application.xml"/>
    <property name="sun-application.xml" value="descriptor/sun-application.xml"/>
    <property name="apptype" value="web"/>
    <property name="web.xml" value="web/WEB-INF/web.xml"/>
    <property name="sun-web.xml" value="descriptor/sun-web.xml"/>
    <property name="contextroot" value="/web-thread-timeout"/>

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

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

    <target name="setup" depends="init-common">
        <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.request-timeout-seconds=5"/>
        </antcall>
    </target>

    <target name="teardown" depends="init-common">
        <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.request-timeout-seconds="/>
        </antcall>
    </target>

    <target name="compile" depends="clean">
        <antcall target="compile-common">
            <param name="src" value="src"/>
        </antcall>
    </target>

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

        <javac srcdir="." classpath="${env.APS_HOME}/lib/reportbuilder.jar" includes="WebTest.java"/>
    </target>

    <target name="build-publish-war" depends="build, publish-war-common"/>

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

    <target name="run" depends="init-common">
        <echo>Testing timeout settings</echo>
        <java classname="WebTest">
            <arg value="${http.host}"/>
            <arg value="${http.port}"/>
            <arg value="${contextroot}"/>
            <classpath>
                <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
                <pathelement location="."/>
            </classpath>
        </java>
        <antcall target="stopDomain"/>
        <sleep seconds="15" />
        <antcall target="startDomainDebug"/>
        <sleep seconds="15" />
        <echo>Testing disabled timeout settings under a debug vm</echo>
        <java classname="WebTest">
            <arg value="${http.host}"/>
            <arg value="${http.port}"/>
            <arg value="${contextroot}"/>
            <arg value="notimeout"/>
            <classpath>
                <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
                <pathelement location="."/>
            </classpath>
        </java>
        <antcall target="restart-server-instance-common"/>
    </target>

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

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

    <target name="startDomainDebug" depends="startDomainDebugUnix, startDomainDebugWindows"/>

    <target name="startDomainDebugUnix" depends="init-common" if="isUnix">
        <echo>ASADMIN ======= ${ASADMIN}</echo>
        <exec executable="${ASADMIN}" failonerror="true">
            <arg line="start-domain --debug"/>
        </exec>
        <echo message="run.xml:doing wait for ${http.host}:${http.port}..."/>
        <waitfor>
            <http url="http://${http.host}:${http.port}"/>
        </waitfor>
        <echo message="run.xml:DONE doing wait for ${http.host}:${http.port}..."/>
    </target>

    <target name="startDomainDebugWindows" depends="init-common" if="isWindows">
        <exec executable="${ASADMIN}" spawn="true">
            <arg line="start-domain --debug"/>
        </exec>
        <waitfor>
            <http url="http://${http.host}:${http.port}"/>
        </waitfor>
    </target>

</project>
