#!/bin/bash
#
# Startup script for the Tomcat Web Server
# Author: Jonathan Buhacoff <jonathan@buhacoff.net>
# Based on some other init.d scripts
#
# chkconfig: - 86 16
# description: Tomcat is a World Wide Web server.  It is used to serve \
#              Java applications.
# processname: java
# pidfile: /var/run/tomcat.pid
# config: /usr/jakarta-tomcat-5.0.28/conf/server.xml

# Even though a PID file is declared, Tomcat doesn't actually use one.

# Default required Tomcat environment variables (override in /etc/sysconfig/tomcat
CATALINA_BASE=/usr/jakarta-tomcat-5.0.28
CATALINA_HOME=/usr/jakarta-tomcat-5.0.28
CATALINA_TMPDIR=/usr/jakarta-tomcat-5.0.28/temp
JAVA_HOME=/usr/jdk1.5.0_07

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

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

# This will prevent initlog from swallowing up a pass-phrase prompt if
# mod_ssl needs a pass-phrase from the user.
INITLOG_ARGS=""

export CATALINA_BASE
export CATALINA_HOME
export CATALINA_TMPDIR
export JAVA_HOME

# Path to the apachectl script, server binary, and short-form for messages.
apachectl=/usr/sbin/apachectl
java=/usr/jdk1.5.0_07/bin/java
prog=tomcat
RETVAL=0

start() {
        echo $"Starting $prog: "
        cd /root/log
        /usr/jakarta-tomcat-5.0.28/bin/startup.sh
        echo
        RETVAL=$?
        [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
        return $RETVAL
}
stop() {
        echo $"Stopping $prog: "
        cd /root/log
        /usr/jakarta-tomcat-5.0.28/bin/shutdown.sh
        killproc $java
        echo
        RETVAL=$?
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog /var/run/$prog.pid
}

status() {
		echo $"Status of $prog: " 
		echo $"CATALINA_HOME-$CATALINA_HOME"
		echo $"CATALINA_BASE=$CATALINA_BASE"
		echo $"JAVA_HOME=$JAVA_HOME"
		RUNNING=`ps gauwxx | grep java | grep -v grep | awk '{ print $2 }'`
		if [ -n "$RUNNING" ]; then
			echo $"Running"
		else
			echo $"Not running"
		fi
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status
        ;;
  restart)
        stop
        sleep 2
        start
        ;;
  condrestart)
        if [ -f /var/run/$prog.pid ] ; then
                stop
                sleep 2
                start
        fi
        ;;
  reload)
        echo "reload not implemented"
        ;;
  graceful|help|configtest|fullstatus)
        echo "$@ not implemented"
        ;;
  *)
        echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
        exit 1
esac

exit $RETVAL
