<?xml version="1.0" encoding="ISO-8859-1"?>
<!--

    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

-->

<!DOCTYPE project [
<!ENTITY commonSetup SYSTEM "./../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "./../../../config/common.xml">
]>

<project name="mix" default="usage" basedir=".">
    &commonSetup;
    &commonBuild;

    <target name="all" depends="set-monitoring,contauth-exec,statementtimeout-exec,build,deploy,run,undeploy,switch-off-monitoring"/>

    <target name="set-monitoring" depends="init-common">
        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="server.monitoring-service.module-monitoring-levels.jdbc-connection-pool=OFF"/>
        </antcall>
        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="server.monitoring-service.module-monitoring-levels.jdbc-connection-pool=HIGH"/>
        </antcall>
    </target>

 <target name="switch-off-monitoring" depends="init-common">
        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="server.monitoring-service.module-monitoring-levels.jdbc-connection-pool=OFF"/>
        </antcall>
    </target>


    <target name="contauth-exec">
      <ant dir="../contauth" target="contauth-run"/>
    </target>

    <target name="statementtimeout-exec">
      <ant dir="../statementtimeout" target="statementtimeout-run"/>
    </target>

    <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="**/*Client*.class" />
        <param name="appclientjar.files" value="${build.classes.dir}" />
        <param name="appname" value="appmonitoring"/>
        <param name="appclient.jar" value="${assemble.dir}/appmonitoringAppClient.jar"/>
      </antcall>
    </target>

    <target name="deploy" depends="init-common">
      <exec executable="${ASADMIN}" failonerror="true">
        <arg line="deploy"/>
        <arg line="${as.props}"/>
        <arg line="--upload=true"/>
        <arg line="--retrieve ${assemble.dir}"/>
        <arg line="--target ${appserver.instance.name}"/>
        <arg line="${assemble.dir}/appmonitoringAppClient.jar"/>
      </exec>
    </target>

    <target name="run" depends="init-common">
      <echo message="appclient -client ${assemble.dir}/appmonitoringAppClient.jar -name appmonitoringClient -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}/appmonitoringAppClient.jar"/>
        <arg line="-name appmonitoringClient"/>
        <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"/>
      </exec>

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

    <target name="undeploy" depends="init-common">
      <exec executable="${ASADMIN}" failonerror="false">
        <arg line="undeploy"/>
        <arg line="${as.props}"/>
        <arg line="--target ${appserver.instance.name}"/>
        <arg line="appmonitoringAppClient"/>
      </exec>
      <ant dir="../contauth" target="undeploy"/>
      <ant dir="../statementtimeout" target="undeploy-limited"/>
    </target>

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

</project>
