#!/usr/bin/ksh
#
# Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

typeset opt

while getopts 'R:G:Q:I:O:U:B:D:S:E:' opt
do
	case "$opt" in
		R)      RESOURCE=$OPTARG;;
                G)	RESOURCEGROUP=$OPTARG;;
                Q)	QMGR=$OPTARG;;
                I)	IN_QUEUE=$OPTARG;;
                O)	OUT_QUEUE=$OPTARG;;
                U)	MQSIUSER=$OPTARG;;
                B)	BROKER=$OPTARG;;
                D)	DBUSER=$OPTARG;;
		S)	START_COMMAND=$OPTARG;;
		E)	STOP_COMMAND=$OPTARG;;
                *)	logger -p daemon.err \
                        "ERROR: `basename $0` Option $OPTARG unknown"
                        exit 1;;
	esac
done
    
. `dirname $0`/../etc/config
. `dirname $0`/functions

validate_options

debug_message "Method: `basename $0` - Begin"
$SET_DEBUG

rm $LOGFILE

validate

if [ "$rc_validate" -ne 0 ]
then
        debug_message "Method: `basename $0` - End (Exit 1)"
        exit 1
fi

get_resource_dependencies

delete_pid_files

#
# Both check_"rdbms"_pid and check_qmgr_pid will loop until
# the correct pid is available, indicating that the Broker
# RDBMS and Broker Queue Manager are now available.
#

if [ "$ORA_SID" ]
then
	check_oracle_pid
else
	check_db2_pid
fi

check_qmgr_pid

if pgrep -fx "bipservice ${BROKER}" > /dev/null
then
	create_dummy_process
	debug_message "Method: `basename $0` - End (Exit 0)"
	exit 0
fi

start_broker
	
if [ "$rc_mqsistart" -eq 0 ]
then
	log_message notice "mqsistart rc<$rc_mqsistart>"
	debug_message "Method: `basename $0` - End (Exit 0)"
	exit 0
else
	log_message error "mqsistart rc<$rc_mqsistart>"
fi

debug_message "Method: `basename $0` - End (Exit 1)"
exit 1
