#!/bin/sh
# $Id: sm_rmi_main,v 1.11 2006/02/27 09:40:02 sesam Exp $
# sm_rmi_main. Starts sesam rmi_gui server and kills java process, if a signal is recived


trap 'kill ${java_pid};exit 0' 1 2 3 4 5 6 15  
read_ini ()
{
   SM_INI=`grep -i "^sm_ini" /etc/sesam2000.ini|cut -d"=" -f2`
   if [  $SM_INI ]
   then
     echo `grep -i "^$1=" $SM_INI | cut -d"=" -f2`
   fi
}

gv_ro_gui=`read_ini gv_ro_gui`
gv_ro_bin=`read_ini gv_ro_bin`
gv_ro_db=`read_ini gv_ro_db`
gv_rw_ini=`read_ini gv_rw_ini`
gv_lang=`read_ini lang`

port_rmi=`read_ini gv_port_rmi`
port_rmi_db=`read_ini gv_port_rmi_db`
port_rmi_data=`read_ini gv_port_rmi_data`

[ "${port_rmi}" ] && port_rmi=" -p${port_rmi}"
[ "${port_rmi_data}" ] && port_rmi_data=" -L${port_rmi_data}"
[ "${port_rmi_db}" ] && port_rmi_db=" -D${port_rmi_db}"

servername=`read_ini gv_server`

LD_LIBRARY_PATH=${gv_ro_bin}:${gv_ro_db}:$LD_LIBRARY_PATH
PATH=${gv_ro_bin}:${gv_ro_db}:$PATH
OPENRDA_INI=${gv_rw_ini}/openrda.ini
ODBCINI=${gv_rw_ini}/odbc.ini

export LD_LIBRARY_PATH PATH OPENRDA_INI ODBCINI 

JAVA_CHECK=`java $TASO -version 2>&1 | grep 1.[45]`
if [ "$JAVA_CHECK" = "" ]
then
  echo "FAIL: No Java VM >= 1.4.2. found !"
  sm_prot -w "Could not start RMI server: No java >= 1.4.2 found"
  exit 1
fi
if [ -r /etc/fedora-release ]
then
  # workaround for java 1.4.2 and seLinux problem
  grep 4 /etc/fedora-release
  [ "$?" -eq "0" ] && JAVAOPTS=-Djava.net.preferIPv4Stack=true
fi
java  -classpath ${gv_ro_gui}/sm_rmigui.jar $JAVAOPTS -Djava.rmi.server.hostname=${servername} -Djava.security.policy=${gv_rw_ini}/sm_java.policy de.sep.sesam.gui.server.GUIServer -uroot ${port_rmi} ${port_rmi_data} ${port_rmi_db} -r${gv_lang} -v2 &
java_pid=$!
wait ${java_pid}
sm_prot -w "Could not start RMI server: Please try to start 'sm_rmi_main' manually"
echo $?
exit 2
