#!/bin/sh
# -----------------------------------------------------------------------------
# Script for Jasper compiler
#
# Environment Variable Prequisites
#
#   JASPER_HOME   May point at your Catalina "build" directory.
#
#   JASPER_OPTS   (Optional) Java runtime options used when the "start",
#                 "stop", or "run" command is executed.
#
#   JAVA_HOME     Must point at your Java Development Kit installation.
#
#   JAVA_OPTS     (Optional) Java runtime options used when the "start",
#                 "stop", or "run" command is executed.
#
# $Id: jasper.sh,v 1.2 2002/06/02 21:22:41 remm Exp $
# -----------------------------------------------------------------------------

TOMCAT_CFG="/etc/tomcat4/tomcat4.conf"

[ -r "$TOMCAT_CFG" ] && . "${TOMCAT_CFG}"

### Set up defaults if they were omitted in TOMCAT_CFG

###  JVM lookup

if [ -z "$JAVA_HOME" ]; then
    # Search for java in PATH
    JAVA=`which java`
    if [ -z "$JAVA" ] ; then
    JAVA_BINDIR=`dirname ${JAVA}`
    JAVA_HOME="${JAVA_BINDIR}/.."
    fi
    # Default clean JAVA_HOME
    [ -z "$JAVA_HOME"  -a -d "/usr/lib/java" ] &&  JAVA_HOME="/usr/lib/java"
    # Default IBM JAVA_HOME
    [ -z "$JAVA_HOME"  -a -d "/opt/IBMJava2-13" ] &&  JAVA_HOME="/opt/IBMJava2-13" 
    [ -z "$JAVA_HOME"  -a -d "/opt/IBMJava2-131" ] &&  JAVA_HOME="/opt/IBMJava2-131"
    # Another solution
    [ -z "$JAVA_HOME"  -a -d "/usr/java/jdk" ] &&  JAVA_HOME="/usr/java/jdk"
    # madeinlinux JAVA_HOME
    [ -z "$JAVA_HOME" -a -d "/usr/local/jdk1.2.2" ] && JAVA_HOME="/usr/local/jdk1.2.2"
    # Kondara JAVA_HOME
    [ -z "$JAVA_HOME"  -a -d "/usr/lib/java/jdk1.2.2" ] && JAVA_HOME="/usr/lib/java/jdk1.2.2"
    # Other commonly found JAVA_HOMEs
    [ -z "$JAVA_HOME"  -a -d "/usr/jdk1.2" ] && JAVA_HOME="/usr/jdk1.2"
    # Default Caldera JAVA_HOME
    [ -z "$JAVA_HOME"  -a -d "/opt/java-1.3" ] && JAVA_HOME="/opt/java-1.3"
    # Add other locations here
    if [ -z "$JAVA_HOME" ]; then
    echo "No JAVA_HOME specified in ${TOMCAT_CFG} and no java found, exiting..."
    exit 1
    else
    echo "Found JAVA_HOME: ${JAVA_HOME}"
    echo "Please complete your ${TOMCAT_CFG} so we won't have to look for it next time"
    fi
fi

# Add on extra jar files to CLASSPATH
for i in "$JASPER_HOME"/common/endorsed/*.jar; do
  CLASSPATH="$CLASSPATH":"$i"
done
for i in "$JASPER_HOME"/common/lib/*.jar; do
  CLASSPATH="$CLASSPATH":"$i"
done
for i in "$JASPER_HOME"/shared/lib/*.jar; do
  CLASSPATH="$CLASSPATH":"$i"
done
CLASSPATH="$CLASSPATH":"$JASPER_HOME"/shared/classes

# Set standard commands for invoking Java.
_RUNJAVA="$JAVA_HOME"/bin/java
_RUNJDB="$JAVA_HOME"/bin/jdb
_RUNJAVAC="$JAVA_HOME"/bin/javac

# ----- Execute The Requested Command -----------------------------------------

if [ "$1" = "jspc" ] ; then

  shift
  exec "$_RUNJAVA" $JAVA_OPTS $JASPER_OPTS \
    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
    -Djasper.home="$JASPER_HOME" \
    org.apache.jasper.JspC "$@"

else

  echo "Usage: jasper4 ( jspc )"
  echo "Commands:"
  echo "  jspc - Run the offline JSP compiler"
  exit 1

fi
