<?xml version="1.0"?>
<!--

    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

-->

<!DOCTYPE project [
<!ENTITY commonBuild SYSTEM "file:./../annotations-common.xml">
]>

<project name="Hello" default="core" basedir=".">


    &commonBuild;
    <property name="src-name" value="endpoint/WebServiceEJB.java"/>
    <property name="client-src-name" value="client/Client.java"/>

    <target name="all" depends="clean, deploy, private-run, private-undeploy, report"/>


    <target name="private-undeploy">
        <antcall target="autoundeploy-file">
                <param name="filename" value="EjbClient.jar"/>
        </antcall>
        <antcall target="autoundeploy-file">
                <param name="filename" value="WebServiceEJB.jar"/>
        </antcall>
    </target>


    <target name="private-run">
        <antcall target="clean"/>
        <antcall target="wsdl-import">
                <param name="server" value="WebServiceEJB"/>
                <param name="port" value="WebServiceEJB"/>
        </antcall>
        <javac srcdir="." destdir="${env.APS_HOME}/build/module/classes"
            includes="ejb/HelloEJB.java">
            <classpath refid="classpath"/>
        </javac>
        <jar destfile="${env.S1AS_HOME}/domains/domain1/autodeploy/EjbClient.jar"
            basedir="${env.APS_HOME}/build/module/classes"
            includes="ejb/**,endpoint/**"/>
        <waitfor maxwait="100" maxwaitunit="second">
                   <or>
                <available file="${env.S1AS_HOME}/domains/domain1/autodeploy/EjbClient.jar_deployed"/>
                <available file="${env.S1AS_HOME}/domains/domain1/autodeploy/EjbClient.jar_deployFailed"/>
            </or>
        </waitfor>
        <condition property="deploy_succeeded">
            <available file="${env.S1AS_HOME}/domains/domain1/autodeploy/EjbClient.jar_deployed"/>
        </condition>
        <condition property="deploy_failed">
            <available file="${env.S1AS_HOME}/domains/domain1/autodeploy/EjbClient.jar_deployFailed"/>
        </condition>
        <fail if="deploy_failed" message="Deployment failed"/>
        <basename file="${client-src-name}" property="client" suffix=".java"/>
        <dirname file="${client-src-name}" property="client-directory"/>
        <basename file="${client-directory}" property="client-pkg-name"/>
        <property name="client-class-name" value="${client-pkg-name}/${client}.class"/>
        <antcall target="compile-client"/>
        <echo message="Running appclient with ${client-pkg-name}.${client}"/>
        <unjar src="${env.APS_HOME}/lib/reporter.jar" dest="${env.APS_HOME}/build/module/classes"/>
        <exec executable="${env.S1AS_HOME}/bin/appclient" dir="${env.APS_HOME}/build/module/classes">
            <arg value="-Dorg.omg.CORBA.ORBInitialPort=${orb.port}"/>
            <arg value="${client-pkg-name}.${client}"/>
        </exec>
    </target>

    <target name="report-success">
            <echo message="Test PASSED"/>
    </target>

    <target name="report-failure">
            <echo message="Test FAILED"/>
    </target>

</project>
