#!/bin/bash
### BEGIN INIT INFO
# Provides:          clouddird
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: VNC Disclaimer
# Description:       Start, stop or reload clouddird.
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
CONFIG=/etc/vncdisclaimer
DAEMON=/usr/share/java/middleware.jar
DESC=clouddird
FLAGS="-c $CONFIG"
NAME=clouddird

if [ -r /etc/default/clouddird ]; then
    . /etc/default/clouddird
fi

test -f $DAEMON || exit 0

set -e

# assert pidfile directory and permissions
if [ "$1" != "stop" ]; then
	if [ -f "$CONFIG" ]; then
		USER=$(grep    -i '^User[[:space:]]'    "$CONFIG" | awk '{print $2}')
		GROUP=$(grep   -i '^Group[[:space:]]'   "$CONFIG" | awk '{print $2}')
		PIDFILE=$(grep -i '^PidFile[[:space:]]' "$CONFIG" | awk '{print $2}' | sed -e 's/"//g')
		PIDDIR=`dirname "$PIDFILE"`
		if [ -n "$PIDDIR" -a "$PIDDIR" != "/var/run" ]; then
			if [ ! -d "$PIDDIR" ]; then
				mkdir "$PIDDIR"
			fi
			if [ "$USER" ]; then
				chown "$USER" "$PIDDIR"
			fi
			if [ "$GROUP" ]; then
				chgrp "$GROUP" "$PIDDIR"
			fi
		fi
	fi
fi

case "$1" in
	start)
		echo -n "Starting $DESC: "
		nohup java -Xms1024M -Xmx2048M -jar /usr/share/java/middleware.jar -c /etc/vncdisclaimer/ 2>&1 > >(logger -t "vnc-disclaimer") &
		echo "$NAME."
	;;
	stop)
		echo -n "Stopping $DESC: "
		PID=`ps -ef | grep java | grep middleware|awk '{print $2}'`
		if [ ! -z "$PID" ]; then
			kill -9 $PID
			echo "Stopped : middleware"
		fi
	;;
	restart)
		echo -n "Restarting $DESC: "
		PID=`ps -ef | grep java | grep middleware|awk '{print $2}'`
                if [ ! -z "$PID" ]; then
                        kill -9 $PID
                        echo "Stopped : middleware"
                fi
		sleep 1
		nohup java -Xms1024M -Xmx2048M -jar /usr/share/java/middleware.jar -c /etc/clouddirectory/ 2>&1 > >(logger -t "clouddird") &
		echo "$NAME."
	;;
	*)
		N=/etc/init.d/$NAME
		echo "Usage: $N {start|stop|restart}" >&2
		exit 1
	;;
esac

exit 0
