#!/bin/sh
### BEGIN INIT INFO
# Provides:          aimmssdk
# Required-Start:    $local_fs $remote_fs $network $syslog $named
# Required-Stop:     $local_fs $remote_fs $network $syslog $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop aimmssdk server
### END INIT INFO

FULL_SCRIPT_LOCATION=`readlink -f $0`

# AIMMSSDK_SERVER_LOCATION=/usr/local/aimmssdk
AIMMSSDK_SERVER_LOCATION=`dirname $FULL_SCRIPT_LOCATION`

# AIMMSSDK_SERVER_USER=aimms
AIMMSSDK_SERVER_USER="$USER"

# AIMMSSDK_SERVER_CONFIG=/etc/aimmssdksrv.cfg
AIMMSSDK_SERVER_CONFIG=$AIMMSSDK_SERVER_LOCATION/etc/aimmssdksrv.cfg

AIMMSSDK_SERVER_PID=$AIMMSSDK_SERVER_LOCATION/aimmssdksrv.pid

AIMMSSDK_SERVER_LOG=$AIMMSSDK_SERVER_LOCATION/aimmssdksrv.log

AIMMSSDK_SERVER_EXE=$AIMMSSDK_SERVER_LOCATION/bin/aimmssdk-server

start() {
    echo "Starting AIMMS SDK Server..."
    if [ "$AIMMSSDK_SERVER_USER" = "$USER" ]; then
      LD_LIBRARY_PATH=$AIMMSSDK_SERVER_LOCATION/lib $AIMMSSDK_SERVER_EXE -c $AIMMSSDK_SERVER_CONFIG --logfile $AIMMSSDK_SERVER_LOG -D -p $AIMMSSDK_SERVER_PID
    else
      su -l $AIMMSSDK_SERVER_USER -c "LD_LIBRARY_PATH=$AIMMSSDK_SERVER_LOCATION/lib $AIMMSSDK_SERVER_EXE -c $AIMMSSDK_SERVER_CONFIG --logfile $AIMMSSDK_SERVER_LOG -D -p $AIMMSSDK_SERVER_PID"
    fi
}

stop() {
    echo "Stopping AIMMS SDK Server..."
    if [ "$AIMMSSDK_SERVER_USER" = "$USER" ]; then
      kill -INT `cat $AIMMSSDK_SERVER_PID`
    else
      su -l $AIMMSSDK_SERVER_USER -c "kill -INT `cat $AIMMSSDK_SERVER_PID`"
    fi
}

restart() {
    stop
    sleep 60
    start
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    *)
        echo "Usage: aimmssdk-server {start|stop|restart}"
        exit 1

esac

exit 0

