<!--
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-->
<!-- This file is for ant processing of targets required to initialize fortress configuration artifacts including property and data load files. -->
<project name="fortress-core" default="init-fortress-config" basedir="." >
    <!-- =================================
          initialize all Fortress Core package properties
         ================================= -->
   <target name="init">
      <tstamp/>
       <!-- read properties from the ${user.home}/propfile, if any, which will take precedence over slapd.properties and build.properties -->
       <property name="user-propfile" value="${user.home}/build.properties"/>
       <property file="${user-propfile}"/>

       <!-- read properties from the slapd.properties, if any, which will have precedence over build.properties -->
       <property name="slapd-propfile" value="${basedir}/slapd.properties"/>
       <property file="${slapd-propfile}"/>

       <!-- read user defined properties from the build.properties -->
       <property name="component-propfile" value="${basedir}/build.properties"/>
       <property file="${component-propfile}"/>

       <!-- ########### Project specific properties ########################### -->
       <property name="project.name" value="Fortress Identity Access Management SDK"/>
       <property name="name" value="fortress"/>
       <property name="title" value="Fortress Access Management SDK for Java ${version}"/>
       <property name="title.samples" value="Fortress Identity and Access Management Samples for Java ${version}"/>
       <property name="vendor" value="Joshua Tree Software"/>
       <property name="package" value="org.apache.directory.fortress.*"/>
       <property name="package.samples" value="org.apache.directory.fortress.core.samples"/>
       <property name="images.dir" value="${basedir}/images"/>

       <!-- ########### Env specific properties ########################### -->
       <property name="src.dir" value="${basedir}/src"/>
       <property name="lib.dir" value="${basedir}/lib"/>
       <property name="src.java.dir" value="${src.dir}/main/java"/>
       <property name="src.test.dir" value="${src.dir}/test/java"/>
       <property name="src.test.resources.dir" value="${src.dir}/test/resources"/>

       <!-- ########### Build properties & artifacts ########################### -->
       <property name="build.dir" value="${basedir}/build"/>
       <property name="build.classes.dir" value="${build.dir}/classes"/>
       <property name="build.test-classes.dir" value="${build.dir}/test-classes"/>
       <property name="dist.dir" value="${basedir}/dist"/>
       <property name="dist.jar" value="${dist.dir}/${name}-${version}.jar"/>
       <property name="dist.test.jar" value="${dist.dir}/${name}-${version}-test.jar"/>
       <property name="src.dist.zip" value="${dist.dir}/${name}-${version}-sources.jar"/>
       <property name="src.test.dist.zip" value="${dist.dir}/${name}-${version}-sourcestest.jar"/>
       <property name="src.samples.dist.zip" value="${dist.dir}/${name}SamplesSrc-${version}.zip"/>
       <property name="samples.dist.zip" value="${dist.dir}/${name}Samples-${version}.zip"/>
       <property name="fortressBuilder.zip" value="${dist.dir}/fortressBuilder-${platform}-${version}.zip"/>

       <!-- ########### LDAP properties ########################### -->
       <property name="ldap.dir" value="${basedir}/ldap"/>
       <property name="ldap.setup.dir" value="${ldap.dir}/setup"/>
       <property name="ldap.schema.dir" value="${ldap.dir}/schema"/>
       <property name="slapd.schema.dir" value="${slapd.dir}/schema"/>
       <property name="src.slapd.ssl.keys.dir" value="${src.test.resources.dir}/certs"/>
       <property name="dst.slapd.ssl.keys.dir" value="${openldap.root}/ssl"/>

       <!-- ########### Configuration, Load and builder properties ########################### -->
       <property name="src.load.bootstrap.script" value="${ldap.setup.dir}/refreshLDAPData-src.xml"/>
       <property name="dst.load.bootstrap.script" value="${ldap.setup.dir}/refreshLDAPData.xml"/>
       <property name="load.delegatedadmin.script" value="${ldap.setup.dir}/DelegatedAdminManagerLoad.xml"/>
       <property name="load.demo.script" value="${ldap.setup.dir}/FortressDemoUsers.xml"/>
       <property name="build.win.properties" value="${basedir}/build.win.properties"/>
       <property name="build.nix.properties" value="${basedir}/build.nix.properties"/>
       <property name="build.properties" value="${basedir}/build.properties"/>
       <property name="config.dir" value="${basedir}/config"/>
       <property name="config.bootstrap.dir" value="${config.dir}/bootstrap"/>
       <property name="src.remote.conf" value="${config.dir}/fortress.properties.src"/>
       <property name="dst.remote.conf" value="${config.dir}/fortress.properties"/>
       <property name="src.bootstrap.conf" value="${config.bootstrap.dir}/fortress.properties.src"/>
       <property name="dst.bootstrap.conf" value="${config.bootstrap.dir}/fortress.properties"/>
       <property name="builder.bootstrap.conf" value="${builder.home}/config/bootstrap/fortress.properties"/>
       <property name="builder.remote.conf" value="${builder.home}/config/fortress.properties"/>
       <property name="builder.load.bootstrap.script" value="${builder.home}/ldap/refreshLDAPData-src.xml"/>
       <property name="ehcache.conf" value="${config.dir}/ehcache.xml"/>
       <property name="bootstrap.ehcache.conf" value="${config.bootstrap.dir}/ehcache.xml"/>
       <property name="apacheds-resource.dir" value="${basedir}/src/test/resources"/>

       <!-- ########### Slapd manage & config properties ########################### -->
       <property name="stop.slapd.script-win" value="${ldap.setup.dir}/stopSlapd.cmd"/>
       <property name="src.start.slapd.script-win" value="${ldap.setup.dir}/startSlapd.cmd.src"/>
       <property name="dst.start.slapd.script-win" value="${ldap.setup.dir}/startSlapd.cmd"/>
       <property name="stop.slapd.script" value="${ldap.setup.dir}/stopSlapd.sh"/>
       <property name="start.slapd.script" value="${ldap.setup.dir}/startSlapd.sh"/>
       <property name="mkdir.slapd-win" value="${ldap.setup.dir}/mkDir.cmd"/>
       <property name="uninstall.slapd.script" value="${ldap.setup.dir}/uninstall.sh"/>
       <property name="install.slapd.script" value="${ldap.setup.dir}/install.sh"/>
       <property name="source.symas.conf" value="${ldap.dir}/symas-openldap.conf.src"/>
       <property name="target.symas.conf" value="${ldap.dir}/symas-openldap.conf"/>
       <property name="dst.symas.conf" value="${slapd.dir}/symas-openldap.conf"/>
       <property name="source.slapd.conf" value="${ldap.dir}/slapd.conf.src"/>
       <property name="target.slapd.conf" value="${ldap.dir}/slapd.conf"/>
       <property name="dst.slapd.conf" value="${slapd.dir}/slapd.conf"/>
       <property name="source.fortress.schema" value="${ldap.schema.dir}/fortress.schema"/>
       <property name="target.fortress.schema" value="${slapd.schema.dir}/fortress.schema"/>
       <property name="source.rbac.schema" value="${ldap.schema.dir}/rbac.schema"/>
       <property name="target.rbac.schema" value="${slapd.schema.dir}/rbac.schema"/>

    </target>

    <tstamp>
        <format property="TODAY" pattern="yyyy-MM-dd HH:mm:ss" />
    </tstamp>

    <!-- =================================
          target: init-openldap-config - modifies openldap artifacts for runtime use of fortress-core
         ================================= -->
     <target name="init-openldap-config" depends="init" description="--> map env params from build.properties to scripts and config files">
         <echo message="###############  Modify slapd configuration per user settings  ###############"/>
         <delete file="${target.slapd.conf}" failonerror="false"/>
       <copy file="${source.slapd.conf}" tofile="${target.slapd.conf}"/>
         <replace file="${target.slapd.conf}" token="@SCHEMA_PATH@" value="${slapd.schema.dir}"/>
         <replace file="${target.slapd.conf}" token="@SUFFIX@" value="${suffix}"/>
         <replace file="${target.slapd.conf}" token="@PID_PATH@" value="${pid.dir}"/>
         <replace file="${target.slapd.conf}" token="@HISTORY_DB_PATH@" value="${db.hist.dir}"/>
         <replace file="${target.slapd.conf}" token="@DEFAULT_DB_PATH@" value="${db.dir}"/>
         <replace file="${target.slapd.conf}" token="@SLAPD_MODULE_PATH@" value="${slapd.module.dir}"/>
         <replace file="${target.slapd.conf}" token="@LOGOPS@" value="${log.ops}"/>
         <replace file="${target.slapd.conf}" token="@ROOT_DN@" value="${root.dn}"/>
         <replace file="${target.slapd.conf}" token="@ROOT_PW@" value="${root.pw}"/>
         <replace file="${target.slapd.conf}" token="@LOG_ROOT_DN@" value="${log.admin.user}"/>
         <replace file="${target.slapd.conf}" token="@LOG_ROOT_PW@" value="${log.root.pw}"/>
         <replace file="${target.slapd.conf}" token="@LOG_SUFFIX@" value="${log.suffix}"/>
         <replace file="${target.slapd.conf}" token="@LOG_DBNOSYNCH@" value="${log.dbnosynch}"/>
         <replace file="${target.slapd.conf}" token="@LOG_CHECKPOINT@" value="${log.checkpoint}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_DBNOSYNCH@" value="${dflt.dbnosynch}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_CHECKPOINT@" value="${dflt.checkpoint}"/>
         <replace file="${target.slapd.conf}" token="@DB_MODULE_NM@" value="back_${db.type}.la"/>
         <replace file="${target.slapd.conf}" token="@DB_TYPE@" value="${db.type}"/>
         <replace file="${target.slapd.conf}" token="@LOG_RDRS@" value="${log.rdrs}"/>
         <replace file="${target.slapd.conf}" token="@LOG_SIZE@" value="${log.size}"/>
         <replace file="${target.slapd.conf}" token="@LOG_BDB_CACHE_SIZE@" value="${log.bdb.cache.size}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_RDRS@" value="${dflt.rdrs}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_SIZE@" value="${dflt.size}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_BDB_CACHE_SIZE@" value="${dflt.bdb.cache.size}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_BDB_CACHE_IDLE_SIZE@" value="${dflt.bdb.cache.idle.size}"/>
         <replace file="${target.slapd.conf}" token="@POLICIES_DN@" value="${policies.dn}"/>

         <!-- setup the symas openldap slapd start/stop script -->
         <delete file="${target.symas.conf}" failonerror="false"/>
         <copy file="${source.symas.conf}" tofile="${target.symas.conf}"/>
         <replace file="${target.symas.conf}" token="@LDAP_URIS@" value="${ldap.uris}"/>

         <antcall target="init-rbac-accelerator"></antcall>
         <antcall target="init-slapd-ssl"></antcall>

         <echo message="Target init-all-config complete."/>
     </target>

    <!-- =================================
          RBAC Accelerator Overlay Config
         ================================= -->
    <target name="init-rbac-accelerator" depends="init">
        <antcall target="enable-rbac-accelerator"></antcall>
        <antcall target="disable-rbac-accelerator"></antcall>
    </target>

    <!-- =================================
          Enable the RBAC Accelerator Overlay
         ================================= -->
    <target name="enable-rbac-accelerator" depends="init" if="rbac.accelerator">
        <echo message="###############  Initialize the RBAC Accelerator Overlay"/>
        <replace file="${target.slapd.conf}" token="@RBAC_MODULE@" value="${rbac.module}"/>
        <replace file="${target.slapd.conf}" token="@DDS_MODULE@" value="${dds.module}"/>
        <replace file="${target.slapd.conf}" token="@MONITOR_MODULE@" value="${monitor.module}"/>
        <replace file="${target.slapd.conf}" token="@IS_RBAC_ACCELERATOR@" value=""/>
        <replace file="${target.slapd.conf}" token="@USERS_DN@" value="${users.dn}"/>
        <replace file="${target.slapd.conf}" token="@ROLES_DN@" value="${roles.dn}"/>
        <replace file="${target.slapd.conf}" token="@PERMS_DN@" value="${perms.dn}"/>
        <replace file="${target.slapd.conf}" token="@SUFFIX@" value="${suffix.dc}"/>
        <replace file="${target.slapd.conf}" token="@SUFFIX_NAME@" value="${suffix.name}"/>
        <replace file="${target.slapd.conf}" token="@RBACSESS_DB_PATH@" value="${db.sess.dir}"/>
        <replace file="${target.slapd.conf}" token="@AUDIT_DB_PATH@" value="${db.audit.dir}"/>
        <replace file="${target.slapd.conf}" token="@RBACOVERLAY_DB_PATH@" value="${db.rbac.dir}"/>
        <replace file="${target.slapd.conf}" token="@RBAC_DN@" value="${rbac.dn}"/>
        <replace file="${target.slapd.conf}" token="@SESSIONS_DN@" value="${sessions.dn}"/>
        <replace file="${target.slapd.conf}" token="@AUDITS_DN@" value="${audit.dn}"/>

        <echo message="###############  Backup old RBAC ACCEL OVERLAY LMDB audit folder  ###############"/>
        <move todir="${db.bak.audit.dir}/${TODAY}" failonerror="false">
            <fileset dir="${db.audit.dir}"/>
        </move>
        <echo message="###############  Backup old RBAC ACCEL OVERLAY LMDB session folder  ###############"/>
        <move todir="${db.bak.sess.dir}/${TODAY}" failonerror="false">
            <fileset dir="${db.sess.dir}"/>
        </move>

        <echo message="###############  Create RBAC ACCEL OVERLAY session folder  ###############"/>
        <mkdir dir="${db.sess.dir}"/>
        <echo message="###############  Create RBAC ACCEL OVERLAY audit folder  ###############"/>
        <mkdir dir="${db.audit.dir}"/>
        <echo message="###############  Create RBAC ACCEL OVERLAY rbac folder  ###############"/>
        <mkdir dir="${db.rbac.dir}"/>
        <antcall target="copy-rbac-libs"></antcall>
    </target>

    <!-- =================================
          Disable RBAC Accelerator Overlay
         ================================= -->
    <target name="disable-rbac-accelerator" depends="init" unless="rbac.accelerator">
        <echo message="###############  Disable the RBAC Accelerator Overlay"/>
        <replace file="${target.slapd.conf}" token="@RBAC_MODULE@" value=""/>
        <replace file="${target.slapd.conf}" token="@DDS_MODULE@" value=""/>
        <replace file="${target.slapd.conf}" token="@MONITOR_MODULE@" value=""/>
        <replace file="${target.slapd.conf}" token="@IS_RBAC_ACCELERATOR@" value="#"/>
    </target>

    <!-- =================================
          OpenLDAP SSL Config
         ================================= -->
    <target name="init-slapd-ssl" depends="init">
        <antcall target="enable-slapd-ssl"></antcall>
        <antcall target="disable-slapd-ssl"></antcall>
    </target>

    <!-- =================================
          Enable OpenLDAP SSL
         ================================= -->
    <target name="enable-slapd-ssl" depends="init" if="enable.ldap.ssl">
        <echo message="###############  Enable OpenLDAP SSL"/>
        <antcall target="copy-ssl-keys"></antcall>
        <replace file="${target.slapd.conf}" token="@IS_SSL@" value=""/>
        <replace file="${target.slapd.conf}" token="@CA_CERT_FILEW@" value="${dst.slapd.ssl.keys.dir}/${tls.ca.cert.file}"/>
        <replace file="${target.slapd.conf}" token="@CERT_FILEW@" value="${dst.slapd.ssl.keys.dir}/${tls.cert.file}"/>
        <replace file="${target.slapd.conf}" token="@CERT_KEY_FILEW@" value="${dst.slapd.ssl.keys.dir}/${tls.key.file}"/>
    </target>

    <!-- =================================
          Disable OpenLDAP SSL
         ================================= -->
    <target name="disable-slapd-ssl" depends="init" unless="enable.ldap.ssl">
        <echo message="###############  Disable OpenLDAP SSL"/>
        <replace file="${target.slapd.conf}" token="@IS_SSL@" value="#"/>
    </target>

    <!-- =================================
          init slapd for windows
         ================================= -->
    <target name="init-slapd-win-script" depends="init" if="windows" description="--> creates a startup file for slapd on windows">
        <echo message="###############  Create slapd startup script for windows  ###############"/>
        <delete file="${dst.start.slapd.script-win}"/>
        <copy file="${src.start.slapd.script-win}" tofile="${dst.start.slapd.script-win}"/>
        <replace file="${dst.start.slapd.script-win}" token="@SLAPD_LOCATION@" value="${slapd.exe.location}"/>
        <echo message="init-slapd-win-script."/>
    </target>

    <!-- =================================
          initialize the config files
         ================================= -->
    <target name="init-fortress-config" depends="init">
       <echo message="Determine configuration requirements"/>
       <antcall target="init-fortress-config-local"></antcall>
       <antcall target="init-fortress-config-remote"></antcall>
    </target>

    <!-- =================================
          target: init-fortress-config - uses configuration artifacts created by Fortress Builder in target system environment.
         ================================= -->
     <target name="init-fortress-config-remote" depends="init" description="--> uses external build.properties to create local script and config files.."  if="builder.home">
         <echo message="###############  Import fortress configuration from Builder directory  ###############"/>
       <copy file="${builder.bootstrap.conf}" tofile="${dst.bootstrap.conf}"/>
       <copy file="${builder.remote.conf}" tofile="${dst.remote.conf}"/>
       <copy file="${builder.load.bootstrap.script}" tofile="${dst.load.bootstrap.script}"/>
         <echo message="###############  Copy ehcache config to bootstrap config folder  ###############"/>
         <delete file="${bootstrap.ehcache.conf}"/>
       <copy file="${ehcache.conf}" tofile="${bootstrap.ehcache.conf}"/>
         <echo message="Target init-fortress-config-remote complete."/>
     </target>

    <!-- =================================
          target: init-fortress-config - modifies fortress-core configuration artifacts for use of openldap in target system environment.
         ================================= -->
     <target name="init-fortress-config-local" depends="init" description="--> map env params from build.properties to scripts and config files.."  unless="builder.home">
         <echo message="###############  Modify fortress configuration per user settings  ###############"/>
         <delete file="${dst.bootstrap.conf}"/>
         <delete file="${dst.remote.conf}"/>

       <copy file="${src.bootstrap.conf}" tofile="${dst.bootstrap.conf}"/>
         <!-- These params are bound for config/bootstrap/config.properties file and are used during the initial load of  Fortress which creates the Directory Information Tree (DIT) and a configuration node.  -->
         <replace file="${dst.bootstrap.conf}" token="@SUFFIX@" value="${suffix}"/>
         <replace file="${dst.bootstrap.conf}" token="@LDAP_HOST@" value="${ldap.host}"/>
         <replace file="${dst.bootstrap.conf}" token="@LDAP_PORT@" value="${ldap.port}"/>
         <replace file="${dst.bootstrap.conf}" token="@ROOT_DN@" value="${root.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@CFG_ROOT_PW@" value="${cfg.root.pw}"/>
         <replace file="${dst.bootstrap.conf}" token="@ADM_MIN_CONN@" value="${admin.min.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@ADM_MAX_CONN@" value="${admin.max.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@LOG_ROOT_DN@" value="${log.admin.user}"/>
         <replace file="${dst.bootstrap.conf}" token="@CFG_LOG_ROOT_PW@" value="${log.admin.pw}"/>
         <replace file="${dst.bootstrap.conf}" token="@LOG_MIN_CONN@" value="${min.log.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@LOG_MAX_CONN@" value="${max.log.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@USR_MIN_CONN@" value="${user.min.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@USR_MAX_CONN@" value="${user.max.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@CFG_CRYPTO_PROP@" value="${crypto.prop}"/>
         <replace file="${dst.bootstrap.conf}" token="@SERVER_TYPE@" value="${ldap.server.type}"/>
         <replace file="${dst.bootstrap.conf}" token="@ROLE_OCCUPANTS@" value="${role.occupants}"/>
         <replace file="${dst.bootstrap.conf}" token="@LDAP_CLIENT_TYPE@" value="${ldap.client.type}"/>
         <replace file="${dst.bootstrap.conf}" token="@USERS_DN@" value="${users.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@ROLES_DN@" value="${roles.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@POLICIES_DN@" value="${policies.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@PERMS_DN@" value="${perms.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@CONSTRAINTS_DN@" value="${constraints.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@USEROUS_DN@" value="${userous.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@PERMOUS_DN@" value="${permous.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@ADMINROLES_DN@" value="${adminroles.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@ADMINPERMS_DN@" value="${adminperms.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@AUDITS_DN@" value="${audits.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@GROUPS_DN@" value="${groups.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@ENABLE_LDAP_SSL@" value="${enable.ldap.ssl}"/>
         <replace file="${dst.bootstrap.conf}" token="@ENABLE_LDAP_SSL_DEBUG@" value="${enable.ldap.ssl.debug}"/>
         <replace file="${dst.bootstrap.conf}" token="@TRUST_STORE@" value="${trust.store}"/>
         <replace file="${dst.bootstrap.conf}" token="@TRUST_STORE_PW@" value="${trust.store.password}"/>
         <replace file="${dst.bootstrap.conf}" token="@TRUST_STORE_ONCLASSPATHW@" value="${trust.store.onclasspath}"/>

       <copy file="${src.remote.conf}" tofile="${dst.remote.conf}"/>
         <!-- These params are bound for config/config.properties file and contain coordinate to the target ldap server (only). -->
         <replace file="${dst.remote.conf}" token="@SUFFIX@" value="${suffix}"/>
         <replace file="${dst.remote.conf}" token="@LDAP_HOST@" value="${ldap.host}"/>
         <replace file="${dst.remote.conf}" token="@LDAP_PORT@" value="${ldap.port}"/>
         <replace file="${dst.remote.conf}" token="@ROOT_DN@" value="${root.dn}"/>
         <replace file="${dst.remote.conf}" token="@CFG_ROOT_PW@" value="${cfg.root.pw}"/>
         <replace file="${dst.remote.conf}" token="@ADM_MIN_CONN@" value="${admin.min.conn}"/>
         <replace file="${dst.remote.conf}" token="@ADM_MAX_CONN@" value="${admin.max.conn}"/>
         <replace file="${dst.remote.conf}" token="@LOG_ROOT_DN@" value="${log.admin.user}"/>
         <replace file="${dst.remote.conf}" token="@CFG_LOG_ROOT_PW@" value="${log.admin.pw}"/>
         <replace file="${dst.remote.conf}" token="@ROLE_OCCUPANTS@" value="${role.occupants}"/>
         <replace file="${dst.remote.conf}" token="@LOG_MIN_CONN@" value="${min.log.conn}"/>
         <replace file="${dst.remote.conf}" token="@LOG_MAX_CONN@" value="${max.log.conn}"/>
         <replace file="${dst.remote.conf}" token="@USR_MIN_CONN@" value="${user.min.conn}"/>
         <replace file="${dst.remote.conf}" token="@USR_MAX_CONN@" value="${user.max.conn}"/>
         <replace file="${dst.remote.conf}" token="@CFG_CRYPTO_PROP@" value="${crypto.prop}"/>
         <replace file="${dst.remote.conf}" token="@ENABLE_REST@" value="${enable.mgr.impl.rest}"/>
         <replace file="${dst.remote.conf}" token="@REST_HTTP_USER@" value="${http.user}"/>
         <replace file="${dst.remote.conf}" token="@REST_HTTP_PW@" value="${http.pw}"/>
         <replace file="${dst.remote.conf}" token="@REST_HTTP_HOST@" value="${http.host}"/>
         <replace file="${dst.remote.conf}" token="@REST_HTTP_PORT@" value="${http.port}"/>
         <replace file="${dst.remote.conf}" token="@REST_HTTP_PROTOCOL@" value="${http.protocol}"/>
         <replace file="${dst.remote.conf}" token="@LDAP_CLIENT_TYPE@" value="${ldap.client.type}"/>
         <replace file="${dst.remote.conf}" token="@ENABLE_LDAP_SSL@" value="${enable.ldap.ssl}"/>
         <replace file="${dst.remote.conf}" token="@ENABLE_LDAP_SSL_DEBUG@" value="${enable.ldap.ssl.debug}"/>
         <replace file="${dst.remote.conf}" token="@TRUST_STORE@" value="${trust.store}"/>
         <replace file="${dst.remote.conf}" token="@TRUST_STORE_PW@" value="${trust.store.password}"/>
         <replace file="${dst.remote.conf}" token="@TRUST_STORE_ONCLASSPATHW@" value="${trust.store.onclasspath}"/>
         <replace file="${dst.remote.conf}" token="@KEY_STORE@" value="${key.store}"/>
         <replace file="${dst.remote.conf}" token="@KEY_STORE_PW@" value="${key.store.password}"/>
         <replace file="${dst.remote.conf}" token="@SERVER_TYPE@" value="${ldap.server.type}"/>
         <replace file="${dst.remote.conf}" token="@IS_AUDIT@" value="${disable.audit}"/>

         <echo message="###############  Modify fortress load scripts per user settings  ###############"/>
         <!-- The load script builds the Directory Information Tree and load the configuration entry used to hold params not needed to establish a connection with server. -->
         <delete file="${dst.load.bootstrap.script}"/>
         <copy file="${src.load.bootstrap.script}" tofile="${dst.load.bootstrap.script}"/>
         <replace file="${dst.load.bootstrap.script}" token="@SUFFIX_NAME@" value="${suffix.name}"/>
         <replace file="${dst.load.bootstrap.script}" token="@SUFFIX_DC@" value="${suffix.dc}"/>
         <replace file="${dst.load.bootstrap.script}" token="@SUFFIX_DC2@" value="${suffix.dc2}"/>
         <replace file="${dst.load.bootstrap.script}" token="@SUFFIX@" value="${suffix}"/>
         <replace file="${dst.load.bootstrap.script}" token="@USERS_DN@" value="${users.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@GROUPS_DN@" value="${groups.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@ROLES_DN@" value="${roles.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@POLICIES_DN@" value="${policies.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@PERMS_DN@" value="${perms.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@CONSTRAINTS_DN@" value="${constraints.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@USEROUS_DN@" value="${userous.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@PERMOUS_DN@" value="${permous.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@ADMINROLES_DN@" value="${adminroles.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@ADMINPERMS_DN@" value="${adminperms.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@AUDITS_DN@" value="${audits.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@GROUP_OBJECT_CLASS@" value="${group.objectclass}"/>
         <replace file="${dst.load.bootstrap.script}" token="@GROUP_PROTOCOL@" value="${group.protocol}"/>
         <replace file="${dst.load.bootstrap.script}" token="@GROUP_PROPERTIES@" value="${group.properties}"/>
         <replace file="${dst.load.bootstrap.script}" token="@ROLE_OCCUPANTS@" value="${role.occupants}"/>
         <replace file="${dst.load.bootstrap.script}" token="@IS_RFC2307@" value="${rfc2307}"/>
         <echo message="###############  Copy ehcache config to bootstrap config folder  ###############"/>
         <delete file="${bootstrap.ehcache.conf}"/>
       <copy file="${ehcache.conf}" tofile="${bootstrap.ehcache.conf}"/>

         <echo message="Target init-fortress-config-local complete."/>
     </target>

    <!-- =================================
          target: init-all-config - configures openldap, fortress and the the base load scripts for ldap Directory Information Tree (DIT)
         ================================= -->
     <target name="init-all-config" depends="init" description="--> map env params from build.properties to scripts and config files">
         <antcall target="init-openldap-config"></antcall>
         <antcall target="init-fortress-config"></antcall>
         <echo message="Target init-all-config complete."/>
     </target>

    <!-- =================================
          target: init-slapd - Performs the following functions:

                1. Initializes the Fortress runtime config
                2. Installs OpenLDAP directory server to the local machine

          WARNING: Use caution running this target.

          It backs up the folder containing current LMDB database (pointed to by ${db.dir}) and creates a new/empty database folder.

          This operation can be manually reversed by moving the saved DB folder (pointed to by ${db.hist.dir}) back to original location (again ${db.dir}).

          This operation is for creating new or reinitializing existing OpenLdap instances back to origin and should NEVER be run against an LDAP server in prod env.

          Do NOT run this Ant target on a production LDAP instance !!
         ================================= -->
    <target name="init-slapd" depends="init" description="--> task recreates openldap system and must be run as elevated priv's to teardown/create slapd files and folders">
        <echo message="###############  Initialize OpenLDAP  ###############"/>

        <echo message="###############  Stop slapd process  ###############"/>
        <antcall target="stop-slapd"></antcall>
        <antcall target="uninstall-slapd"></antcall>

        <echo message="###############  Backup the slpad bdb folders  ###############"/>
        <!-- Backup the OpenLDAP access log db folder -->
        <move todir="${db.bak.hist.dir}/${TODAY}" failonerror="false">
           <fileset dir="${db.hist.dir}"/>
        </move>
        <!-- Backup the OpenLDAP db folder -->
        <move todir="${db.bak.dir}/${TODAY}" failonerror="false">
           <fileset dir="${db.dir}"/>
        </move>

        <antcall target="install-slapd"></antcall>

        <echo message="###############  Create new slapd bdb folders  ###############"/>
        <mkdir dir="${db.dir}"/>
        <mkdir dir="${db.hist.dir}"/>

        <echo message="###############  Backup slapd configuration and Fortress LDAP schema  ###############"/>
        <move file="${dst.slapd.conf}" tofile="${dst.slapd.conf}.bak.${TODAY}" failonerror="false" />
        <move file="${dst.symas.conf}" tofile="${dst.symas.conf}.bak.${TODAY}" failonerror="false" />
        <move file="${target.fortress.schema}" tofile="${target.fortress.schema}.${TODAY}" failonerror="false" />
        <move file="${target.rbac.schema}" tofile="${target.rbac.schema}.${TODAY}" failonerror="false" />

        <echo message="###############  Setup meta config and base load scripts for openldap and fortress  ###############"/>
        <antcall target="init-all-config"></antcall>

        <echo message="###############  Copy slapd configuration and Fortress LDAP schema files from source  ###############"/>
        <copy todir="${slapd.schema.dir}" file="${source.fortress.schema}"/>
        <copy todir="${slapd.schema.dir}" file="${source.rbac.schema}"/>
        <copy todir="${slapd.dir}" file="${target.slapd.conf}"/>
        <copy todir="${slapd.dir}" file="${target.symas.conf}"/>

        <antcall target="copy-access-libs"></antcall>    
        <antcall target="init-slapd-win-script"></antcall>
        <antcall target="start-slapd"></antcall>
        <echo message="Target init-slapd complete."/>
    </target>

    <!-- =================================
          perform test configurations
         ================================= -->
    <target name="test-config" depends="init">
        <echo message="###############  Test Config Steps"/>
        <echo message="###############  Setup meta config and base load scripts for openldap and fortress  ###############"/>
        <antcall target="init-all-config"></antcall>

        <echo message="###############  Copy slapd configuration and Fortress LDAP schema files from source  ###############"/>
        <copy todir="${slapd.schema.dir}" file="${source.fortress.schema}"/>
        <copy todir="${slapd.dir}" file="${target.slapd.conf}"/>

        <antcall target="copy-access-libs"></antcall>
        <antcall target="init-slapd-win-script"></antcall>
    </target>

    <!-- =================================
          copy the slapd access log libs from install to bin folder
         ================================= -->
    <target name="copy-access-libs" depends="init" >
        <echo message="###############  Copy access log libs ${openldap.install.artifact.dir} to openldap lib folder ${slapd.module.dir}"/>
    <copy todir="${slapd.module.dir}" failonerror="false">
      <fileset dir="${openldap.install.artifact.dir}">
        <include name="**/accesslog*"/>
      </fileset>
    </copy>
    </target>

    <!-- =================================
          copy the slapd impl accelerator overlay libs from install to bin folder
         ================================= -->
    <target name="copy-rbac-libs" depends="init" >
        <echo message="###############  Copy rbac libs ${openldap.install.artifact.dir} to openldap lib folder ${slapd.module.dir}"/>
        <copy todir="${slapd.module.dir}" failonerror="false">
            <fileset dir="${openldap.install.artifact.dir}">
                <include name="**/rbac*"/>
            </fileset>
        </copy>
    </target>

    <!-- =================================
          copy the slapd impl accelerator overlay libs from install to bin folder
         ================================= -->
    <target name="copy-ssl-keys" depends="init" >
        <echo message="###############  Copy SSL keys from ${src.slapd.ssl.keys.dir} to ${dst.slapd.ssl.keys.dir}"/>
        <copy todir="${dst.slapd.ssl.keys.dir}" failonerror="false">
            <fileset dir="${src.slapd.ssl.keys.dir}">
                <include name="*.pem"/>
            </fileset>
        </copy>
    </target>

    <!-- =================================
          if windows system create slapd server folders
         ================================= -->
    <target name="mkdir-slapd-win" depends="init" if="windows">
        <echo message="###############  Create the folder for windows slapd by running ${mkdir.slapd-win}"/>
        <exec command="cmd.exe" spawn="true" osfamily="windows" dir="${install.image.loc}">
            <arg value="/${fortress.home.drive}"/>
            <arg value="${mkdir.slapd-win}"/>
        </exec>
    </target>

    <!-- =================================
          call the target to uninstall slapd server
         ================================= -->
    <target name="uninstall-slapd" depends="init">
        <antcall target="uninstall-slapd-win"></antcall>
        <antcall target="uninstall-slapd-nix"></antcall>
    </target>

    <!-- =================================
          uninstall slapd from unix system
         ================================= -->
    <target name="uninstall-slapd-nix" depends="init" unless="windows">
        <echo message="###############  Uninstall OpenLDAP binaries"/>
        <exec dir="." executable="/bin/sh">
            <arg line="${uninstall.slapd.script}"/>
            <arg value="${slapd.uninstall}"/>
        </exec>
    </target>

    <!-- =================================
          call the target to uninstall slapd from windows system
         ================================= -->
    <target name="uninstall-slapd-win" depends="init" if="windows">
        <antcall target="uninstall-slapd-win-if-present"></antcall>
    </target>

    <!-- =================================
          if detect running windows uninstall slapd server from windows system.
         ================================= -->
    <target name="uninstall-slapd-win-if-present" depends="slapd.dir.check" if="slapd.dir.exists">
        <echo message="###############  Uninstall OpenLDAP WIN binaries: from ${slapd.exe.location2}"/>
        <exec command="cmd.exe" spawn="true" osfamily="windows" dir="${slapd.exe.location2}" >
            <arg value="/${fortress.home.drive}"/>
            <arg value="${uninstall.image.exe}"/>
            <arg value="/S"/>
        </exec>
    </target>

    <!-- =================================
          call the target to uninstall slapd server
         ================================= -->
    <target name="install-slapd" depends="init">
        <antcall target="install-slapd-win"></antcall>
        <antcall target="install-slapd-nix"></antcall>
    </target>

    <!-- =================================
          uninstall slapd from unix system
         ================================= -->
    <target name="install-slapd-nix" depends="init" unless="windows">
        <echo message="###############  Install OpenLDAP binaries"/>
        <exec dir="${openldap.install.artifact.dir}" executable="/bin/sh">
            <arg line="${install.slapd.script}"/>
            <arg value="${slapd.install}"/>
        </exec>
    </target>

    <!-- =================================
          uninstall slapd from windows system
         ================================= -->
    <target name="install-slapd-win" depends="init" if="windows">
        <echo message="###############  Install OpenLDAP WIN binaries to ${slapd.exe.location}"/>
        <mkdir dir="${slapd.exe.location}"/>
        <exec command="cmd.exe" spawn="false" osfamily="windows" dir="${install.image.loc}">
            <arg value="/${fortress.home.drive}"/>
            <arg value="${install.image.exe}"/>
            <arg value="/S"/>
            <arg value="/D=${slapd.exe.location}"/>
        </exec>
    </target>

    <!-- =================================
          call the target to start the slapd server
         ================================= -->
    <target name="start-slapd" depends="init" description="--> start the OpenLDAP server">
        <antcall target="start-slapd-win"></antcall>
        <antcall target="start-slapd-nix"></antcall>
    </target>

    <!-- =================================
          start the slapd server on unix system
         ================================= -->
    <target name="start-slapd-nix" depends="init" unless="windows">
        <echo message="###############  Start the slapd process up  ###############"/>
        <exec dir="." executable="/bin/sh">
            <arg line="${start.slapd.script}"/>
            <arg value="${slapd.start}"/>
        </exec>
    </target>

    <!-- =================================
          call the target to stop the slapd server
         ================================= -->
    <target name="stop-slapd" depends="init" description="--> stop the OpenLDAP server">
        <antcall target="stop-slapd-win"></antcall>
        <antcall target="stop-slapd-nix"></antcall>
    </target>

    <!-- =================================
          stop the slapd server on unix system
         ================================= -->
    <target name="stop-slapd-nix" depends="init" unless="windows">
        <echo message="###############  Stop the slapd process"/>
        <exec dir="." executable="/bin/sh">
          <arg line="${stop.slapd.script}"/>
        </exec>
    </target>

    <!-- =================================
          start the slapd server on windows system
         ================================= -->
    <target name="start-slapd-win" depends="init" if="windows">
       <echo message="###############  Start the slapd process up: ${dst.start.slapd.script-win} in ${slapd.exe.dir}"/>       
        <exec command="cmd.exe" spawn="true" osfamily="windows" dir="${slapd.exe.drive}:/${slapd.exe.dir}">
            <arg value="/${fortress.home.drive}"/>
            <arg value="${dst.start.slapd.script-win}"/>
        </exec>
    </target>

    <!-- =================================
          return true if slapd bin folder exists
         ================================= -->
    <target name="slapd.dir.check">
        <condition property="slapd.dir.exists">
            <available file="${slapd.exe.location}" type="dir"/>
    </condition>
     </target>

    <!-- =================================
          call the target to stop the slapd server on windows system
         ================================= -->
    <target name="stop-slapd-win" depends="init" if="windows">
        <antcall target="stop-slapd-win-if-present"></antcall>
    </target>

    <!-- =================================
          if slapd dir exists stop the slapd server on windows system
         ================================= -->
    <target name="stop-slapd-win-if-present" depends="slapd.dir.check" if="slapd.dir.exists">
        <echo>${directory} exists</echo>
        <echo message="###############  Stop the slapd process by running ${stop.slapd.script-win}"/>
        <exec command="cmd.exe" spawn="true" osfamily="windows" dir="${slapd.exe.location}">
            <arg value="/${fortress.home.drive}"/>
            <arg value="${stop.slapd.script-win}"/>
        </exec>
    </target>

    <!-- =================================
          target: bdb-delete - Use Caution as it removes the file volume containing the BerkeleyDB User data!
          This operation is destructive and non-reversible.  It is intended for clearing out existing systems data
          before reinstalling with brand new data.

          Never run this Ant target on a production system.
         ================================= -->
     <target name="bdb-delete" depends="init" description="--> delete OpenLDAP DB">
         <echo message="Delete BDB DB"/>

         <exec dir="." executable="/bin/sh">
           <arg line="${stop.slapd.script}"/>
         </exec>

         <delete dir="${db.dir}"/>

     </target>

    <!-- =================================
          target: init-jaxb - initializes properties and taskdefs used for schema generation and compilation.
         ================================= -->
