#!/bin/bash

# init file for solr
#
# chkconfig: - 50 50
# description: Solr
#
# pidfile: /var/run/solr.pid
#
# source function library
. /etc/init.d/functions

RETVAL=0
CONFIG=/etc/solr.conf

resolve_instances() {
        if [ "$1" == "" ]; then
                INSTANCES=""
                local IFS=$'\n'
                for i in `grep -v ^# $CONFIG`; do
                        INSTANCES="$INSTANCES ${i%%:*}"
                done
        else
                INSTANCES=$1
        fi
}

start() {
        resolve_instances $1
        for INSTANCE in $INSTANCES; do
                LINE=`grep "^$INSTANCE:" $CONFIG`
                /usr/lib64/solr/solr.sh start -- `echo $LINE | sed -e 's/:/\x00/5g' -e 's/:/ /g' -e 's/\x00/:/g'`
                RETVAL=$?
                echo
        done
        return $RETVAL
}

stop() {
        resolve_instances $1
        for INSTANCE in $INSTANCES; do
                LINE=`grep "^$INSTANCE:" $CONFIG`
                /usr/lib64/solr/solr.sh stop -- `echo $LINE | sed -e 's/:/\x00/5g' -e 's/:/ /g' -e 's/\x00/:/g'`
                RETVAL=$?
        done
        echo
        return $RETVAL
}

restart() {
        stop
        start
}

case "$1" in
  start)
        start $2
        ;;
  stop)
        stop $2
        ;;
  restart)
        restart $2
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart} [instance]"
        RETVAL=1
esac

exit $RETVAL
