#!/bin/sh
glilang=en

echo
if [ "$glilang" = "es" ]; then
    echo "Interfaz de la Biblioteca Digital Greenstone (Greenstone Librarian Interface - GLI)"
    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
    echo "La Interfaz de la Biblioteca Digital Greenstone NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÍA."
    echo "Para mayor información vea los términos de la licencia en LICENSE.txt"
    echo "Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita"
elif [ "$glilang" = "fr" ]; then
    echo "Interface du Bibliothécaire Greenstone (Greenstone Librarian Interface - GLI)"
    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
    echo "GLI est fourni sans AUCUNE GARANTIE; pour des détails, voir LICENSE.txt"
    echo "Ceci est un logiciel libre, et vous êtes invité à le redistribuer"
elif [ "$glilang" = "ru" ]; then
    echo "âÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ Greenstone (Greenstone Librarian Interface - GLI)"
    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
    echo "âéç ÎÅ ÄÁÅÔ áâóïìàôîï îéëáëéè çáòáîôéê; ÄÅÔÁÌÉ ÓÍ. × ÔÅËÓÔÅ LICENSE.TXT"
    echo "üÔÏ - Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ É ÷Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ ÅÇÏ"
else
    echo "Greenstone Librarian Interface (GLI)"
    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
    echo "GLI comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt"
    echo "This is free software, and you are welcome to redistribute it"
fi
echo

##  -------- Run the Greenstone Librarian Interface --------

# This script must be run from within the directory in which it lives
thisdir=`pwd`
if [ ! -f "${thisdir}/client-gli.sh" ]; then
    if [ "$glilang" = "es" ]; then
        echo "Este guión deberá ejecutarse desde el directorio en el que reside."
    elif [ "$glilang" = "fr" ]; then
	echo "Ce script doit être exécuté à partir du répertoire dans lequel il se trouve."
    elif [ "$glilang" = "ru" ]; then
	echo "üÔÏÔ ÓËÒÉÐÔ ÄÏÌÖÅÎ ÂÙÔØ ×ÚÑÔ ÉÚ ÄÉÒÅËÔÏÒÉÉ, × ËÏÔÏÒÏÊ ÏÎ ÒÁÓÐÏÌÏÖÅÎ"
    else
	echo "This script must be run from the directory in which it resides."
    fi
    exit 1
fi


## ---- Check Java exists ----
javapath=

# Some users may set the above line manually
if [ "x$javapath" = "x" ]; then

    # If it is set, use the JAVA_HOME environment variable
    if [ "x$JAVA_HOME" != "x" ]; then
	javapath="$JAVA_HOME/bin/java"

    # Check if Java is on the search path
    else
	javapath=`which java 2> /dev/null`
    fi
fi

# Check that a Java executable has been found
if [ "$glilang" = "es" ]; then
    echo "Revisando Java: $javapath"
elif [ "$glilang" = "fr" ]; then
    echo "Vérification de Java: $javapath"
elif [ "$glilang" = "ru" ]; then
    echo "ðÒÏ×ÅÒËÁ Java: $javapath"
else
    echo "Checking Java: $javapath"
fi
if [ ! -x "$javapath" ]; then
    echo
    if [ "$glilang" = "es" ]; then
	echo "No se pudo localizar una versión apropiada de Java. Usted deberá "
	echo "instalar un Ambiente de Ejecución Java (versión 1.4 o superior) "
	echo "antes de correr la Interfaz de la Biblioteca Digital Greenstone."
    elif [ "$glilang" = "fr" ]; then
	echo "Une version adéquate de Java n'a pas pu être localisée."
	echo "Vous devez installer un Java Runtime Environment (version 1.4 ou"
	echo "supérieur) avant de démarrer Greenstone Librarian Interface."
    elif [ "$glilang" = "ru" ]; then
	echo "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ×ÅÒÓÉÉ Java."
	echo "÷Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ Java Runtime Environment (×ÅÒÓÉÀ 1.4 ÉÌÉ ×ÙÛÅ)"
	echo "ÐÅÒÅÄ ××ÏÄÏÍ ÂÉÂÌÉÏÔÅÞÎÏÇÏ ÉÎÔÅÒÆÅÊÓÁ Greenstone."
    else
	echo "Failed to locate an appropriate version of Java. You must install a"
	echo "Java Runtime Environment (version 1.4 or greater) before running the"
	echo "Greenstone Librarian Interface."
    fi
    exit 1
