#!/bin/sh

darwin=false;
case "`uname`" in
    Darwin*) darwin=true;
esac

if $darwin ; then
	if [ -z "$JAVA_HOME" ]; then
		JAVA_HOME=/Library/Java/Home
	fi
	GREP=grep
else
	if [ -z "$JAVA_HOME" ]; then
		echo "ERROR: JAVA_HOME not found in your environment."
		echo
		echo "Please, set the JAVA_HOME variable in your environment to match the"
		echo "location of the Java Virtual Machine you want to use."
		exit 1
	fi
	GREP=/bin/egrep
fi

if   [ `uname | grep -n CYGWIN` ]; then
	PS=";"
elif [ `uname | grep -n Windows` ]; then
	PS=";"
else
	PS=":"
fi


TOTALCLASSPATH=
totalclasspath_append()
{
	if ! echo "$TOTALCLASSPATH" | $GREP -q "(\^|${PS})$1(\$|${PS})" ; then
		if [ "$TOTALCLASSPATH" = "" ] ; then
			TOTALCLASSPATH="$1"
		else
			if [ "$2" = "before" ] ; then
				TOTALCLASSPATH="$1${PS}$TOTALCLASSPATH"
			else
				TOTALCLASSPATH="$TOTALCLASSPATH${PS}$1"
			fi
		fi
	fi
}

if $darwin ; then
	GREP=grep
else
	DIR_C1=/usr/ConsoleOne
	DIR_C1_PFX="$DIR_C1"
	# DIR_C1_PFX=.

	DIR_BIN="$DIR_C1/bin"
	DIR_C1EXT="$DIR_C1/ConsoleOneExt"
	DIR_LIBGW="$DIR_C1/lib/GroupWise"
	DIR_LIBMACH="$DIR_C1/lib/mach"
	DIR_LIBSO="$DIR_BIN"
	DIR_SNAPGW="$DIR_C1/snapins/GroupWise"
	DIR_SNAPMACH="$DIR_C1/snapins/mach"
	DIR_CORE="$DIR_C1/lib/core"
	
	JAR_C1CORE="${DIR_C1}/ConsoleOneCore.jar"
	JAR_C1="${DIR_C1}/ConsoleOne.jar"
	JAR_NDSNamespace="${DIR_CORE}/NDSNamespace.jar"
	
	JAR_GWRES="${DIR_C1EXT}/GroupWiseRes.jar"
	JAR_GWADM="${DIR_C1EXT}/GWAdmin.jar"
	JAR_GWADMDIR="${DIR_C1EXT}/GWAdminDirectory.jar"
	JAR_GWADMUTL="${DIR_C1EXT}/GWAdminUtil.jar"
	JAR_JG="${DIR_C1EXT}/jgl3.1.0.jar"
	JAR_WIDGETS="${DIR_C1EXT}/Widgets.jar"
	JAR_HELP="${DIR_C1EXT}/jh.jar"

	JAR_GWADMCOP="${DIR_LIBGW}/GWAdminCOpts.jar"
	JAR_GWADMCHK="${DIR_LIBGW}/GWAdminCheck.jar"
	JAR_ADMIN="${DIR_LIBMACH}/Admin.jar"
	JAR_GWCHKHLP="${DIR_LIBGW}/gwchkhlp.jar"

	JAR_GWADMCFG="${DIR_SNAPGW}/GWAdminConfig.jar"
	JAR_GWADMVEW="${DIR_SNAPGW}/GWAdminView.jar"
	JAR_MACH="${DIR_SNAPMACH}/MACH.jar"

	#JAR_WINDOWS=${DIR_???}/windows.jar
	#  JAR_SWING=${DIR_???}/swing.jar
fi

	GWCHECK_OUTPATH=`pwd`
	if test -w "$GWCHECK_OUTPATH" ;then
		export GWCHECK_OUTPATH
	fi