<!--
    <target name="init-jaxb" depends="resolve" description="&ndash;&gt; initializes properties and taskdefs used for schema generation and compilation">

        <property name="generated.dir" value="${basedir}/generated"/>
        <property name="generated.classes.dir" value="${generated.dir}/classes"/>
        <property name="generated.schema.dir" value="${generated.dir}/schema"/>

       &lt;!&ndash; Defines XJC and SchemaGen tasks &ndash;&gt;
        <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
            <classpath refid="build.class.path"/>
        </taskdef>

        <taskdef name="schemagen" classname="com.sun.tools.jxc.SchemaGenTask">
                <classpath refid="build.class.path"/>
        </taskdef>

    </target>
-->

    <!-- =================================
          target: generate-schema - generates JAXB schmea based on Java classes.
         ================================= -->
<!--
    <target name="generate-schema" depends="init-jaxb,compile" description="&ndash;&gt; generates JAXB schema based on Fortress entity classes">
        <echo message="Generating schemas..."/>
        <mkdir dir="${generated.schema.dir}"/>
        <schemagen srcdir="${src.java.dir}/org/openldap/fortress" destdir="${generated.schema.dir}">
            <classpath refid="build.class.path"/>
            <include name="rbac/Address.java"/>
            <include name="rbac/AdminRole.java"/>
            <include name="rbac/AdminRoleRelationship.java"/>
            <include name="rbac/AuthZ.java"/>
            <include name="rbac/Bind.java"/>
            <include name="util/time/Constraint.java"/>
            <include name="FortEntity.java"/>
            <include name="rest/FortRequest.java"/>
            <include name="rest/FortResponse.java"/>
            <include name="rbac/Mod.java"/>
            <include name="rbac/OrgUnit.java"/>
            <include name="rbac/OrgUnitRelationship.java"/>
            <include name="rbac/Permission.java"/>
            <include name="rbac/PermGrant.java"/>
            <include name="rbac/Permission.java"/>
            <include name="rbac/PermObj.java"/>
            <include name="rbac/Props.java"/>
            <include name="rbac/PwPolicy.java"/>
            <include name="rbac/Role.java"/>
            <include name="rbac/RolePerm.java"/>
            <include name="rbac/RoleRelationship.java"/>
            <include name="rbac/SDSet.java"/>
            <include name="rbac/Session.java"/>
            <include name="rbac/User.java"/>
            <include name="rbac/UserAdminRole.java"/>
            <include name="rbac/UserAudit.java"/>
            <include name="rbac/UserRole.java"/>
        </schemagen>
    </target>
-->

    <!-- =================================
          target: compile-schema - generates Java classes based on schema.
         ================================= -->
<!--
    <target name="compile-schema" depends="init-jaxb,generate-schema" description="&ndash;&gt; generates Java classes based on Fortress schema">
        <echo message="Compiling the schema..."/>
        <mkdir dir="${generated.classes.dir}"/>
        <xjc schema="${generated.schema.dir}/schema1.xsd" destdir="${src.java.dir}" package="org.apache.directory.fortress.model" removeOldOutput="yes"/>
    </target>
-->

</project>
