<!--

    Copyright (c) 2002, 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 common SYSTEM "../../../../config/common.xml">
        <!ENTITY testcommon SYSTEM "../../../../config/properties.xml">
        <!ENTITY testproperties SYSTEM "./build.properties">
        ]>

<project name="connector1.6 TEST" default="all" basedir=".">
    <property name="j2ee.home" value="../../.."/>
    <property name="client.class" value="client/Client"/>

    <!-- include common.xml and testcommon.xml -->
    &common;
    &testcommon;
    &testproperties;

    <target name="all" depends="init-common, build, setup, runtest, unset"/>
    <target name="all-with-mappings">
        <antcall target="init-common"/>
        <antcall target="build"/>
        <antcall target="setup-map"/>
        <antcall target="setup"/>
        <antcall target="runtest"/>
        <antcall target="disable-app"/>
        <antcall target="enable-app"/>
        <antcall target="runtest"/>
        <antcall target="disable-app-ref"/>
        <antcall target="enable-app-ref"/>
        <antcall target="runtest"/>
        <antcall target="disable-app"/>
        <antcall target="disable-app-ref"/>
        <antcall target="enable-app"/>
        <antcall target="enable-app-ref"/>
        <antcall target="runtest"/>
        <antcall target="unset-map"/>
        <antcall target="unset"/>
    </target>
    <target name="run-dp-test" depends="init-common, build, setup-dp, deploy-dp, runtest, disable-app, enable-app, runtest, disable-app-ref, enable-app-ref, runtest, disable-app, disable-app-ref, enable-app, enable-app-ref, runtest, unset-dp, undeploy-dp"/>
    <target name="build" depends="init-common">
        <ant dir="ra" target="all"/>
        <ant dir="app" target="all"/>
    </target>

    <target name="disable-app" depends="init-common">
       <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="applications.application.connector16App.enabled=false"/>
        </antcall>
    </target>

    <target name="enable-app" depends="init-common">
        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="applications.application.connector16App.enabled=true"/>
        </antcall>
    </target>

    <target name="enable-app-ref" depends="init-common">
        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="server.application-ref.connector16App.enabled=true"/>
        </antcall>
    </target>

    <target name="disable-app-ref" depends="init-common">
       <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props"
                   value="server.application-ref.connector16App.enabled=false"/>
        </antcall>
    </target>


    <target name="setup">

        <antcall target="setup-security-permission"/>

        <ant dir="app" inheritAll="false" target="setupJdbc"/>

        <ant dir="." inheritAll="false" target="deploy"/>
        <antcall target="create-user-common">
            <param name="user" value="jagadish"/>
            <param name="password" value="prasath"/>
            <param name="groups" value="employee"/>
        </antcall>
        <antcall target="create-user-common">
            <param name="user" value="jr158900"/>
            <param name="password" value="jr158900"/>
            <param name="groups" value="iec"/>
        </antcall>
        <antcall target="create-user-common">
            <param name="user" value="prasath"/>
            <param name="password" value="jagadish"/>
            <param name="groups" value="employee"/>
        </antcall>

        <!--      <antcall target="create-user-common">
            <param name="user" value="j2ee"/>
            <param name="password" value="j2ee"/>
            <param name="groups" value="admin"/>
        </antcall>-->

        <antcall target="create-user-common">
            <param name="user" value="guest"/>
            <param name="password" value="guest"/>
            <param name="groups" value="employee"/>
        </antcall>


    </target>

    <target name="setup-dp">
        <ant dir="app" inheritAll="false" target="setupJdbc"/>
    </target>

    <target name="deploy">
        <ant dir="ra" inheritAll="false" target="deploy"/>
<!--        <ant dir="ra" inheritAll="false" target="testAddAdmin"/>-->
        <ant dir="app" inheritAll="false" target="deploy-ear"/>
<!--        <ant dir="." inheritAll="false" target="restart"/>-->
    </target>

    <target name="deploy-dp">
<!--        <ant dir="ra" inheritAll="false" target="testAddAdmin"/>-->
        <ant dir="app" inheritAll="false" target="deploy-ear"/>
