#!/usr/bin/env bash
set -euo pipefail
ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
JAVA="${JAVA_HOME:+$JAVA_HOME/bin/}java"
case "${1:---help}" in
  java-example) shift; classes=java; main=JavaDataFrameExample ;;
  scala-example) shift; classes=scala; main=ScalaDataFrameExample ;;
  java-workloads) shift; classes=java; main=SameWorkloads ;;
  scala-workloads) shift; classes=scala; main=SameWorkloads ;;
  bridge) shift; classes=java; main=org.apache.spark.sql.connect.client.SparkRBridge ;;
  --help|-h) echo 'Usage: connect-client {java-example|scala-example|java-workloads|scala-workloads|bridge} [arguments]'; exit 0 ;;
  *) echo 'Unknown command; use --help' >&2; exit 2 ;;
esac
exec "$JAVA" --add-opens=java.base/java.nio=ALL-UNNAMED \
  -cp "$ROOT/lib/*:$ROOT/examples/$classes" "$main" "$@"
