<?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">
<!ENTITY run SYSTEM "./../../../config/run.xml">
]>

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

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

    <target name="all" depends="build,setup,run,unsetup"/>

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

    <target name="build" depends="compile">
	<mkdir dir="${assemble.dir}"/>
      <antcall target="package-appclientjar-common">
        <param name="appclientjar.classes" 
          value="**/*.class" />
        <param name="appclientjar.files" 
          value="${build.classes.dir}" />
	<param name="appclient.jar" 
	value="${assemble.dir}/${appname}AppClient.jar"/>
      </antcall>
    </target> 
    
<!-- run appclient in AppServ  -->
<target name="myrunclient" depends="init-common">
  <echo message="appclient -client ${assemble.dir}/${appname}AppClient.jar -name ${appname}Client -textauth -user j2ee -password j2ee -xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml ${appclient.application.args}"/>
  <exec executable="${APPCLIENT}" failonerror="false">
    <arg line="-client ${assemble.dir}/${appname}AppClient.jar"/>
    <arg line="-name ${appname}Client"/>
    <arg line="-textauth"/>
    <arg line="-user j2ee"/>
    <arg line="-password j2ee"/>
    <arg line="-xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml"/>
    <arg line="${appclient.application.args}"/>
    <env key="APPCPATH" value="${env.APS_HOME}/lib/reporter.jar"/>
    <env key="VMARGS" value="-Dcom.sun.enterprise.connectors.SwitchoffACCConnectionPooling=true"/>
  </exec>

<!-- confirming report generation... -->
    <antcall target="checkReporting-common">
        <param name="test.name" value="${appname}"/>
        <param name="test.description" value="${test.description}"/>
        <param name="test.count" value="${test.count}"/>
    </antcall>
</target>

    <target name="run" depends="init-common">
      <antcall target="myrunclient"/>
    </target>
 
    <target name="unsetup" depends="init-common">
	 <antcall target="delete-jdbc-resource-common">
            <param name="jdbc.resource.name" value="jdbc/nonxaresource"/>
        </antcall>

        <antcall target="delete-jdbc-connpool-common">
            <param name="jdbc.conpool.name" value="jdbc-derby-pool"/>
        </antcall>

	 <antcall target="delete-jdbc-resource-common">
            <param name="jdbc.resource.name" value="jdbc/xaresource"/>
        </antcall>

        <antcall target="delete-jdbc-connpool-common">
            <param name="jdbc.conpool.name" value="jdbc-derby-xa-pool"/>
        </antcall>

    </target>   

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

  <target name="setup" depends="init-common">

  <echo message="Setting up derby .... "/>
        <antcall target="deploy-jdbc-common">
            <param name="jdbc.conpool.name" value="jdbc-derby-pool"/>
            <param name="jdbc.resource.name" value="jdbc/nonxaresource"/>
        </antcall>
        <antcall target="deploy-jdbc-common">
            <param name="jdbc.conpool.name" value="jdbc-derby-xa-pool"/>
            <param name="jdbc.resource.name" value="jdbc/xaresource"/>
            <param name="db.class" value="org.apache.derby.jdbc.ClientXADataSource"/>
            <param name="jdbc.resource.type" value="javax.sql.XADataSource"/>
        </antcall>

      <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.jdbc-derby-pool.property.connectionAttributes=create=true;"/>
       </antcall>

       <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="${resources.dottedname.prefix}.jdbc-connection-pool.jdbc-derby-xa-pool.property.connectionAttributes=create=true;"/>
       </antcall>


    </target>

</project>
