<?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 commonBuild SYSTEM "./../../../config/common.xml">
]>

<project name="deployment-ejb30-ear-xmloverride-App" default="all" basedir=".">

    &commonBuild;

    <property name="testName" value="deployment-ejb30-ear-xmloverride"/>
    <property name="archivedir" value="${build}/archives"/>

    <target name="prepare" depends="init">
        <mkdir dir="${build}"/>
        <mkdir dir="${archivedir}"/>
        <property name="all.ear" value="${archivedir}/${testName}App.ear"/>
        <property name="ejb.jar" value="${archivedir}/${testName}-ejb.jar"/>
        <property name="client.jar" value="${archivedir}/${testName}-client.jar"/>
    </target>

    <target name="compile" depends="prepare">
        <javac srcdir="ejb" destdir="${build}" debug="on" failonerror="true">
          <classpath refid="gfv3.classpath"/>
         </javac>
        <javac srcdir="client" destdir="${build}" debug="on" failonerror="true">
          <classpath refid="gfv3.classpath"/>
         </javac>
    </target>

    <target name="create.user" depends="setAsadminArgsWithoutPassword">
        <antcall target="common.createuser.asadmin">
            <param name="arg.list"
                value="--groups j2ee --authrealmname file j2ee"/>
            <param name="password" value="j2ee"/>
        </antcall>
        <antcall target="common.createuser.asadmin">
            <param name="arg.list"
                value="--groups sunuser --authrealmname file sunuser"/>
            <param name="password" value="sunuser"/>
        </antcall>
    </target>

    <target name="delete.user" depends="setAsadminArgs">
        <antcall target="common.run.asadmin">
            <param name="arg.list"
                value="delete-file-user ${ASADMIN-ARGS} --authrealmname file j2ee"/>
        </antcall>
        <antcall target="common.run.asadmin">
            <param name="arg.list"
                value="delete-file-user ${ASADMIN-ARGS} --authrealmname file sunuser"/>
        </antcall>
    </target>

    <target name="assemble" depends="compile">
        <jar destfile="${ejb.jar}" basedir="${build}"
                excludes="**/Client.class,**/Servlet.class">
            <metainf dir="descriptor">
                <include name="*ejb-jar.xml"/>
            </metainf>
        </jar>

        <jar destfile="${client.jar}" basedir="${build}"
                includes="**/Client.class,**/Sful.class,**/Sless.class"
                manifest="client/MANIFEST.MF"/>

        <ear destfile="${all.ear}" basedir="${archivedir}"
            appxml="descriptor/application.xml" includes="*.jar, *.war">
            <metainf dir="descriptor">
                <include name="sun-application.xml"/>
            </metainf>
        </ear>
    </target>

    <target name="deploy.asadmin" depends="prepare">
        <antcall target="common.deploy.asadmin">
            <param name="arg.list" value="--retrieve ${archivedir} --name ${testName} ${all.ear}"/>
            <param name="testName" value="${testName}"/>
        </antcall>
    </target>

    <target name="redeploy.asadmin" depends="prepare">
        <antcall target="common.redeploy.asadmin">
            <param name="arg.list" value="--retrieve ${archivedir} --name ${testName} ${all.ear}"/>
            <param name="testName" value="${testName}"/>
        </antcall>
    </target>

    <target name="undeploy.asadmin" depends="prepare">
        <antcall target="common.undeploy.asadmin">
            <param name="arg.list" value="${testName}"/>
            <param name="testName" value="${testName}"/>
        </antcall>
    </target>

    <target name="runclient" depends="prepare,setOrbPort2">
        <exec executable="${APPCLIENT}" resultproperty="result" failonerror="false" output="${build}/${log.id}.output.log">
            <arg line="-client ${archivedir}/${testName}Client.jar"/>
            <arg line="-targetserver ${appclient.targetservers}"/>
            <arg line="-textauth"/>
            <arg line="-user j2ee"/>
            <arg line="-password j2ee"/>
            <arg line="-xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml"/>
        </exec>
        <antcall target="processResult">
            <param name="result" value="${result}"/>
            <param name="log" value="${build}/${log.id}.output.log"/>
        </antcall>
    </target>

    <target name="private-all">
        <antcall target="create.user"/>
        <antcall target="assemble"/>
        <antcall target="declare-test">
            <param name="description" value="ejb30/security Test asadmin deploy"/>
        </antcall>
        <antcall target="deploy.asadmin"/>
        <antcall target="runclient">
            <param name="log.id" value="1"/>
        </antcall>
        <antcall target="declare-test">
            <param name="description" value="ejb30/security Test asadmin redeploy"/>
        </antcall>
        <antcall target="redeploy.asadmin"/>
        <antcall target="runclient">
            <param name="log.id" value="2"/>
        </antcall>
        <antcall target="undeploy.asadmin"/>
        <antcall target="delete.user"/>
    </target>
</project>
