#!/bin/bash
# allcms        Start and Stops All Content Management System Application Services
#
# Authors:      Alex Rombro <alex.rombro@ericsson.com>
#
# description:  Ericsson / SA Media Watchpoint CMS Application Services Start Up Script

### BEGIN INIT INFO
# Should-Start: $remote_fs $network
# Required-Start: sshd 
# Provides: ppfm-1.1 tomcat pgbouncer cms rmserver xportmanager xporttomcat RCSSchedulerService rcssnmpsubagent workflow
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: Content Management System Application Server start script
### END INIT INFO

serv_list=('ppfm-1.1' 'cms-snmp-subagent' 'tomcat' 'pgbouncer' 'cms' 'rmserver' 'xportmanager' 'xporttomcat' 'RCSSchedulerService' 'rcssnmpsubagent' 'workflow')
property_file='/etc/ppfm-1.1/ppfm.properties'

start() {
	ping -c 4 dbserver || { echo "Unable to start CMS services:  dbserver is not reachable" ; exit ; }
	if [[ ! -f ${property_file} ]] ; then
		serv_list=('cms-snmp-subagent' 'tomcat' 'pgbouncer' 'cms' 'rmserver' 'xportmanager' 'xporttomcat' 'RCSSchedulerService' 'rcssnmpsubagent' 'workflow')
	fi
	for i in "${serv_list[@]}" ; do
		service ${i} start 
        sleep 1
        done
}

stop() {
	for (( idx = "${#serv_list[@]}" -1 ; idx >= 0 ; idx-- )) ; do
        service ${serv_list[${idx}]} stop
        sleep 1
    done
}

case $1 in
    stop)
        stop
        ;;
    start)
        start
        ;;
    restart)
		stop
		start
		;;	
	status)
        for i in "${serv_list[@]}" ; do
            service ${i} $1
            sleep 1
        done
        ;;
    *)
        echo -e "Unable to ${1} services, use start, stop, restart, or status. "
        ;;
esac

exit 0