if [ "$1" = "c1" -o "$1" = "C1" ]; then
	shift

	totalclasspath_append "$JAR_C1CORE"
	totalclasspath_append "$JAR_C1"

	totalclasspath_append "$JAR_NDSNamespace" 
	totalclasspath_append "$JAR_GWRES"
	totalclasspath_append "$JAR_GWADM"
	totalclasspath_append "$JAR_GWADMDIR"
	totalclasspath_append "$JAR_GWADMUTL"
	totalclasspath_append "$JAR_JG"
	totalclasspath_append "$JAR_WIDGETS"

	totalclasspath_append "$JAR_GWADMCOP"
	totalclasspath_append "$JAR_GWADMCHK"
	totalclasspath_append "$JAR_ADMIN"

	totalclasspath_append "$JAR_GWADMCFG"
	totalclasspath_append "$JAR_GWADMVEW"
	totalclasspath_append "$JAR_MACH"

	totalclasspath_append "$JAR_HELP"
	totalclasspath_append "$JAR_GWCHKHLP"
	if $darwin ; then
		if [ "$DYLD_LIBRARY_PATH" = "" ]; then
			export DYLD_LIBRARY_PATH="$DIR_LIBSO"
		else
			export DYLD_LIBRARY_PATH="$DIR_LIBSO:$DYLD_LIBRARY_PATH"
		fi
	else
		if [ "$LD_LIBRARY_PATH" = "" ]; then
			export LD_LIBRARY_PATH="$DIR_LIBSO"
		else
			export LD_LIBRARY_PATH="$DIR_LIBSO:$LD_LIBRARY_PATH"
		fi
	fi

	$JAVA_HOME/bin/java -classpath "$PATH$PS$TOTALCLASSPATH" com.novell.gw.admin.gwcheck.CheckMain "$@"
else
	GWCHECK_HOME=`dirname "$0"`
	pushd "${GWCHECK_HOME}" > /dev/null

# When running on the Mac inside an app bundle look in "Java" not "lib"
	LIBDIR="lib"
	if $darwin ; then
		result=`dirname "$PWD"`
		result=`basename "$result"`
		if [ "$result" = "Resources" ]; then
			LIBDIR="Java"
		fi
	fi

	RELDIR="$PWD/../$LIBDIR"
	totalclasspath_append "$RELDIR/ConsoleOne.jar"
	totalclasspath_append "$RELDIR/NDSNamespace.jar"
	totalclasspath_append "$RELDIR/GWAdmin.jar"
	totalclasspath_append "$RELDIR/GWAdminCheck.jar"
	totalclasspath_append "$RELDIR/GWAdminDirectory.jar"
	totalclasspath_append "$RELDIR/GWAdminUtil.jar"
	totalclasspath_append "$RELDIR/GroupWiseRes.jar"
	totalclasspath_append "$RELDIR/Widgets.jar"
	totalclasspath_append "$RELDIR/jgl3.1.0.jar"
	totalclasspath_append "$RELDIR/jh.jar"
	totalclasspath_append "$RELDIR/gwchkhlp.jar"


	if $darwin ; then
		if [ "$DYLD_LIBRARY_PATH" = "" ]; then
			export DYLD_LIBRARY_PATH="$RELDIR"
		else
			export DYLD_LIBRARY_PATH="$RELDIR:$DYLD_LIBRARY_PATH"
		fi
	else
		if [ "$LD_LIBRARY_PATH" = "" ]; then
			export LD_LIBRARY_PATH="$RELDIR"
		else
			export LD_LIBRARY_PATH="$RELDIR:$LD_LIBRARY_PATH"
		fi
	fi

	pushd ../lib > /dev/null
	$JAVA_HOME/bin/java -classpath "$PATH$PS$TOTALCLASSPATH" com.novell.gw.admin.gwcheck.CheckMain "$@"
	popd > /dev/null

	popd > /dev/null
fi

