<?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 commonBuild SYSTEM "./../../config/common.xml">
]>

<project name="htmlonlyApp" default="usage" basedir=".">

    &commonBuild;

    <property name="contextRoot" value="war"/>
    <property name="testName" value="htmlonly"/>

    <target name="prepare" depends="init">
        <property name="portable.war" value="${build}/${testName}-portable.war"/>
        <property name="all.war" value="${build}/${testName}.war"/>
        <property name="deployplan.jar" value="${build}/${testName}-deployplan.jar"/>
        <mkdir dir="${build}"/>
    </target>

    <target name="compile" depends="prepare">
        <javac srcdir="."
               destdir="${build}"
               debug="on"
               failonerror="true">
            <classpath refid="test.compile.classpath"/>
        </javac>
    </target>

    <target name="assemble" depends="prepare">
        <war destfile="${portable.war}" webxml="web.xml">
            <fileset dir="." includes="*.html"/>
        </war>
        <jar destfile="${deployplan.jar}">
            <fileset dir="${basedir}" includes="sun-web.xml"/>
        </jar>
        <war destfile="${all.war}" webxml="web.xml">
            <webinf dir="." includes="sun-web.xml"/>
            <fileset dir="." includes="*.html"/>
        </war>
    </target>

    <target name="deploy.asadmin" depends="prepare">
        <antcall target="common.deploy.asadmin">
            <param name="arg.list" value="${all.war}"/>
            <param name="testName" value="${testName}"/>
        </antcall>
    </target>

    <target name="redeploy.asadmin" depends="prepare">
        <antcall target="common.redeploy.asadmin">
            <param name="arg.list" value="${all.war}"/>
            <param name="testName" value="${testName}"/>
        </antcall>
    </target>

    <target name="undeploy.asadmin">
        <antcall target="common.undeploy.asadmin">
            <param name="arg.list" value="${testName}"/>
            <param name="testName" value="${testName}"/>
        </antcall>
    </target>

    <target name="enable.asadmin"> 
        <antcall target="common.enable.asadmin">
            <param name="arg.list" 
                   value="${testName}"/>
        </antcall>
    </target>

    <target name="disable.asadmin">
        <antcall target="common.disable.asadmin">
            <param name="arg.list" 
                   value="${testName}"/>
        </antcall>
    </target>

    <target name="deploy.jsr88" depends="prepare">
        <antcall target="common.deploy.jsr88">
            <param name="arg.list" value="${portable.war} ${deployplan.jar}"/>
        </antcall>
    </target>

    <target name="redeploy.jsr88" depends="prepare">
        <antcall target="common.run.jsr88">
            <param name="command" value="redeploy"/>
            <param name="arg.list" value="htmlonly-portable ${portable.war} ${deployplan.jar}"/>
        </antcall>
    </target>

    <target name="undeploy.jsr88">
        <antcall target="common.undeploy.jsr88">
            <param name="arg.list" value="htmlonly-portable"/>
        </antcall>
    </target>

    <target name="start.jsr88">
        <antcall target="common.run.jsr88">
            <param name="command" value="start"/>
            <param name="arg.list" value="htmlonly-portable"/>
        </antcall>
    </target>

    <target name="stop.jsr88">
        <antcall target="common.run.jsr88">
            <param name="command" value="stop"/>
            <param name="arg.list" value="htmlonly-portable"/>
        </antcall>
    </target>

    <target name="deploy.autodeploy">
    </target>

    <target name="run" depends="run.positive"/>

    <target name="run.positive" depends="setHttpPort">
        <antcall target="common.run.positive">
            <param name="link" value="${contextRoot}/${testName}"/>
            <param name="log.id" value="${log.id}"/>
        </antcall>
    </target>

    <target name="run.negative" depends="setHttpPort">
        <antcall target="common.run.negative">
            <param name="link" value="${contextRoot}/${testName}"/>
            <param name="log.id" value="${log.id}"/>
        </antcall>
    </target>

    <target name="runclient" depends="compile">
        <echo message="TestClient ${arg.list}"/>
        <javaWithResult
            fork="true"
            failonerror="false"
            jvm="${JAVA}"
            classname="htmlonly.client.TestClient"
            output="${build}/${log.id}.output.log"
            resultproperty="result">
            <jvmarg value="-Dorg.omg.CORBA.ORBInitialHost=${http.host}"/>
            <jvmarg value="-Dorg.omg.CORBA.ORBInitialPort=${orb.port}"/>
            <jvmarg value="-Djava.endorsed.dirs=${inst}/lib/endorsed"/>

            <classpath>
                <path location="${inst}/lib/j2ee.jar"/>
                <path location="${build}"/>
            </classpath>

            <arg line="${arg.list}"/>
        </javaWithResult>

        <antcall target="processResult">
            <param name="result" value="${result}"/>
            <param name="log" value="${build}/${log.id}.output.log"/>
        </antcall>
    </target>

    <target name="private-all">
        <antcall target="assemble"/>
        
        <antcall target="deploy.asadmin"/>
        <antcall target="run.positive">
            <param name="log.id" value="1"/>
            <param name="desc" value="war/htmlonly Test asadmin deploy"/>
        </antcall>

        <antcall target="redeploy.asadmin"/>
        <antcall target="run.positive">
            <param name="log.id" value="2"/>
            <param name="desc" value="war/htmlonly Test asadmin redeploy"/>
        </antcall>

        <antcall target="disable.asadmin"/>
        <antcall target="run.negative">
            <param name="log.id" value="3"/>
            <param name="desc" value="war/htmlonly Test asadmin disable"/>
        </antcall>

        <antcall target="enable.asadmin"/>
        <antcall target="run.positive">
            <param name="log.id" value="4"/>
            <param name="desc" value="war/htmlonly Test asadmin enable"/>
        </antcall>
        <antcall target="undeploy.asadmin"/>

        <antcall target="deploy.jsr88"/>
        <antcall target="run.positive">
            <param name="log.id" value="5"/>
            <param name="desc" value="war/htmlonly Test jsr88 deploy"/>
        </antcall>

        <antcall target="stop.jsr88"/>
        <antcall target="run.negative">
            <param name="log.id" value="6"/>
            <param name="desc" value="war/htmlonly Test jsr88 stopped state"/>
        </antcall>

        <antcall target="start.jsr88"/>
        <antcall target="run.positive">
            <param name="log.id" value="7"/>
            <param name="desc" value="war/htmlonly Test jsr88 started state"/>
        </antcall>

        <antcall target="redeploy.jsr88"/>
        <antcall target="run.positive">
            <param name="log.id" value="8"/>
            <param name="desc" value="war/htmlonly Test jsr88 redeploy"/>
        </antcall>

        <antcall target="undeploy.jsr88"/>
    </target>

    <target name="clobber" depends="clean">
        <delete file="${portable.war}"/>
        <delete file="${all.war}"/>
        <delete file="${deployplan.war}"/>
        <delete dir="${build}"/>
    </target>

    <target name="usage">
        <antcall target="all"/>
    </target>
</project>
