@echo off

Rem Determine JSPM directory
set rootdir=%~dp0
cd /D %rootdir%
cd..
set rootdir=%CD%

Rem **************************************************************************
Rem check elevated mode for windows 2008
Rem **************************************************************************
set prog_name=%0
set win_ver_num=-1
Rem ***get version number (e.g. 6 for w2k8)
FOR /F "usebackq tokens=4" %%i IN (`ver`) DO (
	FOR /F "usebackq delims=." %%v IN ('%%i') DO (
		set win_ver_num=%%v
	)
)
rem echo %win_ver_num%
Rem *** checks are only done for windows 2008...
if %win_ver_num%==6 (
	Rem *** "evaluated mode" cannot be tested directly -
	Rem *** as a workaround try if there is permission to delete registry keys
	Rem *** we need vb-script "w2k8_elevated.vbs" to do that
	if EXIST %ROOTDIR%\exe\w2k8_elevated.vbs (
		cscript //E:VBScript //NoLogo %ROOTDIR%\exe\w2k8_elevated.vbs
		if ERRORLEVEL 0 (
			Rem echo %prog_name%: "%prog_name%" was started in elevated mode... ok
		) else (
			echo * %prog_name%: "%prog_name%" must be started in "elevated mode". 
			echo * Please run your cmd-window "as administrator".
			echo * exit.
			set rc=2
			goto exit_
		)
	)
)

Rem Determine java executable
set JAVA_CMD="/usr/sap/EPP/J00/exe/sapjvm_6\bin\java.exe"
set JSPM_JAVA_CMD="%JSPM_JAVA_HOME%\bin\java.exe"
set LOCAL_JAVA=%rootdir%\sapjvm\jre\bin\java.exe

if EXIST %JSPM_JAVA_CMD% (
  set JAVA_CMD=%JSPM_JAVA_CMD%
  set LOCAL_JAVA=%JSPM_JAVA_CMD%
) else (
	if NOT EXIST %JAVA_CMD% (
	  set JAVA_CMD="%JAVA_HOME%\bin\java.exe"
	)
	if NOT EXIST %JAVA_CMD% (
	  set JAVA_CMD=java
	)
	if NOT EXIST %LOCAL_JAVA% (
	  set LOCAL_JAVA=%JAVA_CMD%
	)
)

set JSPM_CONFIG="jspm_config.txt"
if "%1" == "-remoteui" set JSPM_CONFIG="jspm-rui_config.txt"

Rem Start JSPM
%LOCAL_JAVA% -ea -Duser.dir=%rootdir% -Xmx1024m -XX:MaxPermSize=128m -XX:+HeapDumpOnOutOfMemoryError -cp %rootdir%\lib\sdt_jspm.jar com.sap.sdt.jspm.main.Jspm -rootdir=%rootdir% -tracelevel=FINEST run JSPM -properties=%JSPM_CONFIG% %*

set rc=%ERRORLEVEL%

:exit_
exit /B %rc%