#!/bin/sh
# $Id: sm_set_java,v 1.2 2009/10/01 13:58:30 sesam Exp $
#
# Check for Java 1.8 and recreate old symlink <SESAM>/bin/sesam/java
#

read_ini()
{
   . `grep -i '^sm_ini=' /etc/sesam2000.ini|cut -d"=" -f2` 2>/dev/null
}

set_java()
{
   JAVA_CHECK=`"java" -version 2>&1 | grep "1\\.[89]"`
   if [ "$JAVA_CHECK" != "" ]
   then
     echo "Java VM >= 1.8 found: `which java`"
     echo "Create link in 'sesam' directory."
     ln -s `which java` "${gv_ro_bin}/java"
     exit 0
   fi
}

#For installation. No sm.ini available 
if [ -r "/etc/sesam2000.ini" ] && [ -r `grep -i '^sm_ini=' /etc/sesam2000.ini|cut -d"=" -f2` 2>/dev/null ]
then
  read_ini
else
  gv_ro_bin="/opt/sesam/bin/sesam"
fi

JAVA_CHECK=`"${gv_ro_bin}/java" -version 2>&1 | grep "1\\.[89]"`
if [ "$JAVA_CHECK" != "" ]
then
  echo "Correct Java VM >= 1.8 link already exists in 'sesam' directory."
  exit 0
else
  echo "Old Java VM (<1.8) link found in 'sesam' directory. Remove link"
  [ -r "${gv_ro_bin}/java" -o -h "${gv_ro_bin}/java" ] &&  rm "${gv_ro_bin}/java"
fi

#Try default PATH
set_java
PATH_SAVE="$PATH"

#Oracle Java: /usr/java/latest
#TRY: /etc/alternatives/
#SLES11:  /usr/java/jre1.8*  
#WHEEZY:  /usr/lib/jvm/java-7-openjdk-amd64/jre

for p in '/usr/java/latest' '/etc/alternatives/jre_1.8*' '/usr/lib/jvm/java-8-openjdk-amd64/jre'
do 
  PATH=`ls -d $p|grep -v _exports 2>/dev/null|tail -1`/bin:$PATH 2>/dev/null
  export PATH
  set_java
  PATH="$PATH_SAVE"
done

echo "Error: No Java VM >= 1.8 found."
exit 2

