#!/bin/bash

readonly NAME=eltex-bruce
DB_UTILS="/usr/lib/$NAME/db_utils.sh"

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 -Dlog4j2.configurationFile=/etc/eltex-bruce/log4j2.xml"

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

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

RUN_ARGS="$JAVA_OPTS -jar ${JAR} --spring.config.location=optional:file:/etc/eltex-bruce/application.properties"

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