#!/bin/bash

NAME="eltex-ngw"
DB_UTILS="/usr/lib/$NAME/db_utils.sh"
MAIN_CONFIG="/etc/$NAME/application.conf"

PORT=8040

LOG4J_CONFIG="/etc/$NAME/log4j2.xml"

JAVA=/usr/bin/java
JAVA_INIT_HEAP=64m
JAVA_MAX_HEAP=128m
JAVA_OPTS=
DEBUG_PORT=

if [[ -e "/etc/default/$NAME" ]]; then
    source "/etc/default/$NAME"
fi

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Dlogging.config=$LOG4J_CONFIG"
JAVA_OPTS="$JAVA_OPTS -Djdk.attach.allowAttachSelf=true"
JAVA_ARGS="-port $PORT"

# JVM debug options
DEBUG_OPT=$([[ ${DEBUG_PORT} -gt 0 ]] && echo "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:${DEBUG_PORT}")

JAR="/usr/share/$NAME/ngw-service.jar"
RUN_ARGS="$JAVA_OPTS $DEBUG_OPT -Xms$JAVA_INIT_HEAP -Xmx$JAVA_MAX_HEAP -jar $JAR $JAVA_ARGS"


cmd=$1
shift
case ${cmd} in
    run)
        if ! ${DB_UTILS} check_db_user $@ ; then
            echo "Service $NAME failed to start"
            exit $?
        fi
        exec ${JAVA} ${RUN_ARGS}
    ;;
    remove-db)
        if service ${NAME} status &> /dev/null ; then
            echo "Stop $NAME service before removing database"
            exit 1
        fi
        ${DB_UTILS} remove_db $@
    ;;
    create-db-user)
        ${DB_UTILS} create_db_user $@
    ;;
esac
