#!/usr/bin/env bash
# Script to start|stop|restart haproxy from /etc/init.d/
# By FrostWire.

DAEMON_NAME=ip2locationd
SERVICE_NAME=ip2location
SERVICE_PATTERN=FrostIP2Location
SERVICE_PATH=/home/frostwire/ip2location.frostwire.com/java
SERVICE_LIB_PATH=$SERVICE_PATH/lib
SERVICE_CLASSPATH=$SERVICE_LIB_PATH/jetty-6.1.19.jar:$SERVICE_LIB_PATH/jetty-util-6.1.19.jar:$SERVICE_LIB_PATH/ip2location.jar:$SERVICE_LIB_PATH/servlet-api-2.5-20081211.jar:$SERVICE_PATH/classes

set -e

#Update this function if you copy and paste it.
#For some reason we don't understand about bash scripting we can't
#correctly pass the SERVICE_PATTERN to the expression inside.
#TODO: Figure this out.
function getPID() {
  #PID=$(ps aux | grep '$SERVICE_PATTERN' | grep -v 'grep' | awk '{ print $2}')
  PID=`ps aux | grep 'FrostIP2Location' | grep -v 'grep' | awk '{ print $2}'`
  echo PID=$PID
}

function startService() {
  cd $SERVICE_PATH
  COMMAND="java -cp $SERVICE_CLASSPATH FrostIP2Location"
  echo $COMMAND
  nohup $COMMAND &
}

function stopService() {
  getPID
  kill -9 $PID
}

case $1 in
  test)
    getPID
    ;;

  start)
	echo "Starting $SERVICE_NAME..."
	startService
	;;
  restart)
	echo "Restarting $SERVICE_NAME"
	stopService
        startService
	;;
  stop)
	echo "Stopping $SERVICE_NAME"
	stopService
	;;
  *)
	echo "Usage: $DAEMON_NAME {start|restart|stop}" >&2
	exit 1
	;;
esac

exit 0