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

    Copyright (c) 2017, 2020 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">
]>

<project name="simplestressApp" default="usage" basedir=".">

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

    <target name="all" depends="build,setup,deploy,run,undeploy,unsetup"/>
    <target name="run-test" 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="**/*Bean*.class" />
            <param name="appclientjar.classes"
              value="**/*Client*.class" />
        </antcall>
    </target>

    <target name="setup" depends="init-common">
        <antcall target="deploy-jms-common"/>
        <antcall target="create-jms-resource-common">
            <param name="dest.name"
                 value="clientQueue"/>
            <param name="dest.type"
                 value="queue"/>
            <param name="jms.resource.name"
                 value="jms/clientQueue"/>
            <param name="jms.resource.type"
                 value="jakarta.jms.Queue"/>
        </antcall>
    </target>

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

    <target name="run" depends="init-common" >
        <antcall target="test-send-receive-message"/>
        <antcall target="test-send-recreate-fail"/>
        <antcall target="test-send-create-newdomain"/>
    </target>

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

    <target name="unsetup" depends="init-common">
        <antcall target="undeploy-jms-common"/>
        <antcall target="delete-jms-resource-common">
             <param name="dest.name"
                 value="clientQueue"/>
             <param name="dest.type"
                 value="queue"/>
             <param name="jms.resource.name"
                 value="jms/clientQueue"/>
        </antcall>
    </target>

    <target name="test-send-receive-message">
        <antcall target="create-jms-user">
            <param name="userName" value="user1"/>
            <param name="FAILONERR" value="false"/>
            <param name="userPassword" value="password1"/>
            <param name="jmsServer" value=""/>
            <param name="vardir" value=""/>
        </antcall>
        <antcall target="runclient-common">
            <param name="appclient.application.args"
                   value="TestNewUser SENDRECEIVE VERIFY user1 password1"/>
        </antcall>
    </target>

    <target name="test-send-recreate-fail">
        <antcall target="runclient-common">
            <param name="appclient.application.args"
                   value="SettingupLooseMessageOnRecreate SEND NOVERIFY user1 password1"/>
        </antcall>
        <antcall target="start-clean-server"/>
        <antcall target="setup"/>
        <antcall target="deploy-common"/>
        <antcall target="create-jms-user">
            <param name="userName" value="user1"/>
            <param name="userPassword" value="password1"/>
            <param name="jmsServer" value=""/>
            <param name="vardir" value=""/>
            <param name="FAILONERR" value="true"/>
        </antcall>
        <antcall target="runclient-common">
            <param name="appclient.application.args"
                   value="TestLooseMessageOnRecreate RECEIVE NOVERIFY user1 password1"/>
        </antcall>
    </target>
    <target name="test-send-create-newdomain">
        <antcall target="stopDomain"/>
        <antcall target="create-domain-common">
            <param name="admin.domain" value="domain2"/>
            <param name="http.port" value="48080"/>
            <param name="orb.port" value="43700"/>
        </antcall>
        <antcall target="startDomain">
            <param name="admin.domain" value="domain2"/>
        </antcall>
        <antcall target="create-jms-user">
            <param name="userName" value="user1"/>
            <param name="userPassword" value="password1"/>
            <param name="jmsServer" value=""/>
            <param name="vardir" value="-varhome ${env.S1AS_HOME}/domains/domain2/imq"/>
            <param name="FAILONERR" value="true"/>
        </antcall>
        <antcall target="setup"/>
        <antcall target="runclient-common">
            <param name="appclient.application.args"
                   value="SendMessageToNewDomainMQStore SEND NOVERIFY user1 password1"/>
        </antcall>
        <antcall target="deploy-common"/>
        <antcall target="runclient-common">
            <param name="appclient.application.args"
                   value="TestReceiveNewDomainMQStore RECEIVE VERIFY user1 password1"/>
        </antcall>
        <antcall target="stopDomain">
            <param name="admin.domain" value="domain2"/>
        </antcall>
        <antcall target="delete-domain-common">
            <param name="admin.domain" value="domain2"/>
        </antcall>
        <antcall target="startDomain"/>
    </target>

    <target name="create-jms-user" depends="init-common">
           <exec executable="${env.S1AS_HOME}/../mq/bin/imqusermgr" failonerror="${FAILONERR}">
               <env key="IMQ_JAVAHOME" value="${java.home}"/>
                  <arg line="${jmsServer}"/>
                  <arg line="${vardir}"/>
                  <arg line=" add"/>
                  <arg line=" -u ${userName} "/>
                  <arg line=" -p ${userPassword} "/>
                  <arg line=" -g admin "/>
                  <arg line=" -f "/>
           </exec>
    </target>

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