#!/bin/bash

echo "Sourcing config file..."
 . /usr/share/rhn/config-defaults/rhn_search_daemon.conf

if [ -f "/etc/rhn/rhn_search_daemon.conf" ]; then
  echo "Sourcing config overrides..."
  . /etc/rhn/rhn_search_daemon.conf
fi

RHN_MEM=$(grep "^[[:blank:]]*rhn-search.java.maxmemory" /etc/rhn/rhn.conf | sed -e "s/.*=[[:blank:]]*\([0-9]\+\)[[:blank:]]*/\1/")
if [ -n "$RHN_MEM" ]; then
    SEARCH_MAX_MEMORY=$RHN_MEM
fi

SEARCH_CLASSPATH="${SEARCH_JARS}:${SEARCH_RHN_CLASSPATH}:${SEARCH_RHN_JARS}"
SEARCH_PARAMS="-Dfile.encoding=UTF-8 -Xms${SEARCH_INIT_MEMORY}m -Xmx${SEARCH_MAX_MEMORY}m"

JAVACMD="/usr/bin/java ${JAVA_OPTS} -Djava.library.path=${SEARCH_LIBRARY_PATH} -classpath ${SEARCH_CLASSPATH} ${SEARCH_PARAMS}"

if [ $# -eq 0 ]; then
    $JAVACMD -Dlog4j2.configurationFile=/usr/share/rhn/search/classes/log4j2.xml com.redhat.satellite.search.Main
else
    case $1 in 
        'cleanindex')
        systemctl stop rhn-search
        $JAVACMD  com.redhat.satellite.search.DeleteIndexes > /dev/null
        systemctl start rhn-search
        ;;
        *)
        echo "Invalid argument: To start the service use 'systemctl start rhn-search'... to clean the search indexes use 'rhn-search cleanindex'"
    esac
fi
