<!--

    Copyright (c) 2018, 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

-->

<!--
    This is the top level build file that should be
    imported into all the leaf level build files
-->

<!-- ================================================================ -->
<!-- Targets to clean class files and jars files -->
<!--
Variables used:
    ${build.classes.dir}
    ${assemble.dir}
-->
<!-- ================================================================ -->
<target name="clean-classes-common" depends="init-common">
    <echo message="common.xml: Cleaning test source files: ${build.base.dir}"
        level="verbose"/>
  <delete dir="${build.base.dir}"/>
</target>

<target name="clean-jars-common" depends="init-common">
  <delete dir="${assemble.dir}"/>
</target>

<target name="clean-common" depends="init-common">
  <antcall target="clean-classes-common"/>
  <antcall target="clean-jars-common"/>
</target>

<!-- ================================================================ -->
<!-- Target to compile the java source files -->
<!--
Variables used:
    ${build.classes.dir}
    ${s1astest.classpath}
    ${src}
-->
<!-- ================================================================ -->
<target name="compile-common" depends="init-common">
  <mkdir dir="${build.classes.dir}"/>
  <echo message="common.xml: Compiling test source files" level="verbose"/>
  <mkdir dir="${src}"/>
  <javac srcdir="${src}"
    destdir="${build.classes.dir}"
    classpath="${s1astest.classpath}"
    debug="on"
    includeantruntime="false"
    failonerror="true"
    fork="yes"/>
</target>

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


<!-- ================================================================ -->
<!-- This is the external target war-common to be called up build files
usage:
<antcall target="war-common">
<param name="war.classes" value="MyServlet.class,MyOtherServlet.class"/>
</antcall>
Assumption: All the static content is placed in webcontent directory

Variables Used:
    ${war.file}
    ${build.classes.dir}
    ${appname}
    ${assemble.dir}
    ${web.xml}
    ${beans.xml}
    ${tlds}
    ${tagfiles}
    ${APS_HOME}
    ${webclient.war.files}
    ${webclient.war.classes}
-->
<!-- ================================================================ -->

<target name="webclient-war-common" if="hasWebclient" depends="init-common">
  <mkdir dir="${assemble.dir}"/>
  <antcall target="package-war-common">
    <param name="war.classes" value="${build.classes.dir}"/>
    <param name="war.file" value="${assemble.dir}/${appname}-web.war"/>
  </antcall>
</target>

<target name="publish-war-common" depends="init-common">
  <mkdir dir="${build.webapps.dir}"/>
  <copy file="${assemble.dir}/${appname}-web.war"
        tofile="${build.webapps.dir}/${appname}.war"
        overwrite="true" />
</target>

<target name="clean-webapps-common" depends="init-common">
    <delete dir="${build.webapps.dir}" quiet="true" />
</target>

<target name="clear">
    <delete file="${war.file}"/>
</target>

<target name="copy-tlds" if="tlds-exist" depends="clear,test-tlds-exist">
  <mkdir dir="${build.classes.dir}/tmp/WEB-INF/tlds"/>
  <copy todir="${build.classes.dir}/tmp/WEB-INF/tlds" failonerror="false">
      <fileset dir="${tlds}">
          <include name="**/*.tld"/>
      </fileset>
  </copy>
</target>

<target name="copy-tagfiles" if="tagfiles-exist" depends="clear,test-tagfiles-exist">
  <mkdir dir="${build.classes.dir}/tmp/WEB-INF/tags"/>
  <copy todir="${build.classes.dir}/tmp/WEB-INF/tags" failonerror="false">
      <fileset dir="${tagfiles}">
          <include name="**/*.tag"/>
          <include name="**/*.tagx"/>
      </fileset>
  </copy>
</target>

<target name="package-war-common" depends="copy-tlds,copy-tagfiles">
  <echo message="my build classes dir is:${build.classes.dir}" level="verbose"/>
  <mkdir dir="${build.classes.dir}/tmp"/>
  <mkdir dir="${build.classes.dir}/tmp/WEB-INF"/>
  <mkdir dir="${build.classes.dir}/tmp/WEB-INF/classes"/>
  <mkdir dir="${build.classes.dir}/tmp/WEB-INF/lib"/>
  <mkdir dir="lib"/>
  <copy file="${glassfish-web.xml}"
      tofile="${build.classes.dir}/tmp/WEB-INF/glassfish-web.xml" failonerror="false"/>
  <copy file="${sun-web.xml}"
      tofile="${build.classes.dir}/tmp/WEB-INF/sun-web.xml" failonerror="false"/>
  <copy file="${glassfish-ejb-jar.xml}"
      tofile="${build.classes.dir}/tmp/WEB-INF/glassfish-ejb-jar.xml" failonerror="false"/>
  <copy file="${sun-ejb-jar.xml}"
      tofile="${build.classes.dir}/tmp/WEB-INF/sun-ejb-jar.xml" failonerror="false"/>
  <copy file="${weblogic.xml}"
      tofile="${build.classes.dir}/tmp/WEB-INF/weblogic.xml" failonerror="false"/>
  <copy file="${glassfish-resources.xml}"
      tofile="${build.classes.dir}/tmp/WEB-INF/glassfish-resources.xml" failonerror="false"/>
  <copy todir="${build.classes.dir}/tmp/WEB-INF/lib" failonerror="false">
      <fileset dir="lib">
          <include name="**/*.jar"/>
          <include name="**/*.zip"/>
      </fileset>
  </copy>
  <copy file="${webservices.xml}"
        tofile="${build.classes.dir}/tmp/WEB-INF/webservices.xml"
        failonerror="false"/>
  <copy file="${mappingfile.location}/${mappingfile.name}"
        tofile="${build.classes.dir}/tmp/${mappingfile.name}"
        failonerror="false"/>
  <copy file="${wsdlfile.location}/${wsdlfile.name}"
        tofile="${build.classes.dir}/tmp/WEB-INF/wsdl/${wsdlfile.name}"
        failonerror="false"/>
  <copy file="${tagPlugins.xml}"
        tofile="${build.classes.dir}/tmp/WEB-INF/tagPlugins.xml"
        failonerror="false"/>
  <copy file="${web.xml}"
      tofile="${build.classes.dir}/tmp/WEB-INF/web.xml"
        failonerror="false"/>
    <copy file="${persistence.xml}"
      tofile="${build.classes.dir}/tmp/WEB-INF/classes/META-INF/persistence.xml"
        failonerror="false"/>
   <copy file="${beans.xml}"
      tofile="${build.classes.dir}/tmp/WEB-INF/beans.xml"
        failonerror="false"/>
  <copy file="${context.xml}"
      tofile="${build.classes.dir}/tmp/META-INF/context.xml" failonerror="false"/>
  <copy file="${cdi-extension.service}"
      tofile="${build.classes.dir}/tmp/WEB-INF/classes/META-INF/services/jakarta.enterprise.inject.spi.Extension" failonerror="false"/>

  <copy todir="${build.classes.dir}/tmp/WEB-INF/classes">
      <fileset dir="${war.classes}">
          <include name="**/*.class"/>
      </fileset>
  </copy>
  <echo message="Creating war file ${war.file}" level="verbose"/>
  <mkdir dir="${basedir}/docroot"/>
  <jar jarfile="${war.file}" update="true">
    <fileset dir="${build.classes.dir}/tmp" casesensitive="yes">
      <include name="**/*class*"/>
    </fileset>
    <fileset dir="${basedir}/docroot" casesensitive="yes">
      <include name="**/*.html"/>
      <include name="**/*.HTML"/>
      <include name="**/*.xhtml"/>
      <include name="**/*.jsp"/>
      <include name="**/*.jspx"/>
      <include name="**/*.jspf"/>
      <include name="**/*.gif"/>
      <include name="**/*.do"/>
      <include name="**/*.txt"/>
      <include name="**/*.css"/>
      <include name="**/*.shtml"/>
      <include name="**/*.jar"/>
      <exclude name="**/*.java,**/*.xml,**/*.properties"/>
    </fileset>
    <fileset dir="${build.classes.dir}/tmp/" casesensitive="true">
      <include name="WEB-INF/web.xml"/>
      <include name="WEB-INF/glassfish-web.xml"/>
      <include name="WEB-INF/glassfish-ejb-jar.xml"/>
      <include name="WEB-INF/glassfish-resources.xml"/>
      <include name="WEB-INF/sun-web.xml"/>
      <include name="WEB-INF/sun-ejb-jar.xml"/>
      <include name="WEB-INF/beans.xml"/>
      <include name="WEB-INF/weblogic.xml"/>
      <include name="WEB-INF/webservices.xml"/>
      <include name="WEB-INF/tagPlugins.xml"/>
      <include name="WEB-INF/lib/*"/>
      <include name="WEB-INF/lib/extra/*"/>
      <include name="WEB-INF/tlds/*"/>
      <include name="WEB-INF/tags/*"/>
      <include name="WEB-INF/wsdl/${wsdlfile.name}"/>
      <include name="${mappingfile.name}"/>
      <include name="META-INF/context.xml"/>
      <include name="WEB-INF/classes/META-INF/services/jakarta.enterprise.inject.spi.Extension"/>
      <include name="WEB-INF/classes/META-INF/persistence.xml"/>
    </fileset>
  </jar>
  <echo message="created war file ${war.file}" level="verbose"/>
  <delete dir="${build.classes.dir}/tmp/WEB-INF" failonerror="false"/>
  <echo message="my webclient war classes are:${webclient.war.classes}"
      level="verbose"/>
