#!/bin/bash
#centos 7 version
#edited by Matt for the tarball
#9/4/2014
#28/9/2016 centos 7 version

#This option allows admins to have a seperate JAVA_HOME like variable for 
#the voms tools if they have several JAVA implimentations.
#Thanks Asoka for this

if [ ! -z $EMI_OVERRIDE_JAVA_HOME ]; then
export JAVA_HOME=$EMI_OVERRIDE_JAVA_HOME
fi


if [ "x$VOMSCLIENTS_LIBS" == "x" ]; then

  PRG="$0"
  while [ -h "$PRG" ]; do
    ls=`ls -ld "$PRG"`
    link=`expr "$ls" : '.*-> \(.*\)$'`
    if expr "$link" : '/.*' > /dev/null; then
      PRG="$link"
    else
      PRG=`dirname "$PRG"`/"$link"
    fi
  done

  PRGDIR=`dirname "$PRG"`

  VOMSCLIENTS_HOME=`cd "$PRGDIR/../.." ; pwd`

  VOMSCLIENTS_LIBS=$VOMSCLIENTS_HOME/var/lib/voms-clients3/lib

fi

# ':' separated list of jars, for the classpath
# VOMSCLIENTS_CP=`ls -1 $VOMSCLIENTS_LIBS/*.jar | tr '\n' ':'`

#In the CentOS7 voms clients the jar files  are in difference places to the SL6
#version, hence the horror below to build the classpath
VOMSCLIENTS_CP=`ls -1 $VOMSCLIENTS_HOME/usr/share/java/*.jar | tr '\n' ':'``ls -1 $VOMSCLIENTS_HOME/usr/share/java/canl-java/*.jar | tr '\n' ':'``ls -1 $VOMSCLIENTS_HOME/usr/share/java/voms-api-java/*.jar | tr '\n' ':'``ls -1 $VOMSCLIENTS_HOME/usr/share/java/voms-clients-java/*.jar | tr '\n' ':'`

# the class implementing voms-proxy-destroy
VOMSPROXYDESTROY_CLASS="org.italiangrid.voms.clients.VomsProxyDestroy"

# JVM options
VOMS_CLIENTS_JAVA_OPTIONS=${VOMS_CLIENTS_JAVA_OPTIONS:-"-Xmx16m"}

#be a little more dynamic in finding java
which java >/dev/null 2>&1
check_java=$?

if test -n "${JAVA_HOME}" ;
then
java_to_use=$JAVA_HOME/bin/java;
elif [ $check_java = 0 ]
then
java_to_use=java
else
echo "Warning: java not found in path and JAVA_HOME not set." 
fi

#echo $java_to_use

$java_to_use $VOMS_CLIENTS_JAVA_OPTIONS -cp $VOMSCLIENTS_CP $VOMSPROXYDESTROY_CLASS "$@"
