#!/bin/bash

# Min connection probability.
# 
# $Id: mincp,v 1.1 2008/12/08 17:48:43 bennett Exp $


# Find the directory containing this script.
SCRIPTDIR=${0%/*}

if [ $# -lt 2 ]; then
	echo "mincp <inputroot> <outputfile> [-pd <index>] [-targetindex <index>]"
    exit
fi

# The desired classpath is the parent directory of the directory
# containing the script.
UNAME=`uname`
CYGWIN=`expr ${UNAME} : "CYGWIN"` 

if [ $CYGWIN == '0' ]; then
    export CLASSPATH=${SCRIPTDIR}/..
else 
    export CLASSPATH=`cygpath -w ${SCRIPTDIR}/..`
fi

INPUT_ROOT=$1
OUTPUT_FILE=$2

shift 2


# Default maximum heap size
MAXHEAPSIZE=250
# If we don't have enough RAM, decrease the heap size
`java -Xmx${MAXHEAPSIZE}M -version > /dev/null 2> /dev/null`

EXITCODE=$?

if [ $EXITCODE == '127' ]; then
    echo "java executable not found. Unable to run command"
    exit 127
fi

while [ $EXITCODE != 0 ] ; do
    MAXHEAPSIZE=$(($MAXHEAPSIZE / 2))
    `java -Xmx${MAXHEAPSIZE}M -version > /dev/null 2> /dev/null`
    EXITCODE=$?
done

exec java -Xmx${MAXHEAPSIZE}M -Djava.util.logging.config.file=${SCRIPTDIR}/../logging.properties apps/CP_Stats -inputroot $INPUT_ROOT -operation min -outputfile $OUTPUT_FILE $*
