#! /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

if [ -z "$JAVA_HOME" ] && [ -e "$OPENNMS_HOME/etc/java.conf" ]; then
	JAVA_EXE=`cat "$OPENNMS_HOME/etc/java.conf"`
	if [ -e "$JAVA_EXE" ] && [ -x "$JAVA_EXE" ]; then
		JAVA_BIN=`dirname "$JAVA_EXE"`
		JAVA_HOME=`dirname "$JAVA_BIN"`
		if [ ! -d "$JAVA_HOME" ]; then
			unset JAVA_HOME
		fi
	fi
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