fi


## -- Check the version of Java is new enough (1.4.0 or higher) to run the GLI --
`$javapath -classpath . CheckJavaVersion > /dev/null`
if [ $? -ne 2 ] ; then
    echo
    if [ "$glilang" = "es" ]; then
	echo "La versión del Ambiente de Ejecución Java (JRE por sus siglas en "
	echo "inglés) que usted tiene instalada es demasiado vieja para ejecutar "
	echo "la Interfaz de la Biblioteca Digital Greenstone. Por favor instale "
	echo "una nueva versión del Ambiente de Ejecución Java (versión 1.4 o "
	echo "posterior) y ejecute nuevamente este guión."
    elif [ "$glilang" = "fr" ]; then
	echo "La version de Java Runtime Environment que vous avez installée est"
	echo "trop vielle pour faire fonctionner Greenstone Librarian Interface."
	echo "Veuillez installer une nouvelle version du JRE (version 1.4 ou plus"
	echo "récente) et redémarrez le script."
    elif [ "$glilang" = "ru" ]; then
	echo "÷ÅÒÓÉÑ Java Runtime Environment, ËÏÔÏÒÕÀ ÷Ù ÕÓÔÁÎÏ×ÉÌÉ, ÏÞÅÎØ ÓÔÁÒÁ,"
	echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ ÂÉÂÌÉÏÔÅÞÎÙÍ ÉÎÔÅÒÆÅÊÓÏÍ Greenstone. ðÏÖÁÌÕÊÓÔÁ, "
	echo "ÕÓÔÁÎÏ×ÉÔÅ ÎÏ×ÕÀ ×ÅÒÓÉÀ JRE (×ÅÒÓÉÀ 1.4 ÉÌÉ ÂÏÌÅÅ ÎÏ×ÕÀ) É"
	echo "ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÜÔÏÔ ÓËÒÉÐÔ"
    else
	echo "The version of the Java Runtime Environment you have installed is too"
	echo "old to run the Greenstone Librarian Interface. Please install a new"
	echo "version of the JRE (version 1.4 or newer) and rerun this script."
    fi
    exit 1
fi

## ---- Check that the GLI has been compiled ----
if [ ! -f "classes/org/greenstone/gatherer/GathererProg.class" ] && [ ! -f "GLI.jar" ]; then
    echo
    if [ "$glilang" = "es" ]; then
	echo "Usted necesita compilar la Interfaz de la Biblioteca Digital Greenstone"
	echo "(por medio de makegli.sh) antes de ejecutar este guión."
    elif [ "$glilang" = "fr" ]; then
	echo "Vous devez compiler le Greenstone Interface (en utilisant makegli.sh)"
	echo "avant d'exécuter ce script."
    elif [ "$glilang" = "ru" ]; then
	echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ Greenstone"
	echo "(ÉÓÐÏÌØÚÕÑ makegli.sh) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ"
    else
	echo "You need to compile the Greenstone Librarian Interface (using makegli.sh)"
	echo "before running this script."
    fi
    exit 1
fi


## ---- Finally, run the GLI ----
echo
if [ "$glilang" = "es" ]; then
    echo "Ejecutando la Interfaz de la Biblioteca Digital Greenstone..."
elif [ "$glilang" = "fr" ]; then
    echo "Exécution de Greenstone Librarian Interface"
elif [ "$glilang" = "ru" ]; then
    echo "ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ Greenstone..."
else
    echo "Running the Greenstone Librarian Interface..."
fi

# Other arguments you can provide to GLI to work around memory limitations, or debug
# -Xms<number>M    To set minimum memory (by default 32MB)
# -Xmx<number>M    To set maximum memory (by default the nearest 2^n to the total remaining physical memory)
# -verbose:gc      To set garbage collection messages
# -Xincgc          For incremental garbage collection (significantly slows performance)
# -Xprof           Function call profiling
# -Xloggc:<file>   Write garbage collection log

$javapath -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar org.greenstone.gatherer.GathererProg -use_remote_greenstone $*

if [ "$glilang" = "es" ]; then
    echo "¡Hecho!"
elif [ "$glilang" = "fr" ]; then
    echo "Terminé!"
elif [ "$glilang" = "ru" ]; then
    echo "÷ÙÐÏÌÎÅÎÏ!"
else
    echo "Done!"
fi