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

    Copyright (c) 2021 Contributors to the Eclipse Foundation
    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">
<!ENTITY testproperties SYSTEM "./build.properties">
]>

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

    &commonSetup;
    &commonBuild;
    &testproperties;
    &run;

    <target name="all" depends="build,create-vs,deploy,assign-default-module,modify-port,run,restore,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="servlet"/>
        </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">
        <echo message="Deploying ${assemble.dir}/${appname}-web.war from ${basedir}."
              level="verbose"/>
        <exec executable="${ASADMIN}" failonerror="false">
            <arg line="deploy"/>
            <arg line="${as.props}"/>
            <arg line="--contextroot ${contextroot}"/>
            <arg line="--upload=true"/>
            <arg line="--virtualservers myvs"/>
            <arg line="--target ${appserver.instance.name}"/>
            <arg line="${assemble.dir}/${appname}-web.war"/>
        </exec>
    </target>

    <target name="run" depends="init-common">
        <java classname="WebTest" fork="true">
          <arg value="${http.host}"/>
          <arg value="9999"/>
          <arg value="${contextroot}"/>
          <classpath>
           <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
           <pathelement location="."/>
         </classpath>
        </java>
    </target>

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

    <target name="create-vs" depends="init-common">
      <antcall target="asadmin-common-ignore-fail">
        <param name="admin.command" value="create-virtual-server" />
        <param name="operand.props"
               value="--hosts myvs myvs" />
      </antcall>
        <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="set" />
            <param name="operand.props"
                   value="configs.config.server-config.http-service.virtual-server.myvs.network-listeners=http-listener-1"/>
        </antcall>
    </target>

    <target name="delete-virtual-server" depends="init-common">
      <antcall target="asadmin-common-ignore-fail">
        <param name="admin.command" value="delete-virtual-server" />
        <param name="operand.props"
               value="myvs"/>
      </antcall>
    </target>

    <target name="assign-default-module" depends="init-common">
        <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="set" />
            <param name="operand.props"
                   value="configs.config.server-config.http-service.virtual-server.myvs.default-web-module=${appname}-web"/>
        </antcall>
    </target>

    <target name="modify-port" 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.network-listeners.network-listener.http-listener-1.port=9999"/>
        </antcall>
    </target>

    <target name="restore-port" 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.network-listeners.network-listener.http-listener-1.port=${http.port}"/>
        </antcall>
    </target>

    <target name="restore" depends="init-common">
        <antcall target="delete-virtual-server"/>
        <antcall target="restore-port"/>
    </target>

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