/* Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 - 2 0 2 2 ĠCreative ĠData . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġio . sa ag ie . up dat ari um . persist Ċ Ċ import Ġio . sa ag ie . up dat ari um . model . Change Set Ċ import Ġio . sa ag ie . up dat ari um . model . Execution Status Ċ import Ġio . sa ag ie . up dat ari um . model . Execution Status . NOT _ EXECUT ED Ċ Ċ class ĠTest Persist Engine Ġ: ĠPers ist Engine ( Persist Config ()) Ġ{ ĊĠĠĠ Ġdata Ġclass ĠChange Set Un Locked ( val Ġexecution Id : ĠString , Ġval Ġchange Set : ĠChange Set , Ġval Ġstatus : ĠExecution Status ) ĊĊĠĠĠ Ġval Ġchange Set Tested Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġval Ġchange Set Locked Ġ= Ġmutable ListOf < Change Set >() ĊĠĠĠ Ġval Ġchange Set Un Locked Ġ= Ġmutable ListOf < Change Set Un Locked >() ĊĊĠĠĠ Ġoverride Ġfun Ġcheck Connection () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfind Latest Execution Status ( change SetId : ĠString ): ĠExecution Status Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnot Already Executed Ġ= Ġchange SetId Ġ! in Ġchange Set Tested ĊĠĠĠĠĠĠĠ Ġchange Set Tested . add ( change SetId ) ĊĠĠĠĠĠĠĠ Ġif Ġ( not Already Executed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠNOT _ EXECUT ED ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġchange Set Un Locked . first Ġ{ Ġit . execution Id Ġ== Ġchange SetId Ġ}. status ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlock ( execution Id : ĠString , Ġchange Set : ĠChange Set ) Ġ{ ĊĠĠĠĠĠĠĠ Ġchange Set Locked . add ( change Set ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunlock ( execution Id : ĠString , Ġchange Set : ĠChange Set , Ġstatus : ĠExecution Status , Ġlogs : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġchange Set Un Locked . add ( Change Set Un Locked ( execution Id , Ġchange Set , Ġstatus )) ĊĠĠĠ Ġ} Ċ } Ċ