</target>

<target name="test-tlds-exist">
  <available file="${tlds}" property="tlds-exist"/>
</target>

<target name="test-tagfiles-exist">
  <available file="${tagfiles}" property="tagfiles-exist"/>
</target>

<!-- ================================================================ -->
<!-- Target to package the ejb application to jar file -->
<!--
Variables Used:
    ${ejb.jar}
    ${build.classes.dir}
    ${ejb-jar.xml}
    ${beans.xml}
    ${persistence-orm.xml}
    ${persistence.xml}
    ${sun-ejb-jar.xml}
    ${glassfish-ejb-jar.xml}
    ${sun-cmp-mappings.xml}
    ${metainf.dir}
    ${ejbjar.files}
    ${dbschema}
-->
<!-- ================================================================ -->
<target name="package-ejbjar-common">
  <delete file="${ejb.jar}"/>
  <echo message="common.xml: Generating ejb-jar inside build directory"
      level="verbose"/>
  <mkdir dir="${build.classes.dir}/META-INF"/>
  <copy file="${ejb-jar.xml}"
    tofile="${build.classes.dir}/META-INF/ejb-jar.xml"
    failonerror="false"/>
  <copy file="${persistence.xml}"
    tofile="${build.classes.dir}/META-INF/persistence.xml"
    failonerror="false"/>
  <copy file="${persistence-orm.xml}"
    tofile="${build.classes.dir}/META-INF/persistence-orm.xml"
    failonerror="false"/>
  <copy file="${webservices.xml}"
    tofile="${build.classes.dir}/META-INF/webservices.xml"
    failonerror="false"/>
  <copy file="${sun-ejb-jar.xml}"
    tofile="${build.classes.dir}/META-INF/sun-ejb-jar.xml"
    failonerror="false"/>
  <copy file="${glassfish-ejb-jar.xml}"
    tofile="${build.classes.dir}/META-INF/glassfish-ejb-jar.xml"
    failonerror="false"/>
  <copy file="${glassfish-resources.xml}"
    tofile="${build.classes.dir}/META-INF/glassfish-resources.xml"
    failonerror="false"/>
  <copy file="${sun-cmp-mappings.xml}"
    tofile="${build.classes.dir}/META-INF/sun-cmp-mappings.xml"
    failonerror="false"/>
  <copy file="${beans.xml}"
    tofile="${build.classes.dir}/META-INF/beans.xml"
    failonerror="false"/>
  <copy file="${batch.xml}"
    tofile="${build.classes.dir}/META-INF/batch.xml"
    failonerror="false"/>
  <copy todir="${build.classes.dir}/META-INF/batch-jobs" failonerror="false">
      <fileset dir="${batch.jobs.dir}"/>
  </copy>
  <copy file="${dbschema}" todir="${build.classes.dir}" failonerror="false"/>
  <jar jarfile="${ejb.jar}" basedir="${ejbjar.files}" update="true"
    includes ="${ejbjar.classes}">
    <metainf dir="${build.classes.dir}/META-INF">
      <include name="ejb-jar.xml"/>
      <include name="persistence.xml"/>
      <include name="persistence-orm.xml"/>
      <include name="webservices.xml"/>
      <include name="sun-ejb-jar.xml"/>
      <include name="glassfish-resources.xml"/>
      <include name="glassfish-ejb-jar.xml"/>
      <include name="sun-cmp-mappings.xml"/>
      <include name="beans.xml"/>
      <include name="batch-jobs/**/*.xml"/>
      <include name="batch.xml"/>
    </metainf>
  </jar>
  <delete dir="${build.classes.dir}/META-INF" failonerror="false"/>
  <delete file="${build.classes.dir}/*.dbschema" failonerror="false"/>
</target>

<!-- ================================================================ -->
<!-- Target to package the appclient application to jar file -->
<!--
Variables Used:
    ${appclient.jar}
    ${appclientjar.classes}
    ${appclientjar.files}
    ${build.classes.dir}
    ${application-client.xml}
    ${glassfish-application-client.xml}
    ${sun-application-client.xml}
-->
<!-- ================================================================ -->
<target name="package-appclientjar-common">
  <delete file="${appclient.jar}"/>
  <echo message="common.xml: Generating appclient-jar inside build directory"
      level="verbose"/>
  <mkdir dir="${build.classes.dir}/META-INF"/>
  <copy file="${application-client.xml}"
        tofile="${build.classes.dir}/META-INF/application-client.xml"
        failonerror="false"/>
  <copy file="${glassfish-application-client.xml}" tofile="${build.classes.dir}/META-INF/glassfish-application-client.xml"
        failonerror="false"/>
  <copy file="${sun-application-client.xml}" tofile="${build.classes.dir}/META-INF/sun-application-client.xml"
        failonerror="false"/>
  <jar jarfile="${appclient.jar}" basedir="${appclientjar.files}"
    update="true" includes ="${appclientjar.classes}"
    manifest="./client/MANIFEST.MF">
    <metainf dir="${build.classes.dir}/META-INF">
      <include name="application-client.xml"/>
      <include name="glassfish-application-client.xml"/>
      <include name="sun-application-client.xml"/>
    </metainf>
  </jar>
</target>

<!-- ================================================================ -->
<!-- Target to create the ejb application jar file -->
<!-- ================================================================ -->
<target name="ejb-jar-common" depends="init-common">
  <mkdir dir="${assemble.dir}"/>
  <antcall target="package-ejbjar-common">
    <param name="ejbjar.files" value="${build.classes.dir}"/>
    <param name="ejb.jar" value="${assemble.dir}/${appname}-ejb.jar"/>
  </antcall>
</target>

<!-- ================================================================ -->
<!-- Target to create the appclient jar file -->
<!-- ================================================================ -->
<target name="appclient-jar-common" depends="init-common">
  <mkdir dir="${assemble.dir}"/>
  <antcall target="package-appclientjar-common">
    <param name="appclientjar.files"
      value="${build.classes.dir}"/>
    <param name="appclient.jar"
      value="${assemble.dir}/${appname}-client.jar"/>
  </antcall>
</target>

<!-- ===== package par ===== -->
<target name="package-persistence-common" depends="init-common" if="ejb30-persistence">
    <echo message="CREATING Persistence archive: common.xml: ${build.classes.dir}, ${assemble.dir}"/>
    <mkdir dir="${assemble.dir}"/>
    <delete file="${assemble.dir}/${appname}-persistence.jar" failonerror="false"/>
    <echo message="common.xml: Generating PAR inside build directory"/>
    <mkdir dir="${build.classes.dir}/META-INF"/>
    <copy file="${persistence.xml}" tofile="${build.classes.dir}/META-INF/persistence.xml" failonerror="false"/>
    <copy file="${mapping.xml}" tofile="${build.classes.dir}/META-INF/entity-mapping.xml" failonerror="false"/>
    <!-- make a jar  -->
    <jar jarfile="${assemble.dir}/${appname}-persistence.jar" basedir="${build.classes.dir}" update="true" includes ="**/*.class" excludes="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Bean*.class,**/*EJB*.class,**/*Exception.class">
       <metainf dir="${build.classes.dir}/META-INF">
           <include name="**/*.xml"/>
       </metainf>
    </jar>
    <delete dir="${build.classes.dir}/META-INF" failonerror="false"/>
</target>

<!-- ================================================================ -->
<!-- Target to assemble the ejb application to ear file -->
<!-- ================================================================ -->
<target name="build-ear-common" depends="fixFiles,package-persistence-common,ejb-jar-common,appclient-jar-common,webclient-war-common">
  <delete file="${assemble.dir}/${appname}.ear"/>
  <mkdir dir="${assemble.dir}"/>
  <mkdir dir="${build.classes.dir}/META-INF"/>
  <copy file="${sun-application.xml}" tofile="${build.classes.dir}/META-INF/sun-application.xml"      failonerror="false"/>
  <copy file="${application.xml}" tofile="${build.classes.dir}/META-INF/application.xml"      failonerror="false"/>
  <copy file="${glassfish-resources-ear.xml}" tofile="${build.classes.dir}/META-INF/glassfish-resources.xml" failonerror="false"  filtering="true"/>
  <jar jarfile="${assemble.dir}/${appname}App.ear">
    <fileset dir="${assemble.dir}">
      <include name="*.jar"/>
      <include name="*.war"/>
    </fileset>
    <fileset dir="${build.classes.dir}">
    <include name="META-INF/sun-application.xml"/>
    <include name="META-INF/application.xml"/>
        <include name="META-INF/glassfish-resources.xml"/>
    </fileset>
    <fileset dir="${env.APS_HOME}" includes="lib/reporter.jar"/>
  </jar>
