#!/bin/bash

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# 
# Starts a HCatalog Server
# 
# chkconfig: 2345 95 10
# description: HCatalog Server

source /etc/rc.d/init.d/functions
source /etc/hcatalog/hcat-env.sh

HCAT_PREFIX=/usr

RETVAL=0
PIDFILE="${HCAT_PID_DIR}/hcat.pid"
desc="HCatalog Server daemon"

start() {
  echo -n $"Starting $desc (hcatalog-server): "
  daemon --user hcat ${HCAT_PREFIX}/sbin/hcat_server.sh --config "${HCAT_CONF_DIR}" start
  RETVAL=$?
  echo
  [ $RETVAL -eq 0 ] && touch /var/lock/subsys/hcatalog-server
  return $RETVAL
}

stop() {
  echo -n $"Stopping $desc (hcatalog-server): "
  daemon --user hcat ${HCAT_PREFIX}/sbin/hcat_server.sh --config "${HCAT_CONF_DIR}" stop
  RETVAL=$?
  sleep 5
  echo
  [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/hcatalog-server $PIDFILE
}

restart() {
  stop
  start
}

checkstatus(){
  status -p $PIDFILE ${JAVA_HOME}/bin/java
  RETVAL=$?
}

condrestart(){
  [ -e /var/lock/subsys/hcatalog-server ] && restart || :
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    checkstatus
    ;;
  restart)
    restart
    ;;
  condrestart)
    condrestart
    ;;
  *)
    echo $"Usage: $0 {start|stop|status|restart|condrestart}"
    exit 1
esac

exit $RETVAL
