#!/bin/bash
SCRIPT=`basename $0 | sed -e 's/\./\\\./'`
SCRIPTDIR=`echo $0 | sed -e "s/$SCRIPT//"`
TEMP=`mktemp`

PLOTTYPE=boxplot
declare -a TITLES
FORMAT="postscript"

echo "source (\"$SCRIPTDIR/lib/R/plot.R\")"				>> $TEMP

while [ $# -gt 0 -a "$FINISHED" != "yes" ]; do
	case $1 in
		--format)
			FORMAT="$2"
			shift 2
			;;
		--output)
			echo "outfile <- \"$2\""			>> $TEMP
			shift 2
			;;
		--title)
			echo "plottitle <- \"$2\"" 			>> $TEMP
			shift 2
			;;
		--xlabel)
			XLABEL="$2"
			shift 2
			;;
		--ylabel)
			YLABEL="$2"
			shift 2
			;;
		--boxplot|--candlestick|--candlesticks)
			PLOTTYPE="boxplot"
			shift
			;;
		--plottype)
			PLOTTYPE=$2
			shift 2
			;;
		--separate-tests)
			SEPARATE_TESTS="yes"
			shift
			;;
		--smooth)
			SMOOTH="smooth $2"
			echo "smooth <- TRUE"				>> $TEMP
			shift 2
			;;
		--dump)
			DUMP=yes
			shift
			;;			
		--titles)
			TIFS=$IFS
			IFS=","
			COUNT=0
			for TITLE in $2; do
				TITLES[$COUNT]="$TITLE"
				COUNT=$(($COUNT+1))
			done
			shift 2
			IFS=$TIFS
			;;
		--subreport)
			SUBREPORT=$2
			shift 2
			;;
		--*)
			echo "$0: Unknown option: $1" >&2
			echo "$0: Remaining options: $@" >&2
			exit 1
			;;
		*)
			FINISHED="yes"
			;;
	esac
done

if [ "$XLABEL" != "" ]; then
	echo "xlabel <- \"$XLABEL\""						>> $TEMP
fi
if [ "$YLABEL" != "" ]; then
	echo "ylabel <- \"$YLABEL\""						>> $TEMP
fi

FIRST=yes
COUNT=0
CLEANUP_FILES=
RDATAFILE="$R_TMPDIR/$SUBREPORT.Rdata"
echo "format <- \"$FORMAT\""							>> $TEMP
if [ ! -f "$RDATAFILE" ]; then
	echo "results <- list()"						>> $TEMP
	while [ "$1" != "" ]; do
		PLOTFILE=$1
		
		FIRST=no
		TITLE=$COUNT
		if [ "${TITLES[$COUNT]}" != "" ]; then
			TITLE="${TITLES[$COUNT]}"
		fi
		echo "results[[\"$TITLE\"]] <- read.table(\"$PLOTFILE\", header=TRUE)"	>> $TEMP
		shift
		COUNT=$(($COUNT+1))
	done
	echo "save(results, file=\"$RDATAFILE\")"					>> $TEMP
else
	echo "load(\"$RDATAFILE\")" 						>> $TEMP
fi

if [ "$SEPARATE_TESTS" == "" ]; then
	echo "mm.plot(results, \"$PLOTTYPE\")"					>> $TEMP
else
	echo "mm.multiplot(results, \"$PLOTTYPE\")"				>> $TEMP
fi

if [ "$DUMP" = "yes" ]; then
	cat $TEMP
fi
cat $TEMP | R --vanilla 1>&2
rm $TEMP

if [ "$CLEANUP_FILES" != "" ]; then
	echo rm $CLEANUP_FILES
fi