</target>


<!-- ================================================================ -->
<!-- Target to assemble the ejb application to ear file -->
<!-- ================================================================ -->
<target name="ear-common" depends="fixFiles,init-common">
  <delete file="${assemble.dir}/${appname}.ear"/>
  <mkdir dir="${assemble.dir}"/>
  <mkdir dir="${build.classes.dir}/META-INF"/>
  <copy file="${sun-application.xml}" tofile="${build.classes.dir}/META-INF/sun-application.xml"      failonerror="false"/>
  <copy file="${glassfish-resources-ear.xml}" tofile="${build.classes.dir}/META-INF/glassfish-resources.xml" failonerror="false"  filtering="true"/>
  <ear earfile="${assemble.dir}/${appname}App.ear"
    appxml="${application.xml}">
    <fileset dir="${assemble.dir}">
      <include name="*.jar"/>
      <include name="*.war"/>
    </fileset>
    <fileset dir="${build.classes.dir}">
    <include name="META-INF/sun-application.xml"/>
        <include name="META-INF/glassfish-resources.xml"/>
    </fileset>
    <fileset dir="${env.APS_HOME}" includes="lib/reporter.jar"/>
  </ear>
</target>


<!-- run Verifier on the ear file -->
<target name="verifier" depends="init-common">
    <echo message="Running verifier
        ear file ${assemble.dir}/${appname}App.ear " level="verbose"/>
    <antcall target="verifier-common">
        <param name="verifier.command" value=" -n -rw "/>
        <param name="operand.props" value="${assemble.dir}/${appname}App.ear"/>
    </antcall>
    <echo message="Validate the static check results" level="verbose"/>
</target>

<target name="verifier-common">
  <echo message="Operand ${operand.props}"  level="verbose"/>
    <exec executable="${VERIFIER}" failonerror="true">
        <arg line="${verifier.command} ${operand.props}" />
    </exec>
</target>

<!-- ================================================================ -->
<!-- Target to execute asadmin commands  -->
<!-- ================================================================ -->
<target name="asadmin-common">
  <echo message="Doing admin task ${admin.command}" level="verbose"/>
  <echo message="Operand ${operand.props}"  level="verbose"/>
  <echo message="asadmin ${admin.command} ${as.props} ${operand.props}"/>
    <exec executable="${ASADMIN}" failonerror="true">
        <arg line="${admin.command} ${as.props} ${operand.props}" />
    </exec>
</target>

<target name="asadmin-common-ignore-fail">
  <echo message="Doing admin task ${admin.command} (ignore failures)"
      level="verbose"/>
  <echo message="Operand ${operand.props}"  level="verbose"/>
  <echo message="asadmin ${admin.command} ${as.props} ${operand.props}"/>
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="${admin.command} ${as.props} ${operand.props}" />
    </exec>
</target>


<!-- Target to execute a batchfile of asadmin commands  -->
<!-- ================================================================ -->
<target name="asadmin-batch-common">
  <echo message="Doing admin batch task ${admin.command} --file"
      level="verbose"/>
<property name="user.password.file" value="asadminuserpassword.txt"/>
<echo file="${user.password.file}" append="false">
AS_ADMIN_USERPASSWORD=${password}
AS_ADMIN_PASSWORD=${admin.password}
AS_ADMIN_ADMINPASSWORD=${admin.password}
AS_ADMIN_MASTERPASSWORD=${master.password}
</echo>
  <exec executable="${ASADMIN}" failonerror="true">
     <arg line="--user ${admin.user} --passwordfile ${user.password.file} --host ${admin.host} --port ${admin.port} --echo=true --terse=true"/>
     <arg line="multimode --file ${asadmin.file}" />
  </exec>
  <delete file="${user.password.file}" failonerror="false"/>
</target>

<!-- ================================================================ -->

<!-- ================================================================ -->
<!-- Target to create the user in file realm the AppServ  -->
<!-- ================================================================ -->
<target name="create-user-common" depends="init-common">
<property name="user.password.file" value="asadminuserpassword.txt"/>
<echo file="${user.password.file}" append="false">
AS_ADMIN_USERPASSWORD=${password}
AS_ADMIN_PASSWORD=${admin.password}
AS_ADMIN_ADMINPASSWORD=${admin.password}
AS_ADMIN_MASTERPASSWORD=${master.password}
</echo>
  <exec executable="${ASADMIN}">
    <arg line="create-file-user"/>
    <arg line="--user ${admin.user} --passwordfile ${user.password.file} --host ${admin.host} --port ${admin.port} --echo=true --terse=true"/>
    <arg line="--groups ${groups}"/>
    <arg line="--authrealmname ${authrealmname}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${user}"/>
  </exec>
  <delete file="${user.password.file}" failonerror="false"/>
</target>

<!-- ================================================================ -->
<!-- Target to delete the user in file realm the AppServ  -->
<!-- ================================================================ -->
<target name="delete-user-common" depends="init-common">
<echo message="Deleting user ${user} in file realm" level="verbose"/>
<exec executable="${ASADMIN}">
  <arg line="delete-file-user"/>
  <arg line="${as.props}"/>
  <arg line="--authrealmname ${authrealmname}"/>
  <arg line="--target ${appserver.instance.name}"/>
  <arg line="${user}"/>
</exec>
</target>

<!-- ================================================================ -->
<!-- J2EE Connector related targets                        -->
<!-- ================================================================ -->

<target name="create-connector-connpool-common"
        depends="init-common, create-connector-connpool"/>

<target name="create-connector-connpool" depends="init-common">
  <property name="failonerror" value="false"/>
  <property name="extra-params" value=""/>
  <echo message="asadmin create-connector-connection-pool ${as.props} --raname ${ra.name} --connectiondefinition ${connection.defname} --target ${appserver.instance.name} ${connector.conpool.name}"/>
  <exec executable="${ASADMIN}" failonerror="${failonerror}">
    <arg line="create-connector-connection-pool"/>
    <arg line="${as.props}"/>
    <arg line="--raname ${ra.name}"/>
    <arg line="${extra-params}"/>
    <arg line="--connectiondefinition ${connection.defname}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${connector.conpool.name}"/>
  </exec>
</target>

<target name="delete-connector-connpool-common" depends="init-common">
  <echo message="asadmin delete-connector-connection-pool ${as.props} --cascade=true ${connector.conpool.name}"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="delete-connector-connection-pool"/>
    <arg line="${as.props}"/>
    <arg line="--cascade=true"/>
    <arg line="${connector.conpool.name}"/>
  </exec>
</target>

<!--  create/delete Connector resource  -->
<target name="create-connector-resource-common" depends="init-common">
  <property name="failonerror" value="false"/>
  <echo message="asadmin create-connector-resource ${as.props} --poolname ${connector.conpool.name} --target ${appserver.instance.name} ${connector.jndi.name}"/>
  <exec executable="${ASADMIN}" failonerror="${failonerror}">
    <arg line="create-connector-resource"/>
    <arg line="${as.props}"/>
    <arg line="--poolname ${connector.conpool.name}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${connector.jndi.name}"/>
  </exec>
</target>

<target name="delete-connector-resource-common" depends="init-common">
  <echo message="asadmin delete-connector-resource ${as.props} ${connector.jndi.name}"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="delete-connector-resource"/>
    <arg line="${as.props}"/>
    <arg line="${connector.jndi.name}"/>
  </exec>
</target>

<!--  deploy/undeploy RAR files                     -->
<target name="deploy-rar-common" depends="init-common">
  <echo message="Deploying ${rarfile}" level="verbose"/>
  <echo message="asadmin deploy ${as.props} --target ${appserver.instance.name} --force=${force} ${rarfile}"/>
    <property name="force" value="false"/>
    <property name="extra-params" value=""/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="${extra-params}"/>
    <arg line="--force=${force}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${rarfile}"/>
  </exec>
  <echo message="Deploying ${rarfile} on ${appserver.instance.name}"/>
</target>

<target name="undeploy-rar-common" depends="init-common">
  <echo message="Undeploying ${undeployrar}" level="verbose"/>
  <echo message="asadmin undeploy ${as.props} --target ${appserver.instance.name} --cascade=${cascade} ${undeployrar}"/>
    <property name="cascade" value="false"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="undeploy"/>
    <arg line="${as.props}"/>
    <arg line="--cascade=${cascade}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${undeployrar}"/>
  </exec>
</target>

<!-- ================================================================ -->
<!-- Target to create JDBC connection pool  -->
<!-- ================================================================ -->
<target name="create-jdbc-connpool-common" depends="init-common">
<echo message="created jdbc connection pool ${jdbc.conpool.name}"
    level="verbose"/>
    <property name="extra-params" value=""/>
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="create-jdbc-connection-pool"/>
        <arg line="--datasourceclassname ${db.class}"/>
        <arg line="--restype ${jdbc.resource.type}"/>
        <arg line="${extra-params}"/>
        <arg line="--target ${appserver.instance.name}"/>
        <arg line="${as.props}"/>
        <arg line="${jdbc.conpool.name}"/>
    </exec>
    <antcall target="set-${db.type}-connpool-props"/>
