#!/bin/bash
#
# Startup script for Jakarta Tomcat
#
# chkconfig: 345 84 16
# description: Jakarta Tomcat Java Servlet/JSP Container


TOMCAT_HOME=/usr/local/tomcat
TOMCAT_START=/usr/local/tomcat/bin/startup.sh
TOMCAT_STOP=/usr/local/tomcat/bin/shutdown.sh

#Necessary environment variables
export CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME=/usr/java/j2sdk1.4.1_02
export LD_KERNEL_ASSUME="2.2.5"

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

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

#Check for tomcat script
if [ ! -f $TOMCAT_HOME/bin/catalina.sh ]
then
    echo "Tomcat not available..."
    exit
fi

start() {
    echo -n "Starting Tomcat: "
    daemon $TOMCAT_START
    echo
    touch /var/lock/subsys/tomcatd
# We may need to sleep here so it will be up for apache
#    sleep 5
#Instead should check to see if apache is up by looking for http.pid
}

stop() {
    echo -n $"Shutting down Tomcat: "
    daemon $TOMCAT_STOP
    rm -f /var/lock/subsys/tomcatd.pid
    echo
}

status() {
    ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" \
    | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt
    read line < /tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
    echo -n "tomcatd ( pid "
    ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" \
    | awk '{printf $1 " "}'
    echo -n ") is running..."
else
    echo -n "Tomcat is stopped"
fi
}

case "$1" in
    start)
        start
        ;;
     stop)
        stop
        ;;
     restart)
        stop
        sleep 3
        start
        ;;
     status)
        status
        ;;
     *)
        echo "Usage: tomcatd {start|stop|restart|status}"
     exit 1
esac