#! /bin/sh
#
# opennms	startup script for OpenNMS system
#
#		Written by Tony Simone <tony.simone@medvantx.com>
#
# $Id$
#

### BEGIN INIT INFO
# Provides:          opennms
# Required-Start:    $network $time
# Required-Stop:     $network
# Should-Start:      $local_fs postgresql
# Should-Stop:       $local_fs postgresql
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: OpenNMS - Open Source Network Management System
# Description:       Enterprise grade open-source network management platform,
#                    providing service polling, data collection, and event
#                    and notification management
### END INIT INFO

OPENNMS_HOME=/usr/share/opennms
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/opennms
NAME=opennms
DESC="Open Network Management System"

test -x $DAEMON || exit 0

set -e

# read in settings from default file
if [ -f /etc/default/$NAME ]; then
	. /etc/default/$NAME
fi

# Check for JAVA_HOME
if [ -z "$JAVA_HOME" ]; then
	for dir in `find /usr/lib/jvm/* -maxdepth 0 -type d | grep java-8 | sort -u -r`; do
		if [ -d "$dir" -a -f "$dir/lib/tools.jar" ]; then
			JAVA_HOME="$dir"
			break
		fi
    done
fi

# Check for JAVA_HOME
if [ -z "$JAVA_HOME" ]; then
	echo "\$JAVA_HOME is not set.  Set it in /etc/default/$NAME or run \`$OPENNMS_HOME/bin/runjava -s\` to autoconfigure." >&2
	exit 1
fi
export JAVA_HOME

case "$1" in
  start)
	echo -n "Starting $DESC: $NAME"
	DAEMON_MESSAGES=$($DAEMON start)
	# hide message if opennms says it's ok
	echo $OUTPUT | grep -v "Starting OpenNMS: ok"
	echo "."
	;;
  stop)
	echo -n "Stopping $DESC: $NAME"
	DAEMON_MESSAGES=$($DAEMON stop)
	rm -f /var/run/$NAME.pid
	echo "."
	;;
  restart|force-reload)
	$0 stop
	sleep 2
	$0 start
	;;
  status)
	$DAEMON -v status
	;;
  *)
	N=/etc/init.d/$NAME
	echo "Usage: $N {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0
