@echo off
REM   Hitachi SVP                              
REM  JAVA Update tool for Hitachi SVP
REM                 Copy right. 2017  Hitachi. Ltd. 
REM
REM History  :Version    :DATE        : Coder        : Patch No
REM Hitachi SVP
REM          :01-01      :2017.10.31  : S.Moriya  : #39265 (New)
REM          :01-02      :2018.02.16  : Y.Kumagai : #44854 (Remote Micro Exchange Support)
REM
REM Document
REM Java1.8.0_152 Installer
REM
REM

set LOGFILE="c:\dkc200\san\cgi-bin\Utility\JavaUpdate_log.txt"
set JAVAINST_V8u152="java\Java_inst_V8u152.bat"
set JAVASET_V8u152="java\Java_set_V8u152.bat"
set TOMCATSTART="setup\tomcat_start.bat"
set REGCRED="setup\RegCred.bat"
set TASK="setup\task.bat"
set CHECK_ADMIN="check\CheckAdmin.bat"
set CHECKUNINST_Java="check\Check_uninstallJava.bat"
set CHECK_SERVICES="check\Checkservices.bat"
set SVPSSTOP="setup\SvpSurveillance_stop.bat"

echo ----- >> %LOGFILE% 2>>&1
echo # Start Program >> %LOGFILE% 2>>&1
echo %date%-%time% >> %LOGFILE% 2>>&1
echo ----- >> %LOGFILE% 2>>&1

echo Java update 1.8.0_152 Installer >> %LOGFILE% 2>>&1
echo Java update 1.8.0_152 Installer

echo Check admin
pushd %~dp0
call %CHECK_ADMIN%
echo Check admin OK >> %LOGFILE% 2>>&1
echo Check admin OK 

REM Version confirmation starts

SETLOCAL enabledelayedexpansion

set PCINF=C:\DKC200\mp\pc\pc.inf
REM Get OSS version
set VERSIONFILE=%~dp0Java8u152_version.txt
REM set INSTALLEDCHECK=BkSurve.exe

REM check BkSurve.exe
REM tasklist  | find /I "%INSTALLEDCHECK%">NUL
REM if %ERRORLEVEL%==1 (
REM 	echo Info: SVP program has not been installed.
REM 	echo Info: SVP program has not been installed. >> %LOGFILE% 2>>&1
REM  	goto NotInstalled
REM  )

REM Get SVP Version
if EXIST %PCINF% (
	for /f "delims=" %%a in (%PCINF%) do (
    	set SVPVersion=%%a
	)
) else (
	goto SVPError
)
REM delete the blank
set SVPVersion=%SVPVersion: =%

REM Get SVP Version of OSS
if EXIST %VERSIONFILE% (
	for /f "delims=" %%a in (%VERSIONFILE%) do (
    	set OSSVersion=%%a
	)
) else (
	goto OSSMediaError
)
REM delete the blank
set OSSVersion=%OSSVersion: =%

REM divide it into Major version and Minor version
set MODELDLIM=2
set VERSIONDLIM=2
set SVPVersion_Model=!SVPVersion:~0,%MODELDLIM%!
set OSSVersion_Model=!OSSVersion:~0,%MODELDLIM%!

set SVPVersion_Tmp=!SVPVersion:~%MODELDLIM%!
set OSSVersion_Tmp=!OSSVersion:~%MODELDLIM%!
set SVPVersion_Major=!SVPVersion_Tmp:~0,%VERSIONDLIM%!
set SVPVersion_Minor=!SVPVersion_Tmp:~%VERSIONDLIM%!
set OSSVersion_Major=!OSSVersion_Tmp:~0,%VERSIONDLIM%!
set OSSVersion_Minor=!OSSVersion_Tmp:~%VERSIONDLIM%!

REM Model check
if %SVPVersion_Model%==75 (
	set SVPVersion_Model=73
)

if not %SVPVersion_Model%==%OSSVersion_Model% (
	goto ModelError
)

if %SVPVersion_Major% gtr %OSSVersion_Major% (
	goto NormalEnd
) else if %SVPVersion_Major% lss %OSSVersion_Major% (
	goto VersionError
) else (
	if %SVPVersion_Minor% geq %OSSVersion_Minor% (
		goto NormalEnd
	) else (
		goto VersionError
	)
)

:NormalEnd
echo Correct Version
echo Correct Version >> %LOGFILE% 2>>&1

REM :NotInstalled

REM Version confirmation is completed

echo Check Java
echo Check Java >> %LOGFILE% 2>>&1
pushd %~dp0
call %CHECKUNINST_Java%
echo Check Java OK >> %LOGFILE% 2>>&1
echo Check Java OK

echo Check services
pushd %~dp0
call %CHECK_SERVICES%
echo Check services OK >> %LOGFILE% 2>>&1
echo Check services OK 

echo stop SvpSurveillance Service
echo stop SvpSurveillance Service >> %LOGFILE% 2>>&1
pushd %~dp0
call %SVPSSTOP%

echo install Java update 1.8.0_152
echo install Java update 1.8.0_152 >> %LOGFILE% 2>>&1

pushd %~dp0
call %TASK% >> %LOGFILE% 2>>&1


pushd %~dp0
call %JAVAINST_V8u152% >> %LOGFILE% 2>>&1
if not %errorlevel%==0 (
goto :error
)

echo set Java
echo set Java >> %LOGFILE% 2>>&1
pushd %~dp0
call %JAVASET_V8u152% >> %LOGFILE% 2>>&1
if not %errorlevel%==0 (
goto :error
)

echo start Tomcat Service
echo Tomcat start >> %LOGFILE% 2>>&1
pushd %~dp0
call %TOMCATSTART% >> %LOGFILE% 2>>&1
if not %errorlevel%==0 (
goto :error
)

echo Credential Provider on
echo Credential Provider on >> %LOGFILE% 2>>&1
pushd %~dp0
call %REGCRED% >> %LOGFILE% 2>>&1

echo ----- >> %LOGFILE% 2>>&1
echo # END Program >> %LOGFILE% 2>>&1
echo %date%-%time% >> %LOGFILE% 2>>&1
echo ----- >> %LOGFILE% 2>>&1

echo Operation successful.
exit 0

:error
echo Error occured.
exit %errorlevel%

:VersionError
set VIEW=8
set SVPVersion_View=!SVPVersion:~0,%VIEW%!
echo Error: Incorrect Version.
echo Error: Incorrect Version. >> %LOGFILE% 2>>&1
echo Install Java for SVP version %SVPVersion_View%.
echo Install Java for SVP version %SVPVersion_View%. >> %LOGFILE% 2>>&1
echo SVP Version of OSS is %OSSVersion%. >> %LOGFILE% 2>>&1
pause
exit 2

:SVPError
echo Error: Failed to get SVP version. SVP is abnormal.
echo Error: Failed to get SVP version. SVP is abnormal. >> %LOGFILE% 2>>&1
pause
exit 2

:ModelError
echo Error: Incorrect media.(Model error)
echo Error: Incorrect media.(Model error) >> %LOGFILE% 2>>&1
pause
exit 2


:OSSMediaError
echo Error: Failed to get OSS version. Incorrect OSS Media.
echo Error: Failed to get OSS version. Incorrect OSS Media. >> %LOGFILE% 2>>&1
pause
exit 2
