#!/bin/sh

# ==================================================================
# Standard utility functions and definitions

program_name=`basename $0`
program_version="0.0"

usage()
{
    echo "\
Try \`$program_name --help' for more information." 1>&2
    exit 1
}

version()
{
    echo "$program_name $program_version"
    exit 0
}

help()
{
    echo "\
Usage: $program_name [OPTION]
Test simultaneous IRIS web request using servlet_testutility.

  -u, --users=COUNT   number of simulated simulteneous users (default is 1)
  -s, --server=SERVER web server name or IP number (default is localhost)
  -p, --port=PORT     web server port (default is 8080)
  -d, --delay=DELAY   delay in sec before requests are initiated
  -h, -?, --help      display this help and exit
  --version           output version information and exit

"
  exit 0
}

# ==================================================================
# Parse arguments

while [ $# -ne 0 ]; do
    case "$1" in
        -u)
            shift
            if [ -z "$USERSCOUNT" ]; then
		USERSCOUNT="$1"
            else
		echo "$program_name: Users count is already set.\
 Ignoring extra value: $1" 1>&2
            fi
            ;;
	--users=*)
        if [ -z "$USERSCOUNT" ]; then
	    USERSCOUNT="$1"
        else
	    echo "$program_name: Users count is already set.\
 Ignoring extra value: $1" 1>&2
        fi
        ;;
        -s)
            shift
            if [ -z "$SERVERID" ]; then
                SERVERID="$1"
            else
		echo "$program_name: Name or IP of the server side is already set.\
 Ignoring extra name: $1" 1>&2
            fi
            ;;
        --server=*)
        if [ -z "$SERVERID" ]; then
            SERVERID="`echo $1 | sed 's/.*=//'`"
        else
            echo "$program_name: Interface on the server side is already set.\
 Ignoring extra name: `echo $1 | sed 's/.*=//'`" 1>&2
        fi
        ;;
        -p)
            shift
            if [ -z "$PORT" ]; then
                PORT="$1"
            else
		echo "$program_name: Port number on the server side is already set.\
 Ignoring extra value: $1" 1>&2
            fi
            ;;
        --port=*)
        if [ -z "$PORT" ]; then
            PORT="`echo $1 | sed 's/.*=//'`"
        else
            echo "$program_name:Port number  on the server side is already set.\
 Ignoring extra value: `echo $1 | sed 's/.*=//'`" 1>&2
        fi
        ;;
	-d)
            shift
            if [ -z "$DELAY" ]; then
                DELAY="$1"
            else
		echo "$program_name: The initial delay is already set.\
 Ignoring extra value: $1" 1>&2
            fi
            ;;
        --delay=*)
        if [ -z "$DELAY" ]; then
            PORT="`echo $1 | sed 's/.*=//'`"
        else
            echo "$program_name: The initial delay is already set.\
 Ignoring extra value: `echo $1 | sed 's/.*=//'`" 1>&2
        fi
        ;;
       -h|-?)
            help
            ;;
        --help)
            help
            ;;
        --version)
            version
            ;;
        *)
            echo "$program_name: Unexpected argument: $1" 1>&2
            usage
            ;;
    esac
    shift
done

if [ -z "$USERSCOUNT" ];
then
    USERSCOUNT=1
fi
	
if [ -z "$SERVERID" ];
then
    SERVERID=localhost
fi

if [ -z "$PORT" ];
then
    PORT=8080
fi

if [ -z "$DELAY" ];
then
    DELAY=10
fi


	
for ((i=0; i < $USERSCOUNT; i++))
 do servlet_test -s ${SERVERID} -p ${PORT} -d ${DELAY} &
done

exit 0
