@echo off

REM ##### 初期設定 #####
set LOG=jboss-shutdown.log
set LOOP_NUM=12
set NOPAUSE=y

REM ##### 引数取得 #####
set JBOSS_HOME=%~1
set TMP_DIR=%~2

REM ##### 初期処理 #####
if NOT "%JBOSS_HOME:~-1%" == "\" (
	set JBOSS_HOME=%JBOSS_HOME%\
)
if NOT "%TMP_DIR:~-1%" == "\" (
	set TMP_DIR=%TMP_DIR%\
)

REM ##### JBossの強制終了を試みる #####
call "%JBOSS_HOME%bin\shutdown.bat" -S 2> nul
if errorlevel 1 (
	echo JBossは起動していません。
	goto uninstall
)
del "%TMP_DIR%%LOG%"
for /l %%i in (1,1,%LOOP_NUM%) do (
	ping localhost -n 5 > nul
	call %JBOSS_HOME%bin\shutdown.bat -S 2>> "%TMP_DIR%%LOG%"
	findstr /C:"Connection refused" "%TMP_DIR%%LOG%" > nul
	if errorlevel 1 (
		if "%%i" == "%LOOP_NUM%" (
			echo JBossの終了確認ができませんでした。
			goto end
		)
		echo JBossの終了確認ができないためリトライします。^(%%i^)
	) else (
		echo JBossの終了確認ができました。
		goto end
	)
)
:end
del %TMP_DIR%%LOG%

REM ##### アンインストール #####
:uninstall
del /f /q "%JBOSS_HOME%*.*"
rmdir /s /q "%JBOSS_HOME%bin"
rmdir /s /q "%JBOSS_HOME%client"
rmdir /s /q "%JBOSS_HOME%docs"
rmdir /s /q "%JBOSS_HOME%lib"
rmdir /s /q "%JBOSS_HOME%server\all"
rmdir /s /q "%JBOSS_HOME%server\baseDir"
rmdir /s /q "%JBOSS_HOME%server\default"
rmdir /s /q "%JBOSS_HOME%server\minimal"

exit /b 0
