#!/bin/bash

if [ -z "${JAVA}" ] ; then
JAVA=java 
fi
PRG=$0
saveddir=`pwd`

# need this for relative symlinks
PRGDIR=`dirname "$PRG"`

SOD_HOME="$PRGDIR/.."

# make it fully qualified
SOD_HOME=`cd "${SOD_HOME}" && pwd`

cd "$saveddir"

#Jacorb-2.3.0 does bad things with a popular default LANG value, en_US.UTF-8
unset LANG


LIB=${SOD_HOME}/lib

SOD=$LIB/sod-3.2.11-SNAPSHOT.jar
BAG=$LIB/bag-0.4.1.jar
JLINE=$LIB/jline-0.9.94.jar
JING=$LIB/jing-20091111.jar
RNGCONV=$LIB/rngconv-20030225.jar
VECTORGRAPHICS2D=$LIB/VectorGraphics2D-0.9.jar
GRALCORE=$LIB/gral-core-0.9.jar
VELOCITYTOOLS=$LIB/velocity-tools-2.0.jar
DCWPO_BROWSE=$LIB/dcwpo_browse-1.0.jar
JAVACSV=$LIB/javacsv-2.0.jar
GROOVYALL=$LIB/groovy-all-2.2.2.jar
FISSURESUTIL=$LIB/fissuresUtil-1.1.14.jar
TAUP=$LIB/TauP-2.4.5.jar
SEISFILE=$LIB/seisFile-1.8.4.jar
JSAP=$LIB/jsap-2.1.jar
JYTHONSTANDALONE=$LIB/jython-standalone-2.7.0.jar
JUNIT=$LIB/junit-3.8.1.jar
COMMONSCHAIN=$LIB/commons-chain-1.1.jar
COMMONSVALIDATOR=$LIB/commons-validator-1.3.1.jar
COMMONSDIGESTER=$LIB/commons-digester-1.8.jar
COMMONSBEANUTILS=$LIB/commons-beanutils-1.7.0.jar
VELOCITY=$LIB/velocity-1.7.jar
HIBERNATEEHCACHE=$LIB/hibernate-ehcache-3.6.9.Final.jar
HIBERNATEC3P0=$LIB/hibernate-c3p0-3.6.9.Final.jar
HIBERNATECORE=$LIB/hibernate-core-3.6.9.Final.jar
COMMONSCOLLECTIONS=$LIB/commons-collections-3.2.1.jar
HTTPCLIENT=$LIB/httpclient-4.5.12.jar
COMMONSLOGGING=$LIB/commons-logging-1.2.jar
DOM4J=$LIB/dom4j-1.6.1.jar
ORO=$LIB/oro-2.0.8.jar
SSLEXT=$LIB/sslext-1.2-0.jar
FISSURESIMPL=$LIB/fissuresImpl-1.1.22.jar
OREGONDSP=$LIB/oregondsp-2011.jar
JAVASSIST=$LIB/javassist-3.12.1.GA.jar
ISTIUTIL=$LIB/isti.util-20120201.jar
HSQLDB=$LIB/hsqldb-1.8.0.10.jar
POSTGRESQL=$LIB/postgresql-9.4-1201-jdbc41.jar
MYSQLCONNECTORJAVA=$LIB/mysql-connector-java-5.1.47.jar
XERCESIMPL=$LIB/xercesImpl-2.10.0.jar
XALAN=$LIB/xalan-2.7.1.jar
OPENMAP=$LIB/openmap-4.6.2.jar
OPENPDF=$LIB/openpdf-1.0.1.jar
JCOMMON=$LIB/jcommon-1.0.0.jar
JFREECHART=$LIB/jfreechart-1.0.1.jar
JAVAMAIL=$LIB/javamail-1.3.2.jar
ACTIVATION=$LIB/activation-1.0.2.jar
FISSURESIDL=$LIB/fissuresIDL-1.0_getset_p2.jar
SLF4JLOG4J12=$LIB/slf4j-log4j12-1.7.30.jar
LOG4J=$LIB/log4j-1.2.17.jar
COMMONSLANG=$LIB/commons-lang-2.4.jar
SEEDCODEC=$LIB/seedCodec-1.0.11.jar
EHCACHECORE=$LIB/ehcache-core-2.4.3.jar
HIBERNATECOMMONSANNOTATIONS=$LIB/hibernate-commons-annotations-3.2.0.Final.jar
SLF4JAPI=$LIB/slf4j-api-1.7.30.jar
RXTX=$LIB/rxtx-2.1.7.jar
WOODSTOXCORE=$LIB/woodstox-core-5.2.1.jar
MSVCORE=$LIB/msv-core-2013.6.1.jar
ANTLR=$LIB/antlr-2.7.6.jar
HIBERNATEJPA20API=$LIB/hibernate-jpa-2.0-api-1.0.1.Final.jar
JTA=$LIB/jta-1.1.jar
ISTIUTILTOPLEVEL=$LIB/isti.util.toplevel-1.0USC.jar
JDOM=$LIB/jdom-b9.jar
XMLAPIS=$LIB/xml-apis-2.10.0.jar
XMLRESOLVER=$LIB/xml-resolver-1.2.jar
SERIALIZER=$LIB/serializer-2.10.0.jar
SERIALIZER=$LIB/serializer-2.7.1.jar
BCPKIXJDK15ON=$LIB/bcpkix-jdk15on-1.56.jar
BCPROVJDK15ON=$LIB/bcprov-jdk15on-1.56.jar
ASSERTJCORE=$LIB/assertj-core-3.6.1.jar
C3P0=$LIB/c3p0-0.9.1.jar
JACORB=$LIB/jacorb-2.3.1_USC2.jar
BACKPORTUTILCONCURRENT=$LIB/backport-util-concurrent-2.3.1.jar
STAX2API=$LIB/stax2-api-4.2.jar
XSDLIB=$LIB/xsdlib-2013.6.1.jar
ISORELAX=$LIB/isorelax-20090621.jar
HTTPCORE=$LIB/httpcore-4.4.13.jar
COMMONSCODEC=$LIB/commons-codec-1.11.jar
RELAXNGDATATYPE=$LIB/relaxngDatatype-20020414.jar


