<?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}">
      <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>
