#! /bin/ksh93

# $Id: opendj.method 556 2013-04-23 05:34:58Z elkner $
#
# License: CDDL 1.0   (see http://opensource.org/licenses/cddl-1.0)
# Copyright 2013 Jens Elkner

. /lib/svc/share/smf_include.sh

BASEDIR='@CLIENT_BASEDIR@'

getprop() {
	PROPVAL=''
	svcprop -q -p $1 ${SMF_FMRI} 
	if (( $? == 0 )); then
		PROPVAL=${ svcprop -p $1 ${SMF_FMRI}; }
		[[ ${PROPVAL} == '""' ]] && PROPVAL=""
		PROPVAL=${PROPVAL//\\ / }
	fi
}

case "$1" in
	'start')
		# per default open files is limited to 256
		ulimit -S -n ${ ulimit -H -n ; }
		getprop config/server_start_args
		${BASEDIR}/opendj25/bin/start-ds ${PROPVAL}
		RC=$?
		(( ${RC} == 98 )) && exit ${SMF_EXIT_OK}	# Already started
		(( ${RC} == 999 )) && exit ${SMF_EXIT_ERR_CONFIG}
		(( ${RC} != 0 )) && exit ${SMF_EXIT_ERR_FATAL}
		;;
	'stop')
		getprop config/server_start_args
		${BASEDIR}/opendj25/bin/stop-ds ${PROPVAL}
		RC=$?
		(( ${RC} == 999 )) && exit ${SMF_EXIT_ERR_CONFIG}
		(( ${RC} != 0 )) && exit ${SMF_EXIT_ERR_FATAL}
		;;
	*)
		print -u2 "Usage: $0 { start | stop }"
		exit ${SMF_EXIT_ERR_FATAL}
	;;
esac
exit ${SMF_EXIT_OK}
