#!/bin/sh

# additional flags you might want to pass to the java interpreter
# like -Dfile.encoding=ISO-8859-1
JAVA_FLAGS="${JAVA_FLAGS:-}"

if [ -z "$JAVA_HOME" ] ; then
    # try to use java in path
    JAVACMD="${JAVACMD:-java}"
    JAVA="${JAVA:-$JAVACMD}"
else
    JAVA="$JAVA_HOME/bin/java"
fi

##------------------
HENPLUSDIR=/usr/share/henplus

# export variables before java is called
export CLASSPATH LD_LIBRARY_PATH

# henplus main jar
CLASSPATH="$CLASSPATH:$HENPLUSDIR/henplus.jar"

# compatibility with sun.misc.Signal only if class does not exist
if ! $JAVA $JAVA_FLAGS henplus.CheckSignalClass >/dev/null 2>&1; then
    CLASSPATH="$CLASSPATH:$HENPLUSDIR/sun-misc-signal.jar"
fi

# location of the readline lib.
# Modify this, if you installation stores this at a different
# position.
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/jni"
CLASSPATH="$CLASSPATH:/usr/share/java/commons-cli.jar:/usr/share/java/libreadline-java.jar"

# starting at the current directory we look for additional
# JDBC-drivers in .henplus/lib-directories up the path. 
# if no directory like that has been found the one in the 
# home directory will be used
DIR=`pwd`
CUSTOM_HENPLUSDIR=""

while [ "$DIR" != "/" ] ; do
        if [ -d "$DIR/.henplus/lib" ]; then
            CUSTOM_HENPLUSDIR="$DIR/.henplus/lib"
	    break
        fi
        DIR=`dirname "$DIR"`
done

if [ -z "$CUSTOM_HENPLUSDIR" ]; then
     if [ -d "/.henplus/lib" ]; then
         CUSTOM_HENPLUSDIR="/.henplus/lib"
     else
         CUSTOM_HENPLUSDIR="$HOME/.henplus/lib"
     fi
fi

for f in "$CUSTOM_HENPLUSDIR"/*.jar "$CUSTOM_HENPLUSDIR"/*.zip ; do
    if [ -r "$f" ] ; then
        CLASSPATH="$CLASSPATH:$f"
    fi
done

# autodetect system JDBC drivers
for jdbc in mysql postgresql sapdbc-7.5.00 freetds_jdbc hsqldb sqlite ojdbc14; do
    if [ -f /usr/share/java/$jdbc.jar ]; then
        CLASSPATH="$CLASSPATH:/usr/share/java/$jdbc.jar"
    fi
done

exec $JAVA $JAVA_FLAGS henplus.HenPlus "$@"
