#!/bin/sh

### BEGIN INIT INFO
# Provides:          nothing
# Required-Start:    $all
# Default-Start:     3 5
# Default-Stop:      4
# Short-Description: script do modulo scope-connector
# Description:       script que inicia ou para o servico do modulo scope-connector
### END INIT INFO

start() {
	echo "INFO: Iniciando modulo SCOPE Connector..."

	FILE=/opt/ncr/scope/config/scopena.properties
	if [ ! -f "$FILE" ]; then
		echo "ERROR: $FILE nao existe. Nao e possivel iniciar SCOPE Connector."
		exit 1
	fi
	
	if [ `pgrep -f scope-connector.jar` ] ; then
		echo "ERROR: Nao foi possivel iniciar o modulo SCOPE Connector pois ele ja esta em execucao!"
		exit 1
	fi
	
	cd /opt/ncr/scope/connector
	java -Dlog4j.configuration=file:./log4j.properties -jar scope-connector.jar >/dev/null 2>&1 &
	
	sleep 3
	
	if [ `pgrep -f scope-connector.jar` ]; then
		echo "INFO: Modulo SCOPE Connector iniciado com sucesso."
	else
		echo "ERROR: Falha ao iniciar modulo SCOPE Connector."
		exit 1
	fi
}

stop() {
	if [ ! `pgrep -f scope-connector.jar` ] ; then
		echo "INFO: Nao foi possivel finalizar o modulo SCOPE Connector pois ele nao esta em execucao!"
		exit 0
	fi
	
	echo "INFO: Finalizando modulo SCOPE Connector..."
	pkill -15 -f scope-connector.jar
	
	sleep 5
	
	if [ `pgrep -f scope-connector.jar` ] ; then
		echo "WARN: Nao conseguiu finalizar o processo em 5 segundos. Executando kill..."
		pkill -9 -f scope-connector.jar
	fi
	
	echo "INFO: Modulo SCOPE Connector finalizado com sucesso."
}

status() {
	if [ `pgrep -f scope-connector.jar` ] ; then
		pid=`pgrep -f scope-connector.jar`
		echo "INFO: Modulo SCOPE Connector em execucao no PID: $pid"
	else
		echo "INFO: Modulo SCOPE Connector nao esta em execucao."
	fi
}

case "$1" in 
    start)
       start
       ;;
    stop)
       stop
       ;;
    restart)
       stop
       start
       ;;
    status)
       status
       ;;
    *)
	   echo " "
       echo "Scope Connector"
       echo " "
       echo "Uso:"
	   echo " scope-connector [opcao]"
       echo " "
       echo "Opcoes:"
       echo "  start        Inicializa o servico"
       echo "  stop         Interrompe o servico"
       echo "  restart      Reinicializa o servico (executa stop e start)"
       echo "  status       Indica o status do servico"
	   echo " "
       exit 1
       ;;
esac