<?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;
    &testproperties;
    &run;

    <target name="all" depends="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="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="**/*.class" />
        <param name="appclientjar.classes"
          value="**/SimpleBMP.class, **/SimpleBMPHome.class,**/*Client*.class" />
      </antcall>
    </target>

    <target name="deploy" depends="init-common">
    <!-- Create the ORACLE connection pool connection pool and datasource -->
      <antcall target="create-jdbc-connpool-common">
        <param name="jdbc.resource.type" value="javax.sql.DataSource"/>
        <param name="jdbc.conpool.name" value="jdbc-stress"/>
        <param name="db.class" value="oracle.jdbc.pool.OracleDataSource"/>
        <param name="db.user" value="${ora.user}"/>
        <param name="db.pwd" value="${ora.passwd}"/>
        <param name="db.url" value="${ora.sid}"/>
      </antcall>
      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.jdbc-stress.property.Port=1521"/>
      </antcall>
      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.jdbc-stress.property.URL=${ora.url}"/>
      </antcall>

      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.jdbc-stress.property.ServerName=129.158.229.239"/>
      </antcall>


      <antcall target="create-jdbc-resource-common">
        <param name="jdbc.conpool.name" value="jdbc-stress"/>
        <param name="jdbc.resource.name" value="jdbc/s1qeDB-stress"/>
      </antcall>



      <antcall target="deploy-common"/>
      <echo message="Executing sql from ${sql.file}"/>
      <sql
        src="sql/create_pointbase.sql"
        driver="oracle.jdbc.driver.OracleDriver"
        userid="${ora.user}"
        password="${ora.passwd}"
        url="${ora.url}"
        classpath="${classes12.zip}"
        onerror="continue"
        print="yes"
      />

    </target>

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

    <target name="undeploy" depends="init-common">
      <echo message="Executing sql from ${sql.file}"/>
      <sql
        src="sql/drop_pointbase.sql"
        driver="oracle.jdbc.driver.OracleDriver"
        userid="${ora.user}"
        password="${ora.passwd}"
        url="${ora.url}"
        classpath="${classes12.zip}"
        onerror="continue"
        print="yes"
      />

      <antcall target="undeploy-common"/>

      <antcall target="delete-jdbc-resource-common">
        <param name="jdbc.resource.name" value="jdbc/s1qeDB-stress"/>
      </antcall>
      <antcall target="delete-jdbc-connpool-common">
        <param name="jdbc.conpool.name" value="jdbc-stress"/>
      </antcall>
    </target>
    <target name="usage">
        <antcall target="usage-common"/>
    </target>

</project>
