#!/bin/sh

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

# port for the jetty server
PORT=8888

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

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

# Use authentication to access APIs
USE_AUTH=${DATAWOLF_USE_AUTH:-false}

# 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
  WAR="${PWD}/${WAR}"
  cat > "${SERVER}" << EOF
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">${CONTEXT}/</Set>
  <Set name="war">${WAR}</Set>
</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
  WAR="${PWD}/${WAR}"
  cat > "${EDITOR}" << EOF
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">${CONTEXT}/editor</Set>
  <Set name="war">${WAR}</Set>
</Configure>
EOF
fi

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