#!/sbin/sh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#

. /lib/svc/share/smf_include.sh

java_binary=`svcprop -p opengrok/java opengrok`
java_options=`svcprop -p opengrok/java_options opengrok`
runtime_path=`svcprop -p opengrok/runtime_path opengrok`
config=`svcprop -p opengrok/configuration opengrok`
home=`svcprop -p opengrok/home opengrok`

if ! [ -n "${java_binary}" -a -x "${java_binary}" ]
then
   echo "FATAL: missing java binary. Please specify opengrok/java"
   exit $SMF_EXIT_ERR_CONFIG
fi

if ! [ -n "${config}" -a -f "${config}" ]
then
   echo "FATAL: missing configuration file. Please specify opengrok/config"
   exit $SMF_EXIT_ERR_CONFIG
fi

if [ -n "${home}" ]
then
   HOME="${home}"
   export HOME
fi

case "$1" in
   'start')
      PATH=${runtime_path};
      export PATH
      if test "x${config}" = "x"
      then
         ${java_binary} ${java_options} \
            -cp /usr/opengrok/bin/opengrok.jar \
            org.opensolaris.opengrok.management.OGAgent &
      else
         ${java_binary} ${java_options} \
            -cp /usr/opengrok/bin/opengrok.jar \
            org.opensolaris.opengrok.management.OGAgent \
            --config ${config} &
      fi
   ;;

   'stop')
      smf_kill_contract $2 TERM 1
   ;;

   *)
      echo "Usage: $0 {start|stop}"
      exit 1
;;
esac

exit $SMF_EXIT_OK
