#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#
#
# matahari-broker  Startup script for the Qpid messaging daemon.
#

### BEGIN INIT INFO
# Provides: matahari-broker
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Short-Description: start or stop matahari broker
# Description: Matahari Broker is an AMQP broker. It receives, stores, routes and forwards messages using the AMQP protcol.
### END INIT INFO

# chkconfig: - 85 15
# description: Matahari Broker is an AMQP broker. It receives, stores, routes and forwards messages using the AMQP protcol.
# processname: qpidd

prog="matahari-brokerd --pid-dir /var/run/matahari"
proc=qpidd
lockfile=/var/lock/subsys/matahari-broker
pidfile=/var/run/matahari-broker.pid

# Turn off automatic systemd redirects
#SYSTEMCTL_SKIP_REDIRECT=1

# Source function library.
. /etc/rc.d/init.d/functions

if [ -f /etc/sysconfig/matahari ]; then
    . /etc/sysconfig/matahari
fi
if [ -f /etc/sysconfig/matahari-broker ]; then
    . /etc/sysconfig/matahari-broker
fi

RETVAL=0

start() {
	echo -n $"Starting Matahari broker daemon: "
	install -o root -g qpidd -m 775 -d /var/run/matahari
	daemon --pidfile $pidfile --check $proc --user qpidd /usr/sbin/$prog $QPIDD_OPTIONS --daemon
	RETVAL=$?
	echo
	[ $RETVAL = 0 ] && touch $lockfile
	if [ $RETVAL = 0 ]; then
	    touch $pidfile
	    chown qpidd.qpidd $pidfile
            [ -x /sbin/restorecon ] && /sbin/restorecon $pidfile
	    runuser -s /bin/sh qpidd -c "/usr/sbin/$prog --check > $pidfile"
	fi
	return $RETVAL
}

stop() {
	echo -n $"Stopping Matahari broker daemon: "
	killproc -p $pidfile $proc
	RETVAL=$?
	echo
	[ $RETVAL = 0 ] && rm -f $lockfile $pidfile
}

reload() {
	echo 1>&2 $"$0: reload not supported"
	exit 3
}

restart() {
	stop
	start
}

# See how we were called.
case "$1" in
  start)
        status -p $pidfile -l $lockfile $proc >/dev/null || $1
        ;;
  stop|restart|reload)
        $1
	;;
  status)
	status -p $pidfile -l $lockfile $proc
	RETVAL=$?
	;;
  force-reload)
	restart
	;;
  try-restart|condrestart)
	[ -e $lockfile ] && restart || :
	;;
  *)
	echo 1>&2 $"Usage: $0 {start|stop|restart|condrestart|status}"
	exit 1
esac

exit $RETVAL
