#!/bin/bash

TESTS_DIR="$(realpath "$(dirname "$0")")"

CLASSPATH="."
CLASSPATH="${CLASSPATH}:/usr/share/java/osmpbf.jar"
CLASSPATH="${CLASSPATH}:/usr/share/java/protobuf.jar"

DATASET_URL="https://download.geofabrik.de/europe/andorra-latest.osm.pbf"
DATASET_FILE="andorra-latest.osm.pbf"

TEMPDIR="$(mktemp -d)"

cd "${TEMPDIR}" || exit 1

CMD=("wget" "-q" "${DATASET_URL}" "-O" "${DATASET_FILE}")

echo "Downloading dataset: ${CMD[@]}"
${CMD[@]}
RC=$?

if [ "${RC}" -ne 0 ]; then
    cd "${OLDPWD}" || exit 1
    rm -rf "${TEMPDIR}"

    exit "${RC}"
fi

echo

CMD=("cp" "-rv" "${TESTS_DIR}"/*.java .)

echo "Copying java sources: ${CMD[@]}"
${CMD[@]}
RC=$?

if [ "${RC}" -ne 0 ]; then
    cd "${OLDPWD}" || exit 1
    rm -rf "${TEMPDIR}"

    exit "${RC}"
fi

echo

CMD=("javac" "-cp" "${CLASSPATH}" "ReadPBF.java")

echo "Compiling java sources: ${CMD[@]}"
${CMD[@]}
RC=$?

if [ "${RC}" -ne 0 ]; then
    cd "${OLDPWD}" || exit 1
    rm -rf "${TEMPDIR}"

    exit "${RC}"
fi

echo

CMD=("java" "-cp" "${CLASSPATH}" "ReadPBF" "${DATASET_FILE}")

echo "Executing: ${CMD[@]}"
${CMD[@]}
RC=$?

cd "${OLDPWD}" || exit 1
rm -rf "${TEMPDIR}"

exit "${RC}"