<!--        <ant dir="." inheritAll="false" target="restart"/>-->
    </target>


    <target name="runtest" depends="init-common">
        <java classname="client.WebTest">
            <arg value="${http.host}"/>
            <arg value="${http.port}"/>
            <arg value="${contextroot}"/>
            <classpath>
                <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
                <pathelement location="app"/>
            </classpath>
        </java>
    </target>

    <target name="unset">
        <ant dir="app" inheritAll="false" target="unsetJdbc"/>
        <ant dir="." inheritAll="false" target="undeploy"/>
        <antcall target="delete-user-common">
            <param name="user" value="jagadish"/>
        </antcall>
        <!--<antcall target="delete-user-common">
            <param name="user" value="j2ee"/>
        </antcall>-->

        <antcall target="delete-user-common">
            <param name="user" value="prasath"/>
        </antcall>
        <antcall target="delete-user-common">
            <param name="user" value="jr158900"/>
        </antcall>

        <antcall target="delete-user-common">
            <param name="user" value="guest"/>
        </antcall>

        <antcall target="restore-default-security-permission"/>

        <ant dir="." inheritAll="false" target="restart"/>
    </target>

    <target name="unset-dp">
        <ant dir="app" inheritAll="false" target="unsetJdbc"/>
        <ant dir="." inheritAll="false" target="restart"/>
    </target>

    <target name="undeploy">
        <ant dir="app" inheritAll="false" target="undeploy"/>
<!--        <ant dir="ra" inheritAll="false" target="testDelAdmin"/>-->
        <ant dir="ra" inheritAll="false" target="undeploy"/>
    </target>

    <target name="undeploy-dp">
        <ant dir="app" inheritAll="false" target="undeploy"/>
<!--        <ant dir="ra" inheritAll="false" target="testDelAdmin"/>-->
    </target>

    <target name="restart" depends="init-common">
        <echo message="Not required to restart"/>
    </target>

    <target name="clean">
        <ant dir="ra" inheritAll="false" target="clean"/>
        <ant dir="app" inheritAll="false" target="clean"/>
    </target>

    <target name="setup-map">

        <!-- hack, RAR uses the jvm option to determine the mode of security-work-context-->
        <antcall target="set-jvm-options"/>

    </target>


    <target name="unset-map">

        <!-- hack, RAR uses the jvm option to determine the mode of security-work-context-->
        <antcall target="unset-jvm-options"/>

    </target>


    <target name="set-jvm-options">
        <antcall target="create-jvm-options">
            <param name="option" value="-Dgeneric-ra-principals-map=eis-jagadish=jagadish,eis-prasath=prasath"/>
        </antcall>
        <antcall target="create-jvm-options">
            <param name="option" value="-Dgeneric-ra-groups-map=eis-group=iec"/>
        </antcall>
<!--        <antcall target="restart-server"/>-->

    </target>


    <target name="unset-jvm-options">
        <antcall target="delete-jvm-options">
            <param name="option" value="-Dgeneric-ra-principals-map=eis-jagadish=jagadish,eis-prasath=prasath"/>
        </antcall>
        <antcall target="delete-jvm-options">
            <param name="option" value="-Dgeneric-ra-groups-map=eis-group=iec"/>
        </antcall>
<!--        <antcall target="restart-server"/>-->
    </target>


    <target name="create-connector-work-security-groups-map-common" depends="init-common">
        <exec executable="${ASADMIN}" failonerror="false">
            <arg line="create-connector-work-security-map"/>
            <arg line="${as.props}"/>
            <arg line="--raname ${raname}"/>
            <arg line="${groupsmap}"/>
            <arg line="${map.name}"/>
        </exec>
    </target>

    <target name="create-connector-work-security-principals-map-common" depends="init-common">
        <exec executable="${ASADMIN}" failonerror="false">
            <arg line="create-connector-work-security-map"/>
            <arg line="${as.props}"/>
            <arg line="--raname ${raname}"/>
            <arg line="${principalsmap}"/>
            <arg line="${map.name}"/>
        </exec>
    </target>


    <target name="delete-connector-work-security-map-common" depends="init-common">
        <exec executable="${ASADMIN}" failonerror="false">
            <arg line="delete-connector-work-security-map"/>
            <arg line="${as.props}"/>
            <arg line="--raname ${raname}"/>
            <arg line="${map.name}"/>
        </exec>
    </target>


    <target name="setup-security-permission" depends="init-common">
        <antcall target="stop-server"/>
        <echo message="taking backup of server.policy file"/>
        <copy description="backup server.policy file" file="${admin.domain.dir}/${admin.domain}/config/server.policy"
              tofile="${admin.domain.dir}/${admin.domain}/config/server.policy.bkp"/>
        <concat destfile="${admin.domain.dir}/${admin.domain}/config/server.policy" append="true">
            <filelist dir="." files="server.policy"/>
        </concat>
        <echo message="updated server.policy file with necessary security permissions"/>
        <antcall target="start-server"/>
    </target>

    <target name="restore-default-security-permission" depends="init-common">
        <antcall target="stop-server"/>
        <move description="restore server.policy file"
              file="${admin.domain.dir}/${admin.domain}/config/server.policy.bkp"
              tofile="${admin.domain.dir}/${admin.domain}/config/server.policy"/>
        <echo message="restored original server.policy file"/>
        <antcall target="start-server"/>
    </target>

</project>
