#!/bin/bash
#
# This script provides systemd activation of the iprint license Server in embedded tomcat.
# 

# Novell iPrint License Server to start licensing service in embedded tomcat.
LIB_PATH="/opt/novell/iprintlicense/lib/"
MAIN_JAR="license-launcher-2.0.0.jar"
LAUNCHER_PIDFILE="/var/opt/novell/run/iprint/licenseserver.pid"

JAVA_HOME="/usr/lib64/jvm/jre-21-openjdk"

if [ -x "$JAVA_HOME/jre/sh/java" ]; then
    JAVACMD="$JAVA_HOME/jre/sh/java"
  elif [ -x "$JAVA_HOME/bin/java" ]; then
    JAVACMD="$JAVA_HOME/bin/java"
  else
    JAVACMD=`which java 2>/dev/null`
  fi

  if [ ! -x "$JAVACMD" ]; then
    echo "$0: error: Failed to set JAVACMD"
    return 1
  fi

VERBOSE=1
FLAGS="$JAVA_OPTS"

function startEmbeddedTomcat() {	    
	killExistingTomcat
	exec ${JAVACMD} -jar ${LIB_PATH}${MAIN_JAR} &
	if [ "x$?" == "x0" ]; then
		PID=`pgrep -f license-launcher`
		echo -n "Started iPrint License Server : $PID"
		echo $PID > $LAUNCHER_PIDFILE
	fi
}

function stopEmbeddedTomcat() {	
	killExistingTomcat
}

function killExistingTomcat() {
    PID="0"
	PID=`pgrep -f license-launcher`
	if [ -z "$PID" ]; then
           echo "Starting clean"
	else
	   echo -n "Shutting down Novell iPrint License server in dangling form :"
       kill -9 $PID > /dev/null 2>&1
	fi
	if [ -f $LAUNCHER_PIDFILE ]; then
		rm $LAUNCHER_PIDFILE
	fi
}

case "$1" in
    start)
        startEmbeddedTomcat
        ;;
    stop)
        stopEmbeddedTomcat
        ;;
    restart)
        stopEmbeddedTomcat
        startEmbeddedTomcat		
		;;
    *)
        echo "Usage: $0 {start|stop}" >&2
        exit 1
esac
