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

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

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

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

    <target name="all" depends="cluster-setup,build,setup,deploy,run-appclient1,run-appclient2,run-appclient3,run-appclient4,undeploy,unsetup,cluster-unsetup"/>
   
    <target name="clean" depends="init-common">
      <antcall  target="clean-common"/>
    </target>
 
    <target name="sql" depends="init-common">
      <!--
      Clean the database after the run since it prohibits re-running
      -->
      <antcall target="execute-sql-common">
        <param name="sql.file" value="sql/drop_derby.sql"/>
      </antcall>
      <antcall target="execute-sql-common">
            <param name="sql.file" value="sql/create_derby.sql"/>
      </antcall>
    </target>
    <target name="run-appclient1" depends="init-common">
	<echo message="running in ACC with S1ASCtxFactory..."/>
   	<antcall target="runclient-common">
	   <param name="appclient.application.args" value="-xml ./descriptor/sun-acc-lb.xml 129.145.133.64 33700"/>
	</antcall>
        <antcall target="sql"/>
</target>

    <target name="run-appclient2" depends="init-common">
	<echo message="running in ACC with S1ASCtxFactory..."/>
   	<antcall target="runclient-common">
	   <param name="appclient.application.args" value="-xml ./descriptor/sun-acc-lb1.xml 129.145.133.64 33700"/>
	</antcall>
        <antcall target="sql"/>
</target>

    <target name="run-appclient3" depends="init-common">
	<echo message="running in ACC with S1ASCtxFactory..."/>
   	<antcall target="runclient-common">
	   <param name="appclient.application.args" value="-xml ./descriptor/sun-acc-lb2.xml 129.145.133.64 33700"/>
	</antcall>
        <antcall target="sql"/>
</target>

    <target name="run-appclient4" depends="init-common">
	<echo message="running in ACC with S1ASCtxFactory..."/>
   	<antcall target="runclient-common">
	   <param name="appclient.application.args" value="-xml ./descriptor/sun-acc-lb3.xml 129.145.133.64 33700"/>
	</antcall>
        <antcall target="sql"/>
</target>

    <target name="compile" depends="clean">
      <antcall target="compile-common">
        <param name="src" value="ejb"/>
      </antcall>
      <antcall target="compile-common">
        <param name="src" value="client"/>
      </antcall>
    </target>

    <target name="build" depends="compile">
      <antcall target="build-ear-common">
        <param name="ejbjar.classes" 
          value="**/*Student*.class,**/*Enroller*.class,**/*Course*.class" />
        <param name="appclientjar.classes" 
          value="**/Course.class,**/Enroller.class,**/Student.class,**/*Home*.class,**/*Client*.class" />
      </antcall>
    </target> 
    
    <target name="setup" depends="init-common">
        <antcall target="execute-sql-common">
            <param name="sql.file" value="sql/create_derby.sql"/>
        </antcall>
        <antcall target="deploy-jdbc-common">
            <param name="jdbc.conpool.name" value="bmpEnrollerPool"/>
            <param name="jdbc.resource.name" value="jdbc/bmp-enrollerDB"/>
            <param name="appserver.instance.name" value="C1"/>
	</antcall>
	<!--antcall target="deploy-jms-common"/>	
	<antcall target="reconfig-common"/-->
    </target>

    <target name="deploy" depends="init-common">
      <echo message="Deploying via asadmin..."/>     
      <antcall target="deploy-common-ee">
    <param name="ee" value="enterprise edition"/>
<param name="appserver.instance.name" value="C1"/>
</antcall>
    </target> 

    <!-- =============================================== -->
    <!-- Target to run the standalone client without ACC -->
<!---->
    <!-- =============================================== -->
    <target name="run-standalone-client" depends="init-common">
	<property name="client.type"
	          value="standalone"/>
	<java classname="com.sun.s1peqe.loadbalancing.client.EnrollerClient"
        classpath="${env.S1AS_HOME}/imq/lib/imq.jar:${env.S1AS_HOME}/imq/lib/imqjmsra.jar:${env.S1AS_HOME}/imq/lib/jms.jar:${s1astest.classpath}:${assemble.dir}/${appname}AppClient.jar" failonerror="true" fork="true">
	<!--jvmarg value="-Dorg.omg.CORBA.ORBInitialHost=${admin.host}"/>
	<jvmarg value="-Dorg.omg.CORBA.ORBInitialPort=${orb.port}"/-->
        <jvmarg value="-Djava.naming.provider.url=iiop://129.145.133.64:33700"/>

	<!--jvmarg value="-Dcom.sun.appserv.iiop.endpoints=pathfinder.sfbay.sun.com:3690,pathfinder.sfbay.sun.com:3880"/-->
	<jvmarg value="-Dcom.sun.appserv.iiop.loadbalancingpolicy=ic-based"/>
	<arg value="129.145.133.64"/>
	<arg value="33700"/>
	<arg value="${client.type}"/>
      </java>
    </target>

 
    <target name="undeploy" depends="init-common">
      <antcall target="undeploy-common">      
         <param name="appserver.instance.name" value="C1"/>
      </antcall>
     </target>   

    <target name="unsetup" depends="init-common">
      <!--antcall target="undeploy-jms-common"/-->
      <antcall target="execute-sql-common">
        <param name="sql.file" value="sql/drop_derby.sql"/>
      </antcall>
      <antcall target="undeploy-jdbc-common">
        <param name="jdbc.conpool.name" value="bmpEnrollerPool"/>
        <param name="jdbc.resource.name" value="jdbc/bmp-enrollerDB"/>
        <param name="appserver.instance.name" value="C1"/>
      </antcall>
    </target>   

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

    <target name="restart">
      <antcall target="restart-server-instance-common"/>
    </target>

<!-- ================================================================ -->
<!-- Running eeconfig/eeunsetup  -->
<!-- ================================================================ -->
<target name="cluster-unsetup">
<echo message="Cleaning up cluster setup" level="verbose"/>
  <exec executable="sh" failonerror="false">
    <arg line="${env.APS_HOME}/devtests/naming/loadbalancing/cluster-unsetup"/>
  </exec>
</target>

<!-- ================================================================ -->
<!-- Running eeconfig/eesetup  -->
<!-- ================================================================ -->
<target name="cluster-setup" depends="init-common">
  <echo message="Setting up cluster, waiting ..." level="verbose"/>
  <exec executable="sh" failonerror="true" >
    <arg line="${env.APS_HOME}/devtests/naming/loadbalancing/cluster-setup"/>
  </exec>
  <waitfor>
    <http url="http://${http.host}:${http.port}"/>
  </waitfor>
  <sleep seconds="80"/>
</target>


</project>
