#!/bin/sh

# change to folder of datawolf
cd "$(dirname $0)/.."

# port for the jetty server
PORT=8080

# context root for datawolf server, needed when behind nginx
CONTEXT=/datawolf

# log file, leave blank for console
#LOG="--out ${PWD}/log/datawolf-yyyy_mm_dd.log

# create some folders just in case
if [ ! -e log ]; then
  mkdir log
fi
if [ ! -e data/db ]; then
  mkdir -p data/db
fi
if [ ! -e data/files ]; then
  mkdir -p data/files
fi

# setup for the server
WAR=$( ls -1 lib/datawolf-webapp-all*.war | tail -1 )
SERVER=""
if [ "${WAR}" != "" ]; then
  SERVER=${PWD}/conf/server.xml
  cat > "${SERVER}" << EOF
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">${CONTEXT}/</Set>
  <Set name="war">${PWD}/${WAR}</Set>
  <Call name="setInitParameter">
    <Arg>contextConfigLocation</Arg>
    <Arg>file://${PWD}/conf/applicationContext.xml</Arg>
  </Call>
</Configure>
EOF
fi

# setup for the editor
WAR=$( ls -1 lib/datawolf-editor*.war | tail -1 )
EDITOR=""
if [ "${WAR}" != "" ]; then
  EDITOR=${PWD}/conf/editor.xml
  cat > "${EDITOR}" << EOF
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">${CONTEXT}/editor</Set>
  <Set name="war">${PWD}/${WAR}</Set>
</Configure>
EOF
fi

# start actual webapp
java -Xmx512m -Ddatawolf.properties=${PWD}/conf/datawolf.properties -Dlog4j.configuration=file:///${PWD}/conf/log4j.properties -jar "${PWD}/lib/jetty-runner.jar" --port ${PORT} ${LOG} "${SERVER}" "${EDITOR}"
