#!/bin/bash

readonly NAME=eltex-papaya

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

DEBUG_PORT=

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

# Add the JAVA 9 and newer specific start-up parameters required by Hazelcast
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-modules java.se"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-exports java.base/jdk.internal.ref=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens java.base/java.lang=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens java.base/java.nio=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens java.base/sun.nio.ch=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens java.management/sun.management=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED"
export JDK_JAVA_OPTIONS

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

# Spring application properties sets
JAVA_OPTS="${JAVA_OPTS} -Dfile.encoding=UTF-8 -Dlog4j2.configurationFile=/etc/eltex-papaya/log4j2.xml"

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

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

exec $JAVA $JAVA_OPTS -jar ${JAR} --spring.config.location=file:/etc/eltex-papaya/config/application.yaml
