#!/bin/sh
# -x
# Sh-script:   JXMod and common utilites
# Version:   1.0 beta 2
# Autor:   Savchenkov Leonid (aka Smog)
# Date:   2007-06-29

# Result:
# Run JXMod's Java-programs
XMOD2_HOME=`dirname $0`
applix=`dirname $XMOD2_HOME`
groupsdir="$applix/GPS/Planner"
APPLIDISTRIB=$XMOD2_HOME
APPLI_LIB=`$XMOD2_HOME/scripts/localsync.sh $XMOD2_HOME/lib/`
export XMOD2_HOME
 if [ "E$XMOD2_HOME" = "E" ]; then
  XMOD2_HOME="."
 fi

 JAVA_HOME=`$XMOD2_HOME/scripts/find-java-home.sh -min 1.8`

   if [ -z "$JAVA_HOME" ]; then
     exec 1>&2
     echo "Failed to find a java 1.7 virtual machine. You can help me if you set your JAVA_HOME or PATH environment variables"
     exit 1
  fi

  export JAVA_HOME
  PATH=$JAVA_HOME:$PATH
  export PATH

##############################################
#XPS Environment variable                    #
##############################################
if [ -z "$XPSROOT" ]; then
      XPSROOT=$gvr_root/xps
      export XPSROOT
fi
echo XPSROOT = $XPSROOT

##############################################
#SDS Environment variable                    #
##############################################
if [ -z "$SDSROOT" ]; then
      SDSROOT=$gvr_root/jobmgr/bin
      export SDSROOT
fi
echo SDSROOT = $SDSROOT

###############################################
#Get APPLISITE path                           #
###############################################

if [ -z "$SITE" ]; then
  	if [ -z "$LOGGER" ]; then
    	if [ -z "$CSH_TRICK" ]; then
    		export CSH_TRICK=true
    		# TODO : trouver mieux que la variable d'env, pour eviter de s'appeler en boucle (au cas ou le user viderait l'env dans son .cshrc...)
    		#        -> un fichier tmp ?
    		echo "Warning: it looks like you do not have an appropriate GCT environment (no LOGGER variable is set)"
    		echo "         Let's try and load a csh..."
    		myself="$0"
    		exec /bin/csh -c "/bin/sh $myself ${1+$@}"
  		else
      		echo "Your environment is not set properly: \$SITE and \$LOGGER are not set)"
      		exit 1
  		fi
	else
		cdir="$groupsdir/Planner_$LOGGER"
	fi
else	
	cdir="$groupsdir/Planner_$SITE"
fi
if [ -d "$cdir" ]; then
  # ensure $USER is set to something useful for the log files name pattern
  # (yes, it MAY happen that $USER is empty)
  if [ -z "$USER" ]; then
    if [ -z "$LOGNAME" ]; then
        USER=`basename "$HOME"`
      else
        USER="$LOGNAME"
    fi
  fi
  # clean-up old log files
else
  exec 1>&2
  echo "Error: cannot find or read configuration directory"
  echo "   Please contact the administrator to set a directory Planner_$SITE"
  echo "   Configuration directory = $cdir"
  exit 1
fi
SITEPATH="$cdir" 
export SITEPATH
if [ -z "$SITEPATH" -o ! -d "$SITEPATH" ]; then
	echo "The site path is not valid: \"$SITEPATH\""
	exit 1
fi
GPSDIR=$APPLI_DISTRIB/../GPS
echo "site path = $SITEPATH"
echo "JAVA_HOME = $JAVA_HOME"

for ajar in `/bin/ls $XMOD2_HOME/lib | egrep '(jar|zip)$'` ; do
  JARS=$APPLI_LIB/$ajar:$JARS
done
$JAVA_HOME/bin/java -Xmx1024m -Dcom.sun.management.jmxremote -Dawt.useSystemAAFontSettings=on \
-Dgeocluster.appliroot=$APPLIROOT \
-Dgeocluster.xjob2.dir=$XMOD2_HOME \
-Dgeocluster.gvr_root=$gvr_root \
-DXPSROOT=$XPSROOT \
-Dgeocluster.level=$LEVEL \
-DAPPLISITE=$SITEPATH \
-DAPPLIDISTRIB=$XMOD2_HOME \
-Dgaia.io.protocols.sds.cli_version="1" \
-Dgaia.jnilibpath=$XMOD2_HOME/lib/jnilib/ \
-Djava.endorsed.dirs=$XMOD2_HOME/lib/jaxb/ \
-Dgeocluster.jxmod.newHelp=false \
 -classpath \
 "$XMOD2_HOME/PVR_JobEditor.jar:$JARS" ru.cluster.xmod.gui.Xmod $@       
 
