<?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">
<!ENTITY testproperties SYSTEM "./build.properties">
]>

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

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

    <target name="all" depends="config,build,deploy,run,undeploy,restore"/>

    <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="re-deploy" depends="init-common">
        <antcall target="deploy-war-common"/>
    </target>

    <target name="deploy" depends="init-common">
        <antcall target="deploy-war-common"/>
    </target>
    
    <target name="run" depends="init-common">
        <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>
    </target>
 
    <target name="undeploy" depends="init-common">
        <antcall target="undeploy-war-common"/>
    </target>   

    <target name="copy-jar" depends="init-common">
        <copy file="uuidGeneratorImpl.jar" todir="${env.S1AS_HOME}/domains/domain1/lib"
              failonerror="true"/>
    </target>

    <target name="config" depends="init-common">
        <antcall target="copy-jar"/>
        <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="set" />
            <param name="operand.props"
                   value="${appserver.instance.name}.web-container.session-config.session-manager.manager-properties.session-id-generator-classname=test.MyUuidGenerator"/>
        </antcall>
        <antcall target="restart-server-instance-common"/>
    </target>

    <target name="remove-jar" depends="init-common">
        <delete failonerror="true">
            <fileset dir="${env.S1AS_HOME}/domains/domain1/lib"
                     includes="uuidGeneratorImpl.jar"/>
        </delete>
    </target>

    <target name="restore" depends="init-common">
        <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="set" />
            <param name="operand.props"
                   value="${appserver.instance.name}.web-container.session-config.session-manager.manager-properties.session-id-generator-classname="/>
        </antcall>
        <antcall target="stopDomain"/>
        <antcall target="remove-jar"/>
        <antcall target="startDomain"/>
    </target>

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