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

    Copyright (c) 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 "file:./../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "file:./../../config/common.xml">
<!ENTITY testproperties SYSTEM "file:./build.properties">
]>
<project name="jaxrApp" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;

    <target name="all" depends="clean,build,deploy,run,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="jaxr"/>
        </antcall>
        <antcall target="compile-common">
            <param name="src" value="client"/>
        </antcall>
    </target>

    <target name="build" depends="compile">
        <antcall target="build-ear-common"/>
    </target> 
    
    <target name="deploy" depends="init-common">
      <antcall target="asadmin-common-ignore-fail">
        <param name="admin.command"
               value="create-connector-connection-pool
                      --raname jaxr-ra
                      --connectiondefinition javax.xml.registry.ConnectionFactory"/>
        <param name="operand.props"
               value="jaxr-pool"/>
      </antcall>
      <antcall target="asadmin-common-ignore-fail">
        <param name="admin.command"
               value="create-connector-resource
                      --poolname jaxr-pool"/>
        <param name="operand.props"
               value="eis/jaxr" />
      </antcall>
      <antcall target="reconfig-common" />
      <echo message="asadmin deploy --user ${admin.user} --password ${admin.password} --host ${admin.host} --port ${admin.port} --target ${appserver.instance.name} --type ${apptype} --retrieve ${assemble.dir} jaxrraApp.ear"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="--user ${admin.user}"/>
    <arg line="--password ${admin.password}"/>
    <arg line="--host ${admin.host}"/>
    <arg line="--port ${admin.port}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="--type ${apptype}"/>
    <arg line="--generatermistubs=true"/>
    <arg line="--retrieve ${assemble.dir}"/>
<!-- deployed.app defaults to ${assemble.dir}/${appname}App.ear defined in properties.xml-->
    <arg line="${assemble.dir}/jaxrraApp.ear"/>
  </exec>
  <echo message="Deployment on target server ${appserver.instance.name}
successful"/>
   </target>

<!-- <antcall target="deploy-common">
 	<param name="generate.stubs" value="true"/>	
	</antcall>
    </target>
    -->
    <target name="run" depends="init-common">
   <!--     <antcall target="runclient-common"/> -->
        <antcall target="run-standalone-client"/>
    </target>

    <!-- =============================================== -->
    <!-- Target to run the standalone client without ACC -->
    <!-- =============================================== -->
    <target name="run-standalone-client" depends="init-common">
           <property name="jndi.name" value="jaxrra"/>
        <property name="provider.url" value="iiop://${admin.host}:${orb.port}"/>
<!--
        <property name="ctxfactory" 
            value="com.sun.enterprise.naming.SerialInitContextFactory"/>
-->
	<property name="ctxfactory" 
            	value="com.sun.jndi.cosnaming.CNCtxFactory"/>
	<echo message="provider.url used is ${provider.url}"/>
      <java classname="${test.client}"
        classpath="${s1astest.classpath}:${assemble.dir}/${appname}AppClient.jar"
        failonerror="true" fork="true">
        <arg value="${provider.url}"/>
        <arg value="${ctxfactory}"/>
        <arg value="${jndi.name}"/>
	<jvmarg value="-Djavax.rmi.CORBA.UtilClass=com.sun.corba.ee.impl.javax.rmi.CORBA.Util"/>
	<jvmarg value="-Dorg.omg.CORBA.ORBClass=com.sun.corba.ee.impl.orb.ORBImpl"/>
	<jvmarg value="-Dorg.omg.CORBA.ORBSingletonClass=com.sun.corba.ee.impl.orb.ORBSingleton"/>
      </java>
    </target>
 
    <target name="undeploy" depends="init-common">
        <antcall target="undeploy-common"/>
    </target>   

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