#! /bin/bash

### BEGIN INIT INFO
# Provides:	${{app_name}}
# Required-Start: ${{start_facilities}}
# Required-Stop: ${{stop_facilities}}
# Default-Start: ${{start_runlevels}}
# Default-Stop: ${{stop_runlevels}}
# Short-Description: ${{descr}}
### END INIT INFO

source /lib/init/vars.sh
source /lib/lsb/init-functions

# adding bashScriptEnvConfigLocation
[[ -f ${{env_config}} ]] && . ${{env_config}}

# $JAVA_OPTS used in $RUN_CMD wrapper
export JAVA_OPTS

PIDFILE=/var/run/${{app_name}}/running.pid

if [ -z "$DAEMON_USER" ]; then
    DAEMON_USER=${{daemon_user}}
fi

if [ -z "$DAEMON_GROUP" ]; then
    DAEMON_GROUP=${{daemon_group}}
fi


RUN_CMD="${{chdir}}/bin/${{exec}}"


start_daemon() {
    log_daemon_msg "Starting" "${{app_name}}"
    [ -d "/var/run/${{app_name}}" ] || install -d -o "$DAEMON_USER" -g "$DAEMON_GROUP" -m755 "/var/run/${{app_name}}"
    start-stop-daemon --background --chdir ${{chdir}} --chuid "$DAEMON_USER" --make-pidfile --pidfile "$PIDFILE" --startas "$RUN_CMD" --start -- $RUN_OPTS
    log_end_msg $?
}


stop_daemon() {
    log_daemon_msg "Stopping" "${{app_name}}"
    start-stop-daemon --stop --quiet --oknodo --pidfile "$PIDFILE" --retry=TERM/${{term_timeout}}/KILL/${{kill_timeout}}
    log_end_msg $?
    rm -f "$PIDFILE"
}

case "$1" in

  start)
    start_daemon
    exit $?
	  ;;
  stop)
    stop_daemon
    exit $?
	  ;;
  restart|force-reload)
    stop_daemon
    start_daemon
    exit $?
    ;;
  status)
    status_of_proc -p "$PIDFILE" "$RUN_CMD" ${{app_name}} && exit 0 || exit $?
    ;;
  *)
    log_daemon_msg "Usage: /etc/init.d/${{app_name}} {start|stop|restart|status}"
    ;;
esac
exit 0
