#!/bin/bash

######## CONFIGURE ########
JAVA_PROGRAM_DIR=""				# use full path to java bin dir, ex. "/usr/java/j2sdk1.4.2/bin/"
###########################

MSG0="Carregando Creative Torrent:"
MSG1="Inicializando Creative Torrent..."
MSG2="Executvel Java encontrado em "
MSG3="Hmmm, a verso de Java  obsoleta"
MSG4="Voc deve atualizar a JRE para a verso 1.4.x ou mais atual (Acesse: http://java.sun.com)"
MSG5="Verso de Java aceita "
MSG6="Configurando ambiente..."
MSG7="Hmmm, no h uma verso vlida de JRE instalada "
MSG8="Hmmm, no foi possvel encontrar o executvel Java em "
MSG9=" hierarquia"
MSG10="Executvel Java no encontrado em PATH, iniciando busca automtica..."
MSG11="Executvel Java encontrado em PATH. Checando..."

look_for_java()
{
  JAVADIR=/usr/java
  IFS=$'\n'
  potential_java_dirs=(`ls -1 "$JAVADIR" | sort | tac`)
  IFS=
  for D in "${potential_java_dirs[@]}"; do
    if [[ -d "$JAVADIR/$D" && -x "$JAVADIR/$D/bin/java" ]]; then
      JAVA_PROGRAM_DIR="$JAVADIR/$D/bin/"
      echo $MSG2 $JAVA_PROGRAM_DIR
      if check_version ; then
        return 0
      else
        return 1
      fi
    fi
  done
  echo $MSG8 "${JAVADIR}/" $MSG9 ; echo $MSG4
  return 1
}

check_version()
{
  JAVA_HEADER=`${JAVA_PROGRAM_DIR}java -version 2>&1 | head -n 1`
  JAVA_IMPL=`echo ${JAVA_HEADER} | cut -f1 -d' '`
  if [ "$JAVA_IMPL" = "java" ] ; then
    VERSION=`echo ${JAVA_HEADER} | sed "s/java version \"\(.*\)\"/\1/"`
    if echo $VERSION | grep "^1.[0-3]" ; then
      echo $MSG3 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG4
      return 1
    else
      echo $MSG5 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG6
      return 0	      
    fi
  else
    echo $MSG7 "[${JAVA_PROGRAM_DIR}java = ${JAVA_IMPL}]" ; echo $MSG4
    return 1
  fi
}

echo $MSG1

# locate and test the java executable
if [ "$JAVA_PROGRAM_DIR" == "" ]; then
  if ! command -v java &>/dev/null; then
    echo $MSG10
    if ! look_for_java ; then
      exit 1
    fi
  else
    echo $MSG11
    if ! check_version ; then
      if ! look_for_java ; then
        exit 1
      fi
    fi
  fi
fi

# get the app dir
#echo `dirname "$0"`
PROGRAM_DIR=`dirname "$0"`
PROGRAM_DIR=`cd "$PROGRAM_DIR"; pwd`

#cd ${PROGRAM_DIR}

# build the classpath
for FILE in *.jar; do CLASSPATH="${CLASSPATH}:${FILE}"; done

${JAVA_PROGRAM_DIR}java -cp ${CLASSPATH} -Djava.library.path="${PROGRAM_DIR}" br.usp.ime.creativetorrent.gui.SimpleGUI "$@"
