#!/bin/sh
# gnomap.jsh -- fb genome map reports (fbgrmap replacement)
# april2000 dgg

## trap/kill runaway calls - 5mins/300secs is plenty
ulimit -S -t 900 > /dev/null 2>&1

japp="flybase.GnoMap"
jdata=${SERVER_PATH}/.etc/gnomap
jflags="-ms5m -mx80m -Dawt.toolkit=flybase.graf.NullToolkit"

JARS=${jdata}:${jdata}/gnomap.jar:${jdata}/readseq.jar
# jlib=${SERVER_PATH}/.etc/jlib
# JARS=${jlib}/pse.zip:${jlib}/djgl_3_1_0.jar:${jlib}/jgl3.1.0.jar

	## size of data set read makes noticable speed diff
mapdata="env=MAP_DATA=$jdata/csomes/"
eenv=""
# CGI_CONTYPE="text/pdf"
mime="mimetype=text/html"

cmds="" ## scale=200 minloc=2500000 maxloc=3000000
cd $jdata


if [ $# = 0 ]; then
  if [ $QUERY_STRING ]; then
    args=$QUERY_STRING
    args0=$args
    args=`echo $args | sed 's/\&/ /g'`
  else
    args="$@" 
    args0=$args
  fi
else
  args="$@"
  args0=$args
fi


if [ ${CGI_CONTYPE} ]; then
  mime="mimetype=${CGI_CONTYPE}"
elif [ ${CONTENT_TYPE} ]; then
  mime="mimetype=${CONTENT_TYPE}"
fi

ids=$args

if [ -d ${SERVER_PATH}/.totop/java-local ]; then
  javabin=${SERVER_PATH}/.totop/java-local/bin/java
  javalib=${SERVER_PATH}/.totop/java-local/lib/classes.zip
elif [ -d ${SERVER_PATH}/.totop/bin-local/java/ ]; then
  javabin=${SERVER_PATH}/.totop/bin-local/java/bin/java
  javalib=${SERVER_PATH}/.totop/bin-local/java/lib/classes.zip
else
  ## ? redirect to server that has java?
  # echo "Location: http://flybase.bio.indiana.edu/.bin/gnomap?$args0"
  echo "Content-type: text/html"
  echo
  echo "<h1>Error: no java runtime available<h1>"
  exit 0
fi

CLASSPATH=${JARS}:${javalib}
export CLASSPATH

envtemp=${SERVER_PATH}/tmp/fbgrmap$$.env
env > ${envtemp}

#jparms="debug httpcall $cmds $mapdata $mime env=${envtemp}  ";
jparms="httpcall $cmds $mapdata $mime env=${envtemp}  ";

$javabin $jflags $japp $jparms $eenv $ids

/bin/rm ${envtemp}

#echo "fbgrmap.jsh call: <br>"
#echo "$javabin $japp $jparms $eenv $ids <br>"