CLASSPATH=${SOD}:${BAG}:${JLINE}:${JING}:${RNGCONV}:${VECTORGRAPHICS2D}:${GRALCORE}:${VELOCITYTOOLS}:${DCWPO_BROWSE}:${JAVACSV}:${GROOVYALL}:${FISSURESUTIL}:${TAUP}:${SEISFILE}:${JSAP}:${JYTHONSTANDALONE}:${JUNIT}:${COMMONSCHAIN}:${COMMONSVALIDATOR}:${COMMONSDIGESTER}:${COMMONSBEANUTILS}:${VELOCITY}:${HIBERNATEEHCACHE}:${HIBERNATEC3P0}:${HIBERNATECORE}:${COMMONSCOLLECTIONS}:${HTTPCLIENT}:${COMMONSLOGGING}:${DOM4J}:${ORO}:${SSLEXT}:${FISSURESIMPL}:${OREGONDSP}:${JAVASSIST}:${ISTIUTIL}:${HSQLDB}:${POSTGRESQL}:${MYSQLCONNECTORJAVA}:${XERCESIMPL}:${XALAN}:${OPENMAP}:${OPENPDF}:${JCOMMON}:${JFREECHART}:${JAVAMAIL}:${ACTIVATION}:${FISSURESIDL}:${SLF4JLOG4J12}:${LOG4J}:${COMMONSLANG}:${SEEDCODEC}:${EHCACHECORE}:${HIBERNATECOMMONSANNOTATIONS}:${SLF4JAPI}:${RXTX}:${WOODSTOXCORE}:${MSVCORE}:${ANTLR}:${HIBERNATEJPA20API}:${JTA}:${ISTIUTILTOPLEVEL}:${JDOM}:${XMLAPIS}:${XMLRESOLVER}:${SERIALIZER}:${SERIALIZER}:${BCPKIXJDK15ON}:${BCPROVJDK15ON}:${ASSERTJCORE}:${C3P0}:${JACORB}:${BACKPORTUTILCONCURRENT}:${STAX2API}:${XSDLIB}:${ISORELAX}:${HTTPCORE}:${COMMONSCODEC}:${RELAXNGDATATYPE}

$JAVA -classpath $CLASSPATH \
     -Xmx512m -XX:+HeapDumpOnOutOfMemoryError  -Dseis.name=sod3.2.11-SNAPSHOT -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton -Dpython.path=${LIB} -Djava.awt.headless=true -Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB -Dswing.volatileImageBufferEnabled=false -Djacorb.connection.client.pending_reply_timeout=20000 -Djacorb.connection.client.idle_timeout=90000 -Djacorb.home=${SOD_HOME} -Djacorb.log.default.verbosity=2 \
    edu.sc.seis.sod.Start   "$@"   >> bgsod.out 2>&1 &
echo $! > bgsod.pid

