#!/bin/sh

realpath() {
  OURPWD=${PWD}
  cd "$(dirname "${1}")" || exit 2
  LINK=$(ls -l "$(basename "${1}")" | awk -F"-> " '{print $2}')
  while [ "${LINK}" ]; do
	  echo "link: ${LINK}" >&2
    cd "$(dirname "${LINK}")" || exit 2
    LINK=$(ls -l "$(basename "${1}")" | awk -F"-> " '{print $2}')
  done
  REALPATH="${PWD}/$(basename "${1}")"
  cd "${OURPWD}" || exit 2
  echo "${REALPATH}"
}

REALNAME=$(realpath "$0")
DIRNAME=$(dirname "${REALNAME}")
PROGNAME=$(basename "${REALNAME}")

#
# Load common functions
#
. "${DIRNAME}/inc"

#
# Sourcing environment settings for karaf similar to tomcats setenv
#
KARAF_SCRIPT="${PROGNAME}"
export KARAF_SCRIPT
if [ -f "${DIRNAME}/setenv" ]; then
  . "${DIRNAME}/setenv"
fi

init() {
    # KARAF-5332: Unset KARAF_DEBUG
    unset KARAF_DEBUG

    # Determine if there is special OS handling we must perform
    detectOS

    # Locate the Karaf home directory
    locateHome
}

run() {
    convertPaths
    exec "${KARAF_HOME}/bin/karaf" status "$@"
}

main() {
    init
    run "$@"
}

main "$@"

