<?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 commonSetup SYSTEM "../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "../../../../config/common.xml">
<!ENTITY testproperties SYSTEM "build.properties">
]>

<project name="ejb-stubs-standaloneclient-App" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;

    <target name="all" depends="build, run_default, run_cosnaming"/>

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

    <target name="build" depends="init-common">
       <mkdir dir="${build.classes.dir}"/>
       <echo message="common.xml: Compiling test source files" level="verbose"/>
       <javac srcdir="client"
              destdir="${build.classes.dir}"
              classpath="${s1astest.classpath}:${build.classes.dir}"
              debug="on"
              failonerror="true"/>
    </target>

    <target name="runclient_nooverride" depends="init-common">
       <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/j2ee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${build.classes.dir}:${assemble.dir}/ejb-stubs-ejbappAppClient/ejb-stubs-ejbapp-clientClient.jar:${env.APS_HOME}/lib/reporter.jar"
           classname="${simple.client}">
           <jvmarg
                   value="-Dorg.omg.CORBA.ORBInitialPort=${orb.port}"/>
           <arg value="ejb/ejb_stubs_ejbapp_HelloBean"/>
           <arg value="${ic.props}"/>
        </java>
    </target>

<!--This target is used to test that using no-arg InitialContext and
    not setting any vm params will still work, assuming the default
    port is set to 3700.  Don't want to put this in the set of automatic
    tests run b/c of the port change possibility.  However, if the
    default port of 3700 is set, this test should work.   -->
    <target name="runclient_setnothing" depends="init-common">
       <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/j2ee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${build.classes.dir}:${assemble.dir}/ejb-stubs-ejbappAppClient.jar:${env.APS_HOME}/lib/reporter.jar"
              classname="${simple.client}">
           <arg value="ejb/ejb_stubs_ejbapp_HelloBean"/>
        </java>
    </target>

    <target name="run_default" depends="init-common">
        <antcall target="runclient_nooverride">
            <param name="ic.props"
                   value=""/>
        </antcall>
    </target>

    <target name="run_serialcontext" depends="init-common">
        <antcall target="runclient_nooverride">
            <param name="ic.props"
                   value="jndi.properties.s1as8_default"/>
        </antcall>
    </target>

    <target name="run_cosnaming" depends="init-common">
        <antcall target="runclient_nooverride">
            <param name="ic.props"
                   value="jndi.properties.cosnaming"/>
        </antcall>
    </target>


    <target name="runclient_withoverride" depends="init-common">
       <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/j2ee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${build.classes.dir}:${assemble.dir}/ejb-stubs-ejbappAppClient.jar:${env.APS_HOME}/lib/reporter.jar"
           classname="${simple.client}">
            <jvmarg value="-Dorg.omg.CORBA.ORBInitialPort=${orb.port}"/>
             <jvmarg
                    value="-Dcom.sun.ejb.portable.jndi.propertyfilename=jndi.properties.s1as8_default"/>
            <jvmarg value="${jndi.clash}"/>
           <arg value="ejb/ejb_stubs_ejbapp_HelloBean"/>
           <arg value="jndi.properties.s1as8_default"/>
        </java>
    </target>


    <target name="run_cosnaming_override" depends="init-common">
        <antcall target="runclient_withoverride">
            <param name="jndi.clash"
                   value="-Djava.naming.factory.initial=org.glassfish.jndi.cosnaming.CNCtxFactory"/>
        </antcall>
    </target>

    <target name="run_foo_override" depends="init-common">
        <antcall target="runclient_withoverride">
            <param name="jndi.clash"
                   value="-Djava.naming.factory.initial=foo"/>
        </antcall>
    </target>

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