</target>

<target name="create-jdbc-driver-connpool-common" depends="init-common">
<echo message="created jdbc connection pool ${jdbc.conpool.name}"
    level="verbose"/>
    <property name="extra-params" value=""/>
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="create-jdbc-connection-pool"/>
        <arg line="--driverclassname ${db.class}"/>
        <arg line="--restype ${jdbc.resource.type}"/>
        <arg line="${extra-params}"/>
        <arg line="--target ${appserver.instance.name}"/>
        <arg line="${as.props}"/>
        <arg line="${jdbc.conpool.name}"/>
    </exec>
    <antcall target="set-${db.type}-driver-connpool-props"/>
</target>

<target name="set-pointbase-connpool-props">
  <antcall target="asadmin-common-ignore-fail">
    <param name="admin.command" value="set" />
    <param name="operand.props"
      value="${resources.dottedname.prefix}.jdbc-connection-pool.${jdbc.conpool.name}.property.DatabaseName=${db.url}"/>
  </antcall>
  <antcall target="asadmin-common-ignore-fail">
    <param name="admin.command" value="set" />
    <param name="operand.props"
      value="${resources.dottedname.prefix}.jdbc-connection-pool.${jdbc.conpool.name}.property.User=${db.user}" />
  </antcall>
  <antcall target="asadmin-common-ignore-fail">
    <param name="admin.command" value="set" />
    <param name="operand.props"
      value="${resources.dottedname.prefix}.jdbc-connection-pool.${jdbc.conpool.name}.property.Password=${db.pwd}" />
  </antcall>
</target>

<target name="set-pointbase-driver-connpool-props">
  <antcall target="asadmin-common-ignore-fail">
    <param name="admin.command" value="set" />
    <param name="operand.props"
        value="${resources.dottedname.prefix}.jdbc-connection-pool.${jdbc.conpool.name}.property.URL=${db.url};user=${db.user};password=${db.pwd}"/>
  </antcall>
</target>

<target name="set-derby-connpool-props">
    <exec executable="${ASADMIN}" failonerror="false">
      <arg line="set"/>
      <arg line="${as.props}"/>
      <arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.User=${db.user}"/>
    </exec>
    <exec executable="${ASADMIN}" failonerror="false">
      <arg line="set"/>
      <arg line="${as.props}"/>
      <arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.Password=${db.pwd}"/>
    </exec>
    <exec executable="${ASADMIN}" failonerror="false">
      <arg line="set"/>
      <arg line="${as.props}"/>
      <arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.driverType=4"/>
    </exec>
    <exec executable="${ASADMIN}" failonerror="false">
      <arg line="set"/>
      <arg line="${as.props}"/>
      <arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.portNumber=${db.port}"/>
    </exec>
    <exec executable="${ASADMIN}" failonerror="false">
      <arg line="set"/>
      <arg line="${as.props}"/>
      <arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.dataBaseName=${db.name}"/>
    </exec>
    <exec executable="${ASADMIN}" failonerror="false">
      <arg line="set"/>
      <arg line="${as.props}"/>
      <arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.retrieveMessagesFromServerOnGetMessage=true"/>
    </exec>
    <exec executable="${ASADMIN}" failonerror="false">
      <arg line="set"/>
      <arg line="${as.props}"/>
      <arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.create=true"/>
    </exec>
    <exec executable="${ASADMIN}" failonerror="false">
      <arg line="set"/>
      <arg line="${as.props}"/>
      <arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.serverName=${db.host}"/>
    </exec>
</target>

<target name="set-derby-driver-connpool-props">
  <antcall target="asadmin-common-ignore-fail">
    <param name="admin.command" value="set" />
    <param name="operand.props"
        value="${resources.dottedname.prefix}.jdbc-connection-pool.${jdbc.conpool.name}.property.URL=${db.url};user=${db.user};password=${db.pwd}"/>
  </antcall>
</target>

<!-- ================================================================ -->
<!-- Target to delete JDBC connection-pool  -->
<!-- ================================================================ -->
<target name="delete-jdbc-connpool-common" depends="init-common">
<echo message="asadmin delete-jdbc-connection-pool ${as.props} --cascade=true --target ${appserver.instance.name} ${jdbc.conpool.name}"/>
<exec executable="${ASADMIN}" failonerror="false">
        <arg line="delete-jdbc-connection-pool"/>
        <arg line="${as.props}"/>
        <arg line="--cascade=true"/>
        <arg line="--target ${appserver.instance.name}"/>
        <arg line="${jdbc.conpool.name}"/>
    </exec>
    <echo message="cmd executed for ${appserver.instance.name}"/>
</target>

<!-- ================================================================ -->
<!-- Target to create JDBC resource  -->
<!-- ================================================================ -->
<target name="create-jdbc-resource-common" depends="init-common">
<echo message="Creating jdbc resource pool ${jdbc.resource.name}"
    level="verbose"/>
  <echo message="asadmin create-jdbc-resource ${as.props} --connectionpoolid ${jdbc.conpool.name} --target ${appserver.instance.name} ${jdbc.resource.name}"/>
  <exec executable="${ASADMIN}" failonerror="false">
        <arg line="create-jdbc-resource"/>
        <arg line="${as.props}"/>
        <arg line="--connectionpoolid ${jdbc.conpool.name}"/>
        <arg line="--target ${appserver.instance.name}"/>
        <arg line="${jdbc.resource.name}"/>
    </exec>
    <echo message="cmd executed for ${appserver.instance.name}"/>
</target>

<!-- ================================================================ -->
<!-- Target to delete JDBC resource  -->
<!-- ================================================================ -->
<target name="delete-jdbc-resource-common" depends="init-common">
<echo message="asadmin delete-jdbc-resource ${as.props} --target ${appserver.instance.name} ${jdbc.resource.name}"/>
  <exec executable="${ASADMIN}" failonerror="false">
        <arg line="delete-jdbc-resource"/>
        <arg line="${as.props}"/>
        <arg line="--target ${appserver.instance.name}"/>
        <arg line="${jdbc.resource.name}"/>
    </exec>
    <echo message="cmd executed for ${appserver.instance.name}"/>
</target>

<!-- ================================================================ -->
<!-- Target to deploy JDBC resources  -->
<!-- ================================================================ -->
<target name="deploy-jdbc-common" depends="init-common">
    <antcall target="create-jdbc-connpool-common" />
    <antcall target="create-jdbc-resource-common" />
</target>

<target name="deploy-jdbc-driver-common" depends="init-common">
    <antcall target="create-jdbc-driver-connpool-common" />
    <antcall target="create-jdbc-resource-common" />
</target>

<!-- ================================================================ -->
<!-- Target to undeploy JDBC resources  -->
<!-- ================================================================ -->
<target name="undeploy-jdbc-common" depends="init-common">
  <antcall target="delete-jdbc-resource-common" />
  <antcall target="delete-jdbc-connpool-common" />
</target>

<!-- ================================================================ -->
<!-- Target to create persistence resource  -->
<!-- ================================================================ -->
<target name="create-persistence-resource-common" depends="init-common">
<echo message="Creating pm resource at ${pm.resource.name}"
    level="verbose"/>
    <echo message="asadmin create-persistence-resource ${as.props} --target ${appserver.instance.name} ${pm.resource.name}"/>
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="create-persistence-resource"/>
        <arg line="${as.props}"/>
        <arg line="--port ${admin.port}"/>
        <arg line="--target ${appserver.instance.name}"/>
        <arg line="${pm.resource.name}"/>
    </exec>
    <echo message="Created ${pm.resource.name} --target ${appserver.instance.name}"/>
  <antcall target="asadmin-common-ignore-fail">
    <param name="admin.command" value="set"/>
    <param name="operand.props"
      value="${resources.dottedname.prefix}.persistence-manager-factory-resource.${pm.resource.name}.factory_class=${pm.factory.class}"/>
  </antcall>
  <antcall target="asadmin-common-ignore-fail">
    <param name="admin.command" value="set" />
    <param name="operand.props"
      value="${resources.dottedname.prefix}.persistence-manager-factory-resource.${pm.resource.name}.jdbc_resource_jndi_name=${jdbc.resource.name}" />
  </antcall>
</target>

<!-- ================================================================ -->
<!-- Target to delete persistence resource  -->
<!-- ================================================================ -->
<target name="delete-persistence-resource-common" depends="init-common">
  <antcall target="asadmin-common-ignore-fail">
    <param name="admin.command"
      value="delete-persistence-resource
        --target ${appserver.instance.name}" />
    <param name="operand.props" value="${pm.resource.name}" />
  </antcall>
</target>

<target name="execute-sql-common" depends="init-common">
<echo message="Executing sql statement at ${basedir} from ${sql.file}"
    level="verbose"/>
  <sql
    driver="${db.driver}"
    url="${db.url}"
    userid="${db.user}"
    password="${db.pwd}"
    src="${sql.file}"
    onerror="continue"
    print="yes"
    classpath="${s1astest.classpath}"/>
</target>


