#!/bin/bash

# settings server is a special case, since it needs to be started before 
# any other servers.  All information necessary to start it should be
# contained in this file. 

PROCESSNAME=SettingsServer
MODULENAME=SSModule
export N2BBHOME=/usr/local/n2bb
export SETTINGSSERVERHOME=$N2BBHOME/SettingsServer

# monitor
export AMSLOG="/opt/tandbergtv/watchpoint/log"
# used for both getSettings and startup param
if [ -z $2 ]
then
        NAMESERVICE="corbaloc::AlertNameServer:4000/NameService"
else
        NAMESERVICE=$2
fi


xbootclasspathp="/usr/local/JacORB/lib/jacorb.jar:/usr/local/JacORB/lib/avalon-framework-4.1.5.jar:/usr/local/JacORB/lib/logkit-1.2.jar"
CLASSPATH="/usr/local/n2bb/SettingsServer/lib/SSModule.jar:/usr/local/JacORB/lib/jacorb.jar:/usr/local/n2bb/lib/n2bbcommon.jar::/usr/local/n2bb/3rdparty/log4j-1.2.8.jar:/usr/local/n2bb/lib/N2BBLogging.jar:/usr/local/n2bb/logger/lib/log4N2.jar:/usr/local/n2bb/SettingsServer/conf:/usr/local/JacORB/lib/avalon-framework-4.1.5.jar:/usr/local/JacORB/lib/logkit-1.2.jar"

JAVAARGS="-server -classpath $CLASSPATH -Xbootclasspath/p:${xbootclasspathp} -Duser.dir=${SETTINGSSERVERHOME}"
SSARGS="-ORBInitRef NameService=$NAMESERVICE -IIOPhost AlertSettingsServer"

CMD_LINE="java $JAVAARGS -DOAPort=42000 com.n2bb.${MODULENAME}.${PROCESSNAME} $SSARGS" 

case "$1" in
'start')
    su nobody -c "$CMD_LINE >> $AMSLOG/$PROCESSNAME.log 2>&1 &"
    echo "OK"
    ;;
'stop')
    pid=$(ps axww | grep "[c]om.n2bb.SSModule.SettingsServer" | grep -v grep | sed -e 's/^\s*//' | cut -d' ' -f1)
    # Forcefully kill the process in case if it is still running
    if [ ! -z "${pid}" ] ; then
        kill -9 $pid
    fi
    ;;
'status')
    pid=$(ps axww | grep "[c]om.n2bb.SSModule.SettingsServer" | grep -v grep | sed -e 's/^\s*//' | cut -d' ' -f1)
     if [ ! -z "${pid}" ] ; then
        echo "Alerts SettingsServer (pid "$pid") is running..."
      else
        echo "Alerts SettingsServer is stopped"
     fi
     ;;
     
'restart')
    $0 stop
    sleep 2
    $0 start
    ;;
*)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac
exit 0


