<?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 commonRun SYSTEM "./../../../config/run.xml">
<!ENTITY testproperties SYSTEM "./build.properties">
<!ENTITY database SYSTEM "../config/database.xml">
]>

<project name="web-ejbsubclassingApp" default="usage" basedir=".">

    &database;
    &commonSetup;
    &commonBuild;
    &commonRun;
    &testproperties;

<!--
    <target name="all" depends="build,setup,deploy-war, run-war, undeploy-war, deploy-ear, run-ear, undeploy-ear, unsetup"/>

    <target name="run-test" depends="build,deploy-war, run-war, undeploy-war, deploy-ear, run-ear, undeploy-ear"/>
-->
    <target name="all" depends="build, setup, deploy-ear, run-ear, unsetup, undeploy-ear"/>

<!--
        <antcall target="build"/>
        <antcall target="setup"/>
        <antcall target="deploy-war"/>
        <antcall target="run-war"/>
        <antcall target="undeploy-war"/>
        <antcall target="deploy-ear"/>
        <antcall target="run-ear"/>
        <antcall target="undeploy-ear"/>
        <antcall target="unsetup"/>
    </target>
-->

    <target name="clean" depends="init-common">
      <antcall target="clean-common"/>
      <ant dir="ra" target="clean"/>
    </target>

    <target name="setup">
    <antcall target="execute-sql-connector">
        <param name="sql.file" value="sql/simpleBank.sql"/>
    </antcall>

    </target>
    <target name="create-pool">
                <antcall target="create-connector-connpool-common">
                <param name="ra.name" value="${appname}App#jdbcra"/>
                <param name="connection.defname" value="javax.sql.DataSource"/>
                <param name="connector.conpool.name" value="embedded-ra-pool"/>
                </antcall>
                <antcall target="set-oracle-props">
                <param name="pool.type" value="connector"/>
                <param name="conpool.name" value="embedded-ra-pool"/>
                </antcall>
    </target>
    <target name="create-resource">
                <antcall target="create-connector-resource-common">
                <param name="connector.conpool.name" value="embedded-ra-pool"/>
                <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
                </antcall>
     </target>


     <target name="create-admin-object" depends="init-common">
         <antcall target="asadmin-common">
            <param name="admin.command" value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname ${appname}App#jdbcra --property TableName=customer2:JndiName=jdbc/ejb-subclassing:SchemaName=connector:NoOfRows=1"/>
            <param name="operand.props" value="eis/jdbcAdmin"/>
         </antcall>
     </target>

     <target name="delete-admin-object" depends="init-common">
         <antcall target="asadmin-common">
            <param name="admin.command" value="delete-admin-object"/>
            <param name="operand.props" value="--target ${appserver.instance.name} eis/jdbcAdmin"/>
         </antcall>
         <!--antcall target="reconfig-common"/-->
     </target>

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

     <target name="create-ra-config" depends="init-common">
         <antcall target="asadmin-common">
            <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
            <param name="operand.props" value="${appname}App#jdbcra"/>
         </antcall>
     </target>

     <target name="delete-ra-config" depends="init-common">
         <antcall target="asadmin-common">
            <param name="admin.command" value="delete-resource-adapter-config"/>
            <param name="operand.props" value="${appname}App#jdbcra"/>
         </antcall>
         <!--antcall target="reconfig-common"/-->
     </target>

    <target name="unsetup">
    <antcall target="execute-sql-connector">
        <param name="sql.file" value="sql/dropBankTables.sql"/>
      </antcall>
    </target>

    <target name="delete-pool">
                <antcall target="delete-connector-connpool-common">
                <param name="connector.conpool.name" value="embedded-ra-pool"/>
                </antcall>
     </target>

     <target name="delete-resource">
                <antcall target="delete-connector-resource-common">
                <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
                </antcall>
    </target>

    <target name="compile" depends="clean">
        <ant dir="ra" target="compile"/>
        <antcall target="compile-common">
            <param name="src" value="ejb"/>
        </antcall>
        <antcall target="compile-servlet" />
    </target>

    <target name="compile-servlet" depends="init-common">
      <mkdir dir="${build.classes.dir}"/>
      <echo message="common.xml: Compiling test source files" level="verbose"/>
      <javac srcdir="servlet"
         destdir="${build.classes.dir}"
         classpath="${s1astest.classpath}:ra/publish/internal/classes"
         debug="on"
         failonerror="true"/>
     </target>


    <target name="build-ra">
       <ant dir="ra" target="build"/>
    </target>

    <target name="build" depends="compile">
    <property name="hasWebclient" value="yes"/>
    <ant dir="ra" target="assemble"/>
    <antcall target="webclient-war-common">
    <param name="hasWebclient" value="yes"/>
    <param name="webclient.war.classes" value="**/*.class"/>
    </antcall>

    <antcall target="ejb-jar-common">
    <param name="ejbjar.classes" value="**/*.class"/>
    </antcall>


    <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"/>
      <include name="*.war"/>
    </fileset>
    <fileset dir="ra/publish/lib">
      <include name="*.rar"/>
    </fileset>
    <fileset dir="${basedir}">
      <include name="META-INF/glassfish-resources.xml"/>
    </fileset>
    </ear>
    </target>


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

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

    <target name="run-war" depends="init-common">
        <antcall target="runwebclient-common">
        <param name="testsuite.id" value="web-to-ejb (stand-alone war based)"/>
        </antcall>
    </target>

    <target name="run-ear" depends="init-common">
        <antcall target="runwebclient-common">
        <param name="testsuite.id" value="web-to-ejb (ear based)"/>
        </antcall>
    </target>

    <target name="undeploy-ear" depends="init-common">
<!--        <antcall target="delete-ra-config"/>-->
        <antcall target="undeploy-common"/>
    </target>

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

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