<target name="execute-ejb-sql-common" depends="init-common">
<echo message="Executing sql statement at ${basedir} from ${sql.file}"
    level="verbose"/>
  <sql
    driver="${db.driver}"
    url="jdbc:derby://localhost:${db.port}/sun-appserv-samples;create=true;"
    userid="APP"
    password="APP"
    src="${sql.file}"
    onerror="continue"
    print="yes"
    output="${build.classes.dir}/setupDBTables.out"
    classpath="${s1astest.classpath}" />
</target>

<!-- ================================================================ -->
<!-- Target to create/delete mail resources  -->
<!--
    Properties required:
    mailhost
    fromaddress
    debug
    enabled
    mail.resource.name (e.g. mail/MySession)
-->
<!-- ================================================================ -->
<target name="create-mail-resource-common">
  <exec executable="${ASADMIN}">
    <arg line="create-mail-resource"/>
    <arg line="--port ${admin.port}"/>
    <arg line="--mailhost ${mailhost}"/>
    <arg line="--mailuser ${mailuser}"/>
    <arg line="--fromaddress ${fromaddress}"/>
    <arg line="--storeprotocol=imap"/>
    <arg line="--storeprotocolclass=com.sun.mail.imap.IMAPStore"/>
    <arg line="--transprotocol=smtp"/>
    <arg line="--transprotocolclass=com.sun.mail.smtp.SMTPTransport"/>
    <arg line="--debug=${debug}"/>
    <arg line="--enabled=${enabled}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${as.props}"/>
    <arg line="${mail.resource.name}"/>
  </exec>
</target>

<target name="delete-mail-resource-common">
  <exec executable="${ASADMIN}">
    <arg line="delete-mail-resource"/>
    <arg line="--port ${admin.port}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${as.props}"/>
    <arg line="${mail.resource.name}"/>
  </exec>
</target>

<!-- ================================================================ -->
<!-- Target to create database table through SQL file  -->
<!-- ================================================================ -->
<target name="create-sql-common" depends="init-common">
<echo message="creating tables from ${basedir}/sql/${db.create}"
    level="verbose"/>
  <sql
    driver="${db.driver}"
    url="${db.url}"
    userid="${db.user}"
    password="${db.pwd}"
    src="sql/${db.create}"
    onerror="continue"
    print="yes"
    output="${build.classes.dir}/setupDBTables.out"
    classpath="${s1astest.classpath}"
  />
</target>

<!-- ================================================================ -->
<!-- Target to delete database table through SQL file  -->
<!-- ================================================================ -->
<target name="delete-sql-common" depends="init-common">
<echo message="dropping tables from ${basedir}/sql/${db.drop}"
    level="verbose"/>
  <sql
    driver="${db.driver}"
    url="${db.url}"
    userid="${db.user}"
    password="${db.pwd}"
    src="sql/${db.drop}"
    onerror="continue"
    print="yes"
    output="${build.classes.dir}/setupDBTables.out"
    classpath="${s1astest.classpath}"
  />
</target>

<!-- ======================================================= -->
<!-- Taget to create JMS Connection      -->
<!-- ======================================================= -->
<target name="create-jms-connection-common" depends="init-common">
  <echo message="Creating JMS connection factory with name ${jms.factory.name}"
      level="verbose"/>
  <exec executable="${ASADMIN}">
    <arg line="create-jms-resource "/>
    <arg line="--restype ${jms.factory.type}"/>
    <arg line="${as.props}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${jms.factory.name}" />
  </exec>
</target>

<!-- ======================================================= -->
<!-- Taget to delete JMS Connection      -->
<!-- ======================================================= -->
<target name="delete-jms-connection-common" depends="init-common">
  <echo message="Delete JMS connection factory with name ${jms.factory.name}"
      level="verbose"/>
  <exec executable="${ASADMIN}">
    <arg line="delete-jms-resource "/>
    <arg line="${as.props}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${jms.factory.name}"/>
  </exec>
</target>

<!-- JMS: create/delete Destination Resource Targets -->
<target name="create-jms-resource-common" depends="init-common">
  <echo message="Creating JMS resource with name ${jms.resource.name}"
      level="verbose"/>

  <exec executable="${ASADMIN}">
    <arg line="create-jmsdest --desttype ${dest.type} "/>
    <arg line="${as.props}"/>
    <arg line="${dest.name}"/>
  </exec>

  <exec executable="${ASADMIN}">
    <arg line="create-jms-resource "/>
    <arg line="--restype ${jms.resource.type}"/>
    <arg line="--property imqDestinationName=${dest.name}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${as.props}"/>
    <arg line="${jms.resource.name}"/>
  </exec>
</target>

<target name="delete-jms-resource-common" depends="init-common">
  <echo message="Delete JMS resource with name ${jms.resource.name}"
      level="verbose"/>

  <exec executable="${ASADMIN}">
    <arg line="delete-jms-resource "/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${as.props} ${jms.resource.name}"/>
  </exec>

  <exec executable="${ASADMIN}">
    <arg line="delete-jmsdest --desttype ${dest.type} "/>
    <arg line="${as.props} ${dest.name}"/>
  </exec>
</target>

<!-- deploy/undeploy JMS resources  -->
<target name="deploy-jms-common" depends="init-common">
  <antcall target="create-jms-connection-common" />
  <antcall target="create-jms-resource-common" />
</target>

<target name="undeploy-jms-common" depends="init-common">
  <antcall target="delete-jms-connection-common" />
  <antcall target="delete-jms-resource-common" />
</target>


<!-- run StaticCheck on the ear file -->
<target name="staticCheck-common" depends="init-common">
    <echo message="Running StaticCheck -b on
        ear file ${assemble.dir}/${appname}App.ear " level="verbose"/>
    <antcall target="verifier-common">
        <param name="static-check.command" value=" -b "/>
        <param name="operand.props" value="${assemble.dir}/${appname}App.ear"/>
    </antcall>
    <echo message="Validate the static check results" level="verbose"/>
</target>

<target name="deploy-dir" depends="init-common">
    <echo message="Deploying files: ${assemble.dir}" level="verbose"/>
        <exec executable="${ASADMIN}" failonerror="false">
            <arg line="deploy"/>
            <arg line="${as.props}"/>
            <arg line="--contextroot ${contextroot}"/>
            <arg line="--target ${appserver.instance.name}"/>
            <arg line="--name ${appname}-web"/>
            <arg line="${assemble.dir}"/>
        </exec>
</target>

<!-- deploy the applications in AppServ  -->
<target name="deploy-common" depends="init-common">
    <antcall target="deploy-common-pe"/>
    <antcall target="deploy-common-ee"/>
</target>

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

<target name="deploy-common-pe" depends="init-common" unless="ee">
  <property name="deployed.app" value="${assemble.dir}/${appname}App.ear"/>
   <property name="extra-params" value=""/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="${extra-params}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="--retrieve ${assemble.dir}"/>
<!-- deployed.app defaults to ${assemble.dir}/${appname}App.ear defined in properties.xml-->
    <arg line="${deployed.app}"/>
  </exec>
  <echo message="Deployment on target server ${appserver.instance.name} successful"/>
   </target>

<target name="deploy-common-ee" depends="init-common" if="ee">
  <echo message="Deploying in EE..."/>
  <property name="deployed.app" value="${assemble.dir}/${appname}App.ear"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="--retrieve ${assemble.dir}"/>
<!-- deployed.app defaults to ${assemble.dir}/${appname}App.ear defined in properties.xml-->
    <arg line="${deployed.app}"/>
  </exec>
  <echo message="Deployment on target server ${appserver.instance.name} successful"/>
</target>

<target name="deploy-common-libraries" depends="init-common">
  <echo message="Deploying with libraries..."/>
  <property name="deployed.app" value="${assemble.dir}/${appname}App.ear"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="--retrieve ${assemble.dir}"/>
    <arg line="--libraries ${libraries}"/>
<!-- deployed.app defaults to ${assemble.dir}/${appname}App.ear defined in properties.xml-->
    <arg line="${deployed.app}"/>
  </exec>
  <echo message="Deployment on target server ${appserver.instance.name} successful"/>
</target>

<target name="deploy-verify-common-pe" depends="init-common" unless="ee">
  <property name="deployed.app" value="${assemble.dir}/${appname}App.ear"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="--verify=true"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="--retrieve ${assemble.dir}"/>
    <arg line="${deployed.app}"/>
  </exec>
  <echo message="Deployment on target server ${appserver.instance.name} successful"/>
   </target>

<target name="deploy-verify-common-ee" depends="init-common" if="ee">
  <echo message="Deploying in EE..."/>
  <property name="deployed.app" value="${assemble.dir}/${appname}App.ear"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="--verify=true"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="--retrieve ${assemble.dir}"/>
    <arg line="${deployed.app}"/>
  </exec>
  <echo message="Deployment on target server ${appserver.instance.name} successful"/>
</target>

<!-- deploy the web application in AppServ  -->
<target name="deploy-jsp-common" depends="init-common">
  <echo message="Deploying ${deploy.file} from ${basedir}." level="verbose"/>
  <property name="precompilejsp" value="true"/>
  <exec executable="${ASADMIN}" failonerror="true">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="--precompilejsp=${precompilejsp}"/>
    <arg line="--upload true"/>
    <arg line="--retrieve ${assemble.dir}"/>
    <arg line="--target ${appserver.instance.name}"/>
  </exec>
</target>

<target name="deploy-war-name" depends="init-common">
  <echo message="Deploying ${warname} from ${basedir}."
      level="verbose"/>
  <property name="force" value="false"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="--contextroot ${contextroot}"/>
    <arg line="--precompilejsp=${precompilejsp}"/>
    <arg line="--force=${force}"/>
    <arg line="--upload=true"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${warname}.war"/>
  </exec>
</target>

<!-- deploy the standalone war in AppServ  -->
<target name="deploy-war-common">
<antcall target ="deploy-war-commonpe"/>
<antcall target ="deploy-war-commonee"/>
</target>

<target name="deploy-war-commonpe" depends="init-common" unless="ee">
  <echo message="Deploying ${assemble.dir}/${appname}-web.war from ${basedir}."
      level="verbose"/>
  <property name="precompilejsp" value="true"/>
  <property name="force" value="false"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="--contextroot ${contextroot}"/>
    <arg line="--precompilejsp=${precompilejsp}"/>
    <arg line="--force=${force}"/>
    <arg line="--upload=true"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${assemble.dir}/${appname}-web.war"/>
  </exec>
</target>

<target name="deploy-war-libraries" depends="init-common" unless="ee">
  <echo message="Deploying ${assemble.dir}/${appname}-web.war from ${basedir}."
      level="verbose"/>
  <property name="precompilejsp" value="true"/>
  <property name="force" value="false"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="--contextroot ${contextroot}"/>
    <arg line="--precompilejsp=${precompilejsp}"/>
    <arg line="--force=${force}"/>
    <arg line="--upload=true"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="--libraries ${libraries}"/>
    <arg line="${assemble.dir}/${appname}-web.war"/>
  </exec>
</target>

<target name="deploy-war-instance" depends="init-common" unless="ee">
  <echo message="Deploying ${assemble.dir}/${appname}-web.war from ${basedir}."
      level="verbose"/>
  <property name="precompilejsp" value="true"/>
  <property name="force" value="false"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="--contextroot ${contextroot}"/>
    <arg line="--precompilejsp=${precompilejsp}"/>
    <arg line="--force=${force}"/>
    <arg line="--upload=true"/>
    <arg line="--target ${instance.name}"/>
    <arg line="${assemble.dir}/${appname}-web.war"/>
  </exec>
</target>


<target name="deploy-war-commonee" if="ee">
  <property name="precompilejsp" value="true"/>
  <property name="force" value="false"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="--type web"/>
    <arg line="--contextroot ${contextroot}"/>
    <arg line="--precompilejsp=${precompilejsp}"/>
    <arg line="--force=${force}"/>
    <arg line="--upload=true"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${assemble.dir}/${appname}-web.war"/>
  </exec>
</target>

<!-- deploy the standalone war in AppServ without specifying any
     contextroot argument, so that the context-root specified in
     sun-web.xml takes effect
-->
<target name="deploy-war-no-context-root" depends="init-common">
    <antcall target ="deploy-war-no-context-root-pe"/>
    <antcall target ="deploy-war-no-context-root-ee"/>
</target>

<target name="deploy-war-no-context-root-pe" unless="ee">
    <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="--user ${admin.user}"/>
    <arg line="--passwordfile ${admin.password.file}"/>
    <arg line="--host ${admin.host}"/>
    <arg line="--port ${admin.port}"/>
    <arg line="--upload=true"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${assemble.dir}/${appname}-web.war"/>
    </exec>
</target>

<target name="deploy-war-no-context-root-ee" if="ee">
    <exec executable="${ASADMIN}" failonerror="false">
    <arg line="deploy"/>
    <arg line="--user ${admin.user}"/>
    <arg line="--passwordfile ${admin.password.file}"/>
    <arg line="--host ${admin.host}"/>
    <arg line="--port ${admin.port}"/>
    <arg line="--type web"/>
    <arg line="--upload=true"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${assemble.dir}/${appname}-web.war"/>
    </exec>
</target>

<!-- deploy the standalone jar in AppServ  -->
<target name="deploy-jar-common" depends="init-common">
  <exec executable="${ASADMIN}" failonerror="true">
    <arg line="deploy"/>
    <arg line="${as.props}"/>
    <arg line="--upload=true"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${assemble.dir}/${appname}-ejb.jar"/>
  </exec>
</target>

<!-- deploy the standalone jar in AppServ  -->
<target name="deploy-client-common" 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}/${appname}-client.jar"/>
  </exec>
</target>

<target name="undeploy-war-name" depends="init-common">
  <property name="deployedapp.name" value="${warname}"/>
  <property name="extra-params" value=""/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="undeploy"/>
    <arg line="${as.props}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${extra-params}"/>
<!-- deployedapp.name defaults to {appname}App.declared in properties.xml-->
    <arg line="${deployedapp.name}"/>
  </exec>
</target>

<!--  undeploy the applications in AppServ  -->
<target name="undeploy-common" depends="init-common">
  <property name="deployedapp.name" value="${appname}App"/>
  <property name="extra-params" value=""/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="undeploy"/>
    <arg line="${as.props}"/>
<!--
<arg line=type ${apptype}/>
-->
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${extra-params}"/>
<!-- deployedapp.name defaults to {appname}App.declared in properties.xml-->
    <arg line="${deployedapp.name}"/>
  </exec>
</target>

<!--  undeploy the standalone war in AppServ  -->
<target name="undeploy-war-common" depends="init-common">
    <echo message="Undeploying warfile ${appname}-web from
        ${assemble.dir}/${appname}-web.war from ${basedir}." level="verbose"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="undeploy"/>
    <arg line="${as.props}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${appname}-web"/>
  </exec>
</target>

<target name="undeploy-war-instance" depends="init-common">
    <echo message="Undeploying warfile ${appname}-web from
        ${assemble.dir}/${appname}-web.war from ${basedir}." level="verbose"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="undeploy"/>
    <arg line="${as.props}"/>
    <arg line="--target ${instance.name}"/>
    <arg line="${appname}-web"/>
  </exec>
</target>

<!--  undeploy the standalone war in AppServ  -->
<target name="undeploy-jar-common" depends="init-common">
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="undeploy"/>
    <arg line="${as.props}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${appname}-ejb"/>
  </exec>
</target>

<!--  undeploy the standalone client in AppServ  -->
<target name="undeploy-client-common" depends="init-common">
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="undeploy"/>
    <arg line="${as.props}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="${appname}-client"/>
  </exec>
</target>


<!-- run appclient in AppServ  -->
<target name="runclient-common" depends="init-common">
  <echo message="appclient -client ${assemble.dir}/${appname}AppClient.jar -name ${appname}Client -textauth -user j2ee -password j2ee -xml ${admin.domain.dir}/${admin.domain}/config/glassfish-acc.xml ${appclient.application.args}"/>
  <exec executable="${APPCLIENT}" failonerror="false">
    <!-- set APPCPATH to include reporter.jar so that all app clients
         don't have to package the test framework in their apps -->
    <env key="APPCPATH" file="${env.APPCPATH}:${env.APS_HOME}/lib/reporter.jar"/>
    <arg line="-client ${assemble.dir}/${appname}AppClient.jar"/>
    <arg line="-name ${appname}Client"/>
    <arg line="-textauth"/>
    <arg line="-user j2ee"/>
    <arg line="-password j2ee"/>
    <arg line="-xml ${admin.domain.dir}/${admin.domain}/config/glassfish-acc.xml"/>
    <arg line="${appclient.application.args}"/>
  </exec>

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

<!-- run web client in AppServ  -->
<target name="runwebclient-common" depends="init-common">
  <echo message="Running Web Test from ${basedir}" level="verbose"/>
  <echo message="http host: ${http.host}" level="verbose"/>
  <echo message="http port: ${http.port}" level="verbose"/>
  <java
    fork="on" failonerror="false"
    classpath="${env.APS_HOME}/lib/webtest.jar:${s1astest.classpath}"
    classname="com.sun.ejte.ccl.webrunner.webtest.WebTest">
    <arg value="script.txt"/>
    <arg value="${http.host}"/>
    <arg value="${http.port}"/>
    <arg value="appserv-tests"/>
    <arg value="${testsuite.id}"/>
  </java>
</target>

<!-- prepare Pointbase servers -->
<target name="preparePB" depends="init-common">
  <echo message="Starting Pointbase servers" level="verbose"/>
  <copy file="${env.APS_HOME}/lib/pointbase.ini"
      tofile="${db.dir}/pointbase.ini"/>
  <replace file="${db.dir}/pointbase.ini" token="@@@" value="${db.dir}"/>
</target>

<!-- start/stop Pointbase servers -->
<target name="startPB" depends="preparePB">
    <java classname="com.pointbase.net.netServer"
        classpath="${db.classpath}" fork="true" spawn="true">
      <arg line="/port:9092"/>
      <arg line="/pointbase.ini=${db.dir}/pointbase.ini"/>
      <arg line="/noconsole"/>
    </java>
    <java classname="com.pointbase.net.netServer"
        classpath="${db.classpath}" fork="true" spawn="true">
      <arg line="/port:9093"/>
      <arg line="/pointbase.ini=${db.dir}/pointbase.ini"/>
      <arg line="/noconsole"/>
    </java>
</target>

<!-- target name="startPB" depends="preparePB">
  <parallel>
    <java classname="com.pointbase.net.netServer"
        classpath="${db.classpath}" failonerror="false" fork="true">
      <arg line="/port:9092"/>
      <arg line="/pointbase.ini=${db.dir}/pointbase.ini"/>
    </java>
    <java classname="com.pointbase.net.netServer"
        classpath="${db.classpath}" failonerror="true" fork="true">
      <arg line="/port:9093"/>
      <arg line="/pointbase.ini=${db.dir}/pointbase.ini"/>
    </java>
  </parallel>
</target -->

<condition property="aix">
    <os name="AIX"/>
</condition>

<target name="execute-sleep" if="aix">
    <sleep seconds="15"/>
</target>


<!--  start Derby Database -->
<target name="startDerby">
  <condition property="darwin">
    <os name="Mac OS X"/>
  </condition>
  <antcall target="startDerbyNonMac"/>
  <antcall target="startDerbyMac"/>
</target>

<target name="startDerbyNonMac" depends="init-common" unless="darwin">
  <echo message="Starting Derby DB servers in the Network Mode on ports ${db.port} and ${db.port.2}"/>
  <parallel>
    <java classname="org.apache.derby.drda.NetworkServerControl"
      classpath="${db.classpath}" fork="true" spawn="true">
      <arg line="-h localhost -p ${db.port} start"/>
    </java>
    <java classname="org.apache.derby.drda.NetworkServerControl"
      classpath="${db.classpath}" fork="true" spawn="true">
      <arg line="-h localhost -p ${db.port.2} start"/>
    </java>
  </parallel>
</target>

<target name="startDerbyMac" depends="init-common" if="darwin">
  <echo message="Starting Derby DB servers in the Network Mode on ports ${db.port} and ${db.port.2}"/>
  <parallel>
    <java classname="org.apache.derby.drda.NetworkServerControl"
      classpath="${db.classpath}" fork="true" spawn="true">
       <sysproperty key="derby.storage.fileSyncTransactionLog" value="true"/>
       <arg line="-h localhost -p ${db.port} start"/>
    </java>
    <java classname="org.apache.derby.drda.NetworkServerControl"
      classpath="${db.classpath}" fork="true" spawn="true">
       <sysproperty key="derby.storage.fileSyncTransactionLog" value="true"/>
      <arg line="-h localhost -p ${db.port.2} start"/>
    </java>
  </parallel>
</target>

<!--  start Derby Database -->
<target name="stopDerby" depends="init-common">
  <echo message="Stopping Derby DB servers on ports ${db.port} and ${db.port.2}"/>
  <parallel>
    <java classname="org.apache.derby.drda.NetworkServerControl"
      classpath="${db.classpath}" failonerror="true" fork="true">
      <arg line="-h localhost -p ${db.port} shutdown"/>
    </java>
    <java classname="org.apache.derby.drda.NetworkServerControl"
      classpath="${db.classpath}" failonerror="true" fork="true">
      <arg line="-h localhost -p ${db.port.2} shutdown"/>
    </java>
  </parallel>
</target>

<target name="pb">
  <echo message="So you are using pointbase ... !"/>
  <property file="${env.APS_HOME}/config/pointbase.properties"/>
</target>

<!-- setup IMQ for RI Build -->
<target name="setup-mq-common" depends="init-common">
    <echo message="Executing Datastore setup for S1MQ. Required only for RI"
        level="verbose"/>
    <echo message="${IMQDBMGR} -javahome ${java.home}
        -b ${admin.domain}_${appserver.instance.name} create all"
        level="verbose"/>
  <exec executable="${IMQDBMGR}" failonerror="true">
     <arg line="-javahome ${java.home} -b ${admin.domain}_${appserver.instance.name} create all" />
  </exec>
</target>

<target name="import-wsdl" depends="init-common">
    <mkdir dir="${build.classes.dir}"/>
    <exec executable="${WSCOMPILE}">
<!--
        <arg line="-classpath ${s1astest.classpath}"/>
-->
        <arg line="-classpath ${build.classes.dir}"/>
        <arg line="-import"/>
        <arg line="-source 1.1.2"/>
        <arg line="-keep"/>
        <arg line="-d "/>
        <arg path="${build.classes.dir}"/>
        <!--
        <arg line="-s "/>
        <arg path="${basedir}/gensource"/>
        -->
        <arg line="-mapping ${build.classes.dir}/${mapping.file}"/>
        <arg line="${config-wsdl.file}"/>
    </exec>
</target>

<!-- Confirm Report Generation -->

<target name="checkReporting-common">
    <available file="RepRunConf.txt" type="file" property="isReported"/>
    <antcall target="confirmReportPresent-common"/>
    <antcall target="confirmMissingReport-common"/>
</target>

<target name="confirmReportPresent-common" if="isReported">
    <echo message="file RepRunConf.txt is present."/>
    <echo message="Test seems to be reported fine"/>
    <delete file="RepRunConf.txt"/>
</target>

<target name="confirmMissingReport-common" unless="isReported">
    <echo message="file RepRunConf.txt is missing!!!"/>
    <echo message="Test does not seem to have been reported"/>
    <echo message="Adding status 'did not run' into report..."/>
    <java classname="com.sun.ejte.ccl.reporter.ReporterClient">
        <classpath>
            <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
            <pathelement location="."/>
        </classpath>
        <arg value="${test.name}"/>
        <arg value="${test.description}"/>
        <arg value="${test.count}"/>
    </java>
    <delete file="RepRunConf.txt"/>
</target>


<!-- usage  -->
<target name="usage-common">
    <echo>
        ant clean           Remove all classes files
        ant build           Build the application
        ant deploy          Deploy the ear files to S1AS
        ant run             Run the application
        ant undeploy        Undeploy the ear files from S1AS
        ant usage           Display this message
    </echo>
</target>


<!-- EE Targets 8.1 -->
<!--Added Feb 5th 2004 by Deepa Singh -->
<target name="ee" depends="ee-common">
    <echo message="So you are using Enterprise Edition"/>
    <property name="ee" value="Enterprise Edition"/>
    <property file="${env.APS_HOME}/eeconfig/ee-config.properties"/>
    <loadfile property="target-server-port" srcFile="${admin.domain.dir}/${admin.domain}/config/glassfish-acc.xml"/>
    <condition property="orbPortSet" value="true">
        <contains string="${target-server-port}" substring="${orb.port}"/>
    </condition>
    <antcall target="change-orb-port"/>
</target>

<target name="change-orb-port" unless="orbPortSet">
    <echo message="changing orb port from the default [3700] to ${orb.port}"/>
    <replace file="${admin.domain.dir}/${admin.domain}/config/glassfish-acc.xml" token="3700" value="${orb.port}"/>
</target>


<target name="restart-instance">
    <echo message="Restarting remote server instance,until this gets fixed"/>
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="stop-instance"/>
        <arg line="${as.props}"/>
        <arg line="${appserver.instance.name}"/>
    </exec>
    <sleep seconds="30"/>
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="start-instance"/>
        <arg line="${as.props}"/>
        <arg line="${appserver.instance.name}"/>
    </exec>
</target>

<target name="testTimer" depends="init-common">

<echo message="creating timer table from ${env.APS_HOME}/lib/ejbtimer_${db.type}.sql"/>
    <sql
    driver="${db.driver}"
    url="${db.url}"
    userid="${db.user}"
    password="${db.pwd}"
    src="${env.APS_HOME}/lib/ejbtimer_${db.type}.sql"
    onerror="continue"
    print="yes"
    classpath="${s1astest.classpath}"/>

</target>

<target name="setupTimer" depends="init-common" if="ee">
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="create-resource-ref"/>
        <arg line="${as.props}"/>
        <arg line="--target server"/>
        <arg line="${jdbc.resource.name}"/>
    </exec>
    <antcall target="asadmin-common-ignore-fail">
        <param name="admin.command" value="set" />
        <param name="operand.props"
          value="${appserver.instance.name}-config.ejb-container.ejb-timer-service.timer-datasource=${jdbc.resource.name}"/>
    </antcall>

    <echo message="creating timer table from ${env.APS_HOME}/lib/ejbtimer_{db.type}.sql"/>
    <sql
        driver="${db.driver}"
        url="${db.url}"
        userid="${db.user}"
        password="${db.pwd}"
        src="${env.APS_HOME}/lib/ejbtimer_${db.type}.sql"
        onerror="continue"
        print="yes"
        classpath="${s1astest.classpath}"/>

    <antcall target="restart-instance"/>
</target>

