#!/bin/bash

# Copyright (c) 2002-2016 "Neo Technology,"
# Network Engine for Objects in Lund AB [http://neotechnology.com]
#
# This file is part of Neo4j.
#
# Neo4j is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

set -euo pipefail
[[ "${TRACE:-}" ]] && set -x

: "${NEO4J_BIN:=$(dirname "$0")}"
readonly NEO4J_BIN
. "${NEO4J_BIN}/neo4j-shared.sh"

declare -a ARGS=("")
while [[ $# > 0 ]]
do
    option="$1"
    case "${option}" in
        --file=*|-file=*|--path=*|-path=*|--conf=*|-conf=*)
            orig_filename="${option#*=}"
            orig_arg="${option%=*}"

            ARGS+=("${orig_arg}=$(resolve_path "${orig_filename}")")
            shift
            ;;
        --file|-file|--path|-path|--conf|-conf)
            orig_filename="${2}"

            ARGS+=("${option}")
            ARGS+=("$(resolve_path "${orig_filename}")")
            shift
            shift
            ;;
        *)
            ARGS+=("${option}")
            shift
            ;;
    esac
done

setup_environment
check_java
build_classpath

exec "$JAVA_CMD" ${JAVA_OPTS:-} \
  -classpath "$CLASSPATH" \
  -Dfile.encoding=UTF-8 \
  org.neo4j.shell.StartClient \
  "${ARGS[@]}"
