#!/bin/bash
# qcg_broker_server		This starts and stops QCG-Broker 
#
# chkconfig: - 99 01
# description: QCG-Broker services

. /etc/rc.d/init.d/functions


qcg_location=/usr/share/qcg/qcg-broker

if [ ! -d "$qcg_location/broker/bin" ]; then
	echo "no QCG-Broker instance found"
	exit 1
fi

RETVAL=0
script_result=0

start() {
	su -c "$qcg_location/config.sh reconfigure" qcg-broker
    su -c $qcg_location/broker/bin/startup qcg-broker 
    su -c "$qcg_location/service/bin/jetty.sh start" qcg-broker 
    script_result=$?
	[ $script_result -eq 0 ] && touch /var/lock/subsys/qcg-broker
}

stop() {
    su -c $qcg_location/broker/bin/shutdown qcg-broker
    su -c "$qcg_location/service/bin/jetty.sh stop" qcg-broker
    script_result=$?
	[ $script_result -eq 0 ] && rm -f /var/lock/subsys/qcg-broker
}

restart() {
    stop
    sleep 2
    start
}

reload() {
	script_result=0
}

case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    status)
		if [ ! -f "$qcg_location/broker/bin/status" -o ! -f "$qcg_location/service/bin/status.sh" ]; then
			su -c "$qcg_location/config.sh reconfigure" qcg-broker
		fi

        su -c $qcg_location/broker/bin/status qcg-broker
	broker_result=$?
        su -c $qcg_location/service/bin/status.sh qcg-broker
	service_result=$?
	script_result=$((broker_result || service_result))
    ;;
    restart)
        restart
    ;;
	reload)
		reload
	;;
    *)
        echo "Usage: $0 {start|stop|status|restart}"
    ;; esac

exit $script_result
