<?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,setup,deploy,run,unsetup,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="util"/>
      </antcall>
      <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">
      <mkdir dir="${assemble.dir}"/>
      <antcall target="package-roster-jar"/>
      <antcall target="package-team-jar"/>
      <antcall target="appclient-jar-common"/>
      <antcall target="package-ear"/>
    </target>
    <target name="package-roster-jar">
      <antcall target="package-ejbjar-common">
        <param name="ejb-jar.xml" value="${ejb-jar-roster.xml}"/>
        <param name="sun-ejb-jar.xml" value="${sun-ejb-jar-roster.xml}"/>
        <param name="ejbjar.files" value="${build.classes.dir}"/>
        <param name="ejbjar.classes"
          value="**/LeagueDetails.class,**/PlayerDetails.class,
            **/TeamDetails.class,**/*Roster*.class,**/Debug.class"/>
        <param name="ejb.jar" value="${assemble.dir}/${appname}-ejb.jar"/>
      </antcall>
    </target>

    <target name="package-team-jar">
      <antcall target="package-ejbjar-common">
        <param name="ejb-jar.xml" value="${ejb-jar-team.xml}"/>
        <param name="sun-ejb-jar.xml" value="${sun-ejb-jar-team.xml}"/>
        <param name="ejbjar.files" value="${build.classes.dir}"/>
        <param name="ejbjar.classes"
          value="**/*League*.class,**/*Player*.class,**/*Team*.class,**/Debug.class,**/*dbschema*" />
        <param name="ejb.jar" value="${assemble.dir}/${appname}-team-ejb.jar"/>
      </antcall>
    </target>

    <target name="package-ear">
      <delete file="${assemble.dir}/${appname}.ear"/>
      <mkdir dir="${assemble.dir}"/>
      <mkdir dir="${build.classes.dir}/META-INF"/>
      <ear earfile="${assemble.dir}/${appname}App.ear" appxml="${application.xml}">
        <fileset dir="${assemble.dir}">
          <include name="*.jar"/>
        </fileset>
        <fileset dir="${env.APS_HOME}/lib" includes="reporter.jar"/>
      </ear>
    </target>


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

    <target name="setup" 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="${poolname}"/>
        <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.${poolname}.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.${poolname}.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.${poolname}.property.ServerName=129.158.229.239"/>
      </antcall>


      <antcall target="create-jdbc-resource-common">
        <param name="jdbc.conpool.name" value="${poolname}"/>
        <param name="jdbc.resource.name" value="jdbc/s1qeDB-stress-cmp"/>
      </antcall>

      <antcall target="create-persistence-resource-common">
        <param name="pm.resource.name" value="jdo/s1qePM-stress-cmp"/>
        <param name="jdbc.resource.name" value="jdbc/s1qeDB-stress-cmp"/>
      </antcall>

      <antcall target="create-tables"/>
    </target>

    <target name="create-tables">
      <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="create-tables"/>
      <antcall target="runclient-common"/>
    </target>

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

    <target name="drop-tables">
      <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"
      />
    </target>

    <target name="unsetup" depends="init-common">
      <antcall target="delete-persistence-resource-common">
        <param name="pm.resource.name" value="jdo/s1qePM-stress-cmp"/>
      </antcall>
      <antcall target="delete-jdbc-resource-common">
        <param name="jdbc.resource.name" value="jdbc/s1qeDB-stress-cmp"/>
      </antcall>
      <antcall target="delete-jdbc-connpool-common">
        <param name="jdbc.conpool.name" value="${poolname}"/>
      </antcall>
      <antcall target="drop-tables"/>
    </target>
    <target name="usage">
        <antcall target="usage-common"/>
    </target>

</project>
