@echo off

Rem **************************************************************************
Rem Test if CMD Extensions are available
Rem **************************************************************************
verify other 2>nul
setlocal enableextensions
if errorlevel 1 (
  if not "%SERVERSTARTED%" == "1" (
    set SERVERSTARTED=1
    goto restartext
  )
)

Rem **************************************************************************
Rem Determine java executable
Rem **************************************************************************
if DEFINED JAVA_HOME (
  set JAVA_CMD="%JAVA_HOME%\bin\java"
) else (
  echo WARNING: Environment variable JAVA_HOME not set, try to launch java from current PATH.
  set JAVA_CMD=java
)

Rem **************************************************************************
Rem Get base directory
Rem **************************************************************************
set SDTSERVER_HOME=%~dp0
set SDTSERVER_HOME=%SDTSERVER_HOME:"=%

Rem Save where we started
set OLDDIR=%CD%

cd /d %SDTSERVER_HOME%
cd ..
set SDTSERVER_HOME=%CD%

Rem **************************************************************************
Rem Setup stuff
Rem **************************************************************************

set SDTSERVER_CLASSPATH=%SDTSERVER_HOME%\lib\sdt_compatibility.jar
set SDTSERVER_CLASSPATH=%SDTSERVER_CLASSPATH%;%SDTSERVER_HOME%\lib\sdt_slctrl.jar
set SDTSERVER_CLASSPATH=%SDTSERVER_CLASSPATH%;%SDTSERVER_HOME%\lib\sdt_mxp.jar

set SRVARG=-srvarg=/SDTExecutionService/restart
set RESTART_OPT=%SRVARG%=false
set VRBOPT=-verbose=on

:restartloop
%JAVA_CMD% -cp %SDTSERVER_CLASSPATH% SDTServer rootdir=%SDTSERVER_HOME% %RESTART_OPT% %VRBOPT% %*

set RETCODE=%ERRORLEVEL%
if %RETCODE% == 42 goto selfpatch
goto exit

:selfpatch
call SAPCAR.EXE -xvf LUP.SAR
set RETCODE=%ERRORLEVEL%
if NOT %RETCODE% == 0 (
  echo ERROR: SDTServer self patch failed with rc=%RETCODE%
  goto exit
)
set RESTART_OPT=%SRVARG%=true 
goto restartloop

Rem **************************************************************************
:restartext
echo *** Restarting script enabling CMD extensions
cmd /E:ON /C call %0 %*
goto exit

:exit