<target name="unsetupTimer" depends="init-common" if="ee">
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="delete-resource-ref"/>
        <arg line="${as.props}"/>
        <arg line="--target server"/>
        <arg line="${jdbc.resource.name}"/>
    </exec>
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="unset"/>
        <arg line="${appserver.instance.name}-config.ejb-container.ejb-timer-service.timer-datasource"/>
    </exec>

    <echo message="dropping timer table from ${env.APS_HOME}/lib/ejbtimer_${db.type}_drop.sql"/>
    <sql
        driver="${db.driver}"
        url="${db.url}"
        userid="${db.user}"
        password="${db.pwd}"
        src="${env.APS_HOME}/lib/ejbtimer_${db.type}_drop.sql"
        onerror="continue"
        print="yes"
        classpath="${s1astest.classpath}"/>
</target>

<target name="prepare-truststore-common" depends="init-common">
    <property name="truststore.db.file" location="${build.base.dir}/cacerts.jks"/>
    <property name="cert.rfc.file" location="${build.base.dir}/${cert.nickname}.rfc"/>

    <delete quiet="true" file="${truststore.db.file}"/>
    <delete quiet="true" file="${cert.rfc.file}"/>

    <!--
      Determine if we need to use the certutil or the keytool command to
      access the certificate keystore
    -->
    <property name="certutil.db.dir" location="${admin.domain.dir}/${admin.domain}/config"/>
    <condition property="use.certutil">
        <and>
            <or>
                <available file="${env.S1AS_HOME}/lib/certutil"/>
                <available file="${env.S1AS_HOME}/lib/certutil.exe"/>
            </or>
            <available file="${certutil.db.dir}/cert8.db"/>
            <available file="${certutil.db.dir}/key3.db"/>
            <available file="${certutil.db.dir}/secmod.db"/>
        </and>
    </condition>
    <antcall target="prepare-truststore-certutil-common"/>
    <antcall target="prepare-truststore-keytool-common"/>
</target>

<target name="prepare-truststore-certutil-common" depends="init-common" if="use.certutil">
    <exec executable="${env.S1AS_HOME}/lib/certutil" failonerror="true" output="${cert.rfc.file}">
        <!--
          LD_LIBRARY_PATH is needed on Unix platforms and should have no
          effect on Windows
        -->
        <env key="LD_LIBRARY_PATH" path="${env.S1AS_HOME}/lib"/>
        <arg line="-L -n '${cert.nickname}' -a"/>
        <arg value="-d"/>
        <arg file="${certutil.db.dir}"/>
    </exec>
    <exec executable="${java.home}/bin/keytool" failonerror="true">
        <arg line="-import -trustcacerts -alias '${cert.nickname}' -storepass '${ssl.password}' -noprompt"/>
        <arg value="-file"/>
        <arg file="${cert.rfc.file}"/>
        <arg value="-keystore"/>
        <arg file="${truststore.db.file}"/>
    </exec>
</target>


<target name="prepare-truststore-keytool-common" depends="init-common" unless="use.certutil">
    <copy file="${admin.domain.dir}/${admin.domain}/config/cacerts.jks" tofile="${truststore.db.file}"/>
</target>


<target name="prepare-keystore-common" depends="init-common">
    <property name="keystore.db.file" location="${build.base.dir}/keystore.jks"/>
    <delete quiet="true" file="${keystore.db.file}"/>
    <copy file="${admin.domain.dir}/${admin.domain}/config/keystore.jks" tofile="${keystore.db.file}" failonerror="false"/>
</target>

<target name="get-version-common" depends="init-common">
    <exec executable="${ASADMIN}" failonerror="false" outputproperty="appserver.version">
        <arg line="version"/>
        <arg line="${as.props}"/>
        <arg line="--verbose"/>
    </exec>
    <condition property="platform" value="true">
        <contains string="${appserver.version}" substring="Platform" casesensitive="false"/>
    </condition>
    <condition property="enterprise" value="true">
        <contains string="${appserver.version}" substring="Enterprise" casesensitive="false"/>
    </condition>
    <antcall target="platform-common"/>
    <antcall target="enterprise-common"/>
</target>

<target name="platform-common" if="platform">
    <echo message="This is Platform Version***"/>
</target>

<target name="enterprise-common" if="enterprise">
    <echo message="This is Enterprise Version***"/>
</target>

<target name="create-PermSize" depends="init-common">
  <echo message="asadmin create-jvm-options ${as.props} -- -XX:MaxPermSize=${jvm.maxpermsize}"/>
  <exec executable="${ASADMIN}" failonerror="false">
    <arg line="create-jvm-options"/>
    <arg line="${as.props}"/>
    <arg line="--target ${appserver.instance.name}"/>
    <arg line="-- -XX\:MaxPermSize=${jvm.maxpermsize}"/>
  </exec>
</target>

    <target name="restart-server">
        <antcall target="stop-server"/>
        <sleep seconds="5"/>
        <antcall target="start-server"/>

    </target>

    <target name="stop-server" depends="setOSConditions">
        <antcall target="stop-server-unix"/>
        <antcall target="stop-server-windows"/>
    </target>

    <target name="stop-server-unix" if="isUnix">
        <echo message="stopping server on unix ..."/>
        <exec executable="${env.S1AS_HOME}/bin/asadmin">
            <arg value="stop-domain"/>
        </exec>
        <sleep seconds="10"/>
    </target>

    <target name="stop-server-windows" if="isWindows">
        <echo message="Stopping server on windows ..."/>
        <exec executable="cmd">
            <arg value="/c"/>
            <arg value="${env.S1AS_HOME}\bin\asadmin.bat"/>
            <arg value="stop-domain"/>
        </exec>
        <sleep seconds="5"/>
    </target>

    <target name="start-server" depends="setOSConditions">

        <echo>+-----------------------------+</echo>
        <echo>| |</echo>
        <echo>| S T A R T I N G GLASSFISH |</echo>
        <echo>| in Felix mode |</echo>
        <echo>| |</echo>
        <echo>+-----------------------------+</echo>

        <antcall target="start-server-unix"/>
        <antcall target="start-server-windows"/>
    </target>

    <target name="start-server-unix" if="isUnix">
        <exec executable="${env.S1AS_HOME}/bin/asadmin">
            <env key="GlassFish_Platform" value="Felix"/>
            <arg value="start-domain"/>
        </exec>
        <sleep seconds="10"/>
    </target>

    <target name="start-server-windows" if="isWindows">
        <exec executable="cmd" spawn="true">
            <env key="GlassFish_Platform" value="Felix"/>
            <arg value="/c"/>
            <arg value="${env.S1AS_HOME}\bin\asadmin.bat"/>
            <arg value="start-domain"/>
        </exec>
        <sleep seconds="5"/>
    </target>

    <target name="create-jvm-options" depends="init-common">
        <exec executable="${ASADMIN}">
            <arg line="create-jvm-options"/>
            <arg line="--user ${admin.user} --host ${admin.host} --port ${admin.port} --echo=true --terse=true"/>
            <arg line="${option}"/>
        </exec>
        <echo message="REQUIRED TO RESTART SERVER......."/>
    </target>

    <target name="delete-jvm-options" depends="init-common">
        <exec executable="${ASADMIN}">
            <arg line="delete-jvm-options"/>
            <arg line="--user ${admin.user} --host ${admin.host} --port ${admin.port} --echo=true --terse=true"/>
            <arg line="${option}"/>
        </exec>
        <echo message="REQUIRED TO RESTART SERVER......."/>
    </target>

<!-- ================================================================ -->
<!-- Target to Flush connection pool  -->
<!-- ================================================================ -->
<target name="flush-connpool-common" depends="init-common">
<echo message="Flush connection pool ${jdbc.conpool.name}"
    level="verbose"/>
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="flush-connection-pool"/>
        <arg line="${as.props}"/>
        <arg line="${jdbc.conpool.name}"/>
    </exec>
</target>


<!-- ================================================================ -->
<!-- Target to create password alias -->
<!-- ================================================================ -->
<target name="create-password-alias" depends="init-common">
<echo message="Create Password Alias ${alias.name}"
    level="verbose"/>
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="create-password-alias"/>
        <arg line="--passwordfile "/>
        <arg line="${password.alias.file}"/>
        <arg line="${password.alias.name}"/>
    </exec>
</target>


<!-- ================================================================ -->
<!-- Target to delete password alias -->
<!-- ================================================================ -->
<target name="delete-password-alias" depends="init-common">
<echo message="delete Password Alias ${password.alias.name}"
    level="verbose"/>
    <exec executable="${ASADMIN}" failonerror="false">
        <arg line="delete-password-alias"/>
        <arg line="${password.alias.name}"/>
    </exec>
</target>


<!-- ================================================================ -->
<!-- Target to generate a neat Html report -->
<!-- ================================================================ -->
<target name="dev-report" depends="init-common">
    <java classname="com.sun.appserv.test.util.results.HtmlReportProducer" fork="true" failonerror="false"
          classpath="${env.APS_HOME}/lib/reportbuilder.jar">
        <arg value="${env.APS_HOME}/test_results.xml"/>
    </java>
</target>


