#!/bin/bash

readonly NAME=eltex-doors

DB_UTILS="/usr/lib/$NAME/db_utils.sh"

PORT=9097

JAVA=/usr/bin/java
JAVA_INIT_HEAP=32m
JAVA_MAX_HEAP=256m
JAVA_OPTS=

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

# Spring application properties sets
JAVA_OPTS="${JAVA_OPTS} -Dfile.encoding=UTF-8 -Dlogging.config=/etc/eltex-doors/log4j2.xml"

# Other java settings
JAVA_OPTS="${JAVA_OPTS} -Xms${JAVA_INIT_HEAP} -Xmx${JAVA_MAX_HEAP}"

JAR=/usr/share/$NAME/$NAME.jar

cmd=$1
shift
case ${cmd} in
    run)
        if ! ${DB_UTILS} check_db_user $@ ; then
            echo "Service $NAME failed to start"
            exit $?
        fi
        exec $JAVA $JAVA_OPTS -jar ${JAR} --server.port=${PORT}
    ;;
    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