#!/bin/sh
PATH=/usr/xpg4/bin:$PATH
OS=`uname` 
EDIR_JAVA_STATUS=FAIL
JAVA_STATUS=FAIL
dir=`which edirutil`
NDSHOME=`echo $dir | awk -F"/opt/novell/eDirectory/bin" '{print $1}'`
unset jre_path
jre_path=`which java 2> /dev/null`
BIN_JAVA=/bin/java
RECOMMENDED_JAVA_VERSION=1.8

# Library paths are different for 32 bit Linux and 64 bit Linux
libDir=lib  #Default
if [ $OS = "Linux" ] 
then
        chipset=`uname -i`
	test -f $NDSHOME/opt/novell/eDirectory/lib64/libsal.so.1.0.0
        lib64Exists=$?

        if [ "$chipset" = "x86_64" -a "$lib64Exists" = "0" ] ; then
                libDir=lib64
        fi
elif [ $OS = "SunOS" ]
then
	test -f $NDSHOME/opt/novell/eDirectory/lib/sparcv9/libsal.so.1.0.0
        sol64_libExists=$?

        if [ "$sol64_libExists" = "0" ] ; then
        libDir="lib/sparcv9"
        fi
fi

analyzeJavaVersion()
{
	javaPath=$1	
        eversion=`$javaPath -version 2>&1 | egrep 'version' | awk '{print $3}'`
        if [ -z "$eversion" ]
        then    
                
                JAVA_STATUS=FAIL
        else    
                eMajorMinorVersion=${eversion:1:3}
		eversionOK=`awk 'BEGIN { print ("'$eMajorMinorVersion'" >= "'$RECOMMENDED_JAVA_VERSION'") ? 1 : 0 }'`
                if [ $eversionOK == 1 ]
                then
                       	JAVA_STATUS=SUCCESS
                else
                        JAVA_STATUS=FAIL
                fi
        fi

	if [ "$JAVA_STATUS" == "SUCCESS" ]
	then
	        jre_path=$javaPath
	fi
}

if [ "$EDIR_JAVA_HOME" ]
then
	analyzeJavaVersion $EDIR_JAVA_HOME$BIN_JAVA
fi
if [[ "$JAVA_STATUS" == "FAIL" ]]  && [[ "$JAVA_HOME" ]] 
then
	analyzeJavaVersion $JAVA_HOME$BIN_JAVA
fi
if [[ "$JAVA_STATUS" == "FAIL" ]] && [[ "$JRE_HOME" ]]
then
         analyzeJavaVersion $JRE_HOME$BIN_JAVA
fi
if [[ "$JAVA_STATUS" == "FAIL" ]] && [[ "$jre_path" ]]
then
	analyzeJavaVersion `which java 2> /dev/null`
	if [ "$JAVA_STATUS" == "FAIL" ]
	then
		unset jre_path
	fi
fi

if [ -z "$jre_path" ]
then
	if [ -f /etc/novell-release ]
	then
		grep "VERSION" /etc/novell-release | grep -q 2018
		if [ $? -eq 0 ]
		then
			export JAVA_HOME="/usr/lib64/jvm/java-1.8.0-ibm-1.8.0/jre"
			export JAVA_ROOT="/usr/lib64/jvm/java-1.8.0-ibm-1.8.0/jre"
			export JAVA_BINDIR="/usr/lib64/jvm/java-1.8.0-ibm-1.8.0/jre/bin"
			export PATH=$JAVA_BINDIR:$PATH
			jre_path="java"
		fi
	else
		echo "Please configure java version $RECOMMENDED_JAVA_VERSION or above and then try again ..."
		exit 1
	fi
fi

$jre_path -cp $NDSHOME/opt/novell/eDirectory/$libDir/nds-modules/embox/eMBoxClient.jar embox $*
