#!/usr/bin/ksh
# $Id: jtest,v 1.10 2006/02/24 16:33:57 mckenney Exp $
# Copyright 2004 Sun Microsystems, Inc., All Rights Reserved.
# Sun Proprietary/Confidential: For Internal Use Only

# Get StorADE Home directory.
PKG=SUNWstade
pkginfo -q $PKG
if [ $? -ne 0 ];  then
   if [[ -d /opt/SUNWstade/sysbin ]] ; then
      SA_HOME="/opt/SUNWstade"
   else
      echo "StorADE not installed."
      exit -1;
   fi 
else
   SA_HOME="`pkgparam $PKG BASEDIR`/$PKG"
fi

usage() {
	 echo "jtest: Execute a Java Diagnostic test."
    echo "usage jtest [-D] <device> <testname> [[testarg1=value1] ...]"
}


# Parse input options
while getopts Dl:c: c
do
    case $c in
    D)  DEBUG=true;;
	 c)  COMPONENT="-c $OPTARG";;
	 l)  LOCALE="$OPTARG";;
    h)  usage; exit 0;;
    \?) usage; exit 1;;
    esac
done
shift `expr $OPTIND - 1`

if (($# < 2)); then
  usage; exit 1;
fi
DEV_NAME=$1;shift
TEST_CLASS=$1;shift

# Set up java
JAVACMD=java
JAVA_CMD_LINE=`/usr/bin/grep java.home $SA_HOME/DATA/rasagent.conf`
if [ ! -z "$JAVA_CMD_LINE" ]; then
  JAVACMD=${JAVA_CMD_LINE##*=}
fi
if [ -d $JAVACMD ]; then
  JAVACMD=$JAVACMD/bin/java
fi
CLASSPATH=$SA_HOME/lib
for jar in $SA_HOME/lib/*.jar; do
        CLASSPATH=$CLASSPATH:$jar
done
export CLASSPATH

if [ "$DEBUG" == "true" ]; then
	 echo "CLASSPATH=$CLASSPATH"
fi

JENV="-DSUNWstade=$SA_HOME"
if [ ! -z "$LOCALE" ]; then
  JENV="$JENV -Duser.language=$LOCALE"
fi
JCLASS="com.sun.netstorage.fm.storade.resource.diags.DiagnosticRunner"

if [ "$DEBUG" == "true" ]; then
	DEBUGOPT="-D"
fi

$JAVACMD $JENV -cp $CLASSPATH $JCLASS $DEBUGOPT $COMPONENT $DEV_NAME $TEST_CLASS $*
exit $?


