#!/bin/sh
#
# /etc/init.d/serviceapp
#
# Startup script for serviceapp
#
# chkconfig: - 85 15
# description: java service application


WITHOUT_RC_COMPAT=1

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

[ -z $JRE_HOME ] && JRE_HOME=/usr/lib/jvm/jre

APP_NAME=serviceapp
APP_USER=serviceapp
APP_HOME=/var/lib/java-service/serviceapp
APP_CLASS=ru.itx.service.ServiceApp

JSVC=/usr/sbin/jsvc
JSVC_JAR=/usr/share/java/commons-daemon.jar
JSVC_LOG=$APP_HOME/log/jsvc.log

PIDFILE=/var/run/$APP_NAME.pid
LOCKFILE=/var/lock/subsys/$APP_NAME

RETVAL=0

start()
{
	cd $APP_HOME
	CP=$JSVC_JAR":"`ls *.jar`
	msg_starting $APP_NAME
	rm -rf "$JSVC_LOG"
	start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$APP_USER" --no-announce \
		-- "$JSVC" -home $JRE_HOME -jvm server -cp "$CP" -user "$APP_USER" -pidfile "$PIDFILE" -errfile '&1' -outfile "$JSVC_LOG" $APP_CLASS
	RETVAL=$?
	return $RETVAL
}

stop()
{
	msg_stopping $APP_NAME
	stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$APP_USER" --no-announce -- "$JSVC"
	RETVAL=$?
	return $RETVAL
}

# See how we were called.
case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	restart|reload)
		stop
		start
		;;
	condstop)
		if [ -e "$LOCKFILE" ]; then
			stop
		fi
		;;
	condrestart)
		if [ -e "$LOCKFILE" ]; then
			stop
			start
		fi
		;;
	status)
		status --pidfile "$PIDFILE" --displayname $APP_NAME "$JSVC"
		RETVAL=$?
		;;
	*)
	echo "Usage: ${0##*/} {start|stop|reload|restart|condstop|condrestart|status}"
		RETVAL=1
esac

exit $RETVAL
