#!/bin/bash

BROKER_BIN_DIR="/usr/share/dcv-session-manager-broker/bin"

LOG_FILE_SUFFIX="-DLOG_FILE_SUFFIX=Cli"

source "${BROKER_BIN_DIR}/common.sh"

check_user root "DCV Session Manager Broker CLI can only be run by root"

_java=$(get_java_cmd)
[ "${_java}" = "java" ] && echo -e "Using system default Java runtime\n" || echo -e "Using Java runtime ${_java}\n"

if ! check_java_version "${_java}" "${REQUIRED_JAVA_VERSION_MAJOR}"; then
    die "Error checking Java environment"
fi

if [ $# -eq 0 ] ; then
    sudo -u "${SERVICE_USER}" "${_java}" ${LOG_FILE_SUFFIX} -jar \
    ${BROKER_COMMAND_ENV} \
    ${BROKER_COMMAND_JAR}
elif [ "$1" == "run-broker" ] ; then
    die "Cannot run broker from CLI. Use systemctl instead."
elif [ "$1" == "version" ] ; then
  sudo -u "${SERVICE_USER}" "${_java}" ${LOG_FILE_SUFFIX} -jar \
    ${BROKER_COMMAND_ENV} \
    ${BROKER_COMMAND_JAR} \
    $@
else
    sudo -u "${SERVICE_USER}" "${_java}" ${LOG_FILE_SUFFIX} -jar \
    ${BROKER_COMMAND_ENV} \
    ${BROKER_COMMAND_JAR} \
    $1 \
    ${BROKER_CONF_FILE_PROPERTY} "${@:2}" 2>&1 \
    | grep -e "^[' ']"
fi

