package Ġno . nav . hel se . sp oring Ċ Ċ import Ġcom . fasterxml . jackson . databind . JsonNode Ċ import Ġnet . logstash . log back . argument . Structured Arguments . key Value Ċ import Ġno . nav . hel se . rap ids _ river s .* Ċ import Ġno . nav . hel se . sp oring . Event . eventName Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . util .* Ċ Ċ internal Ġclass ĠFork ast inger ( rap ids Connection : ĠR ap ids Connection , Ġrepository : ĠT il stand send ring Repository ) Ġ{ ĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( Fork ast inger :: class . java ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġs ik ker Log Ġ= ĠLoggerFactory . getLogger (" t jen est ek all ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġs Ã¸ pp el b Ã¸ tt et il stand Ġ= Ġ" S Ã¸ pp el b Ã¸ tte " ĊĠĠĠ Ġ} ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠR iver ( rap ids Connection ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. validate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . demand Value ("@ event _ name ", Ġ" ved tak sp eri ode _ fork ast et ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . require Key ("@ id ", Ġ"@ for Ã¥ rs aket _ av . id ", Ġ"@ for Ã¥ rs aket _ av . event _ name ", Ġ" ved tak sp eri ode Id ", Ġ" til stand ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . inter ested In ("@ for Ã¥ rs aket _ av . be h ov ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . require ("@ op prett et ", ĠJsonNode :: as LocalDateTime ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Ġ{ Ġproblems , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" For st od Ġik ke Ġved tak sp eri ode _ fork ast et Ġ( Se Ġs ik ker Ġlog g Ġfor Ġdetal jer )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik ker Log . error (" For st od Ġik ke Ġved tak sp eri ode _ fork ast et :\ n ${ problems . to Extended Report () }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. on Success Ġ{ Ġmessage , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġg jel den de Til stand Ġ= Ġmessage [" til stand "]. as Text () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠeventName Ġ= ĠeventName ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġved tak sp eri ode Id Ġ= ĠUUID . fromString ( message [" ved tak sp eri ode Id "]. as Text ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" l agr er Ġfork ast ing Ġ{} Ġ{} Ġ{}", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Value (" til stand ", Ġg jel den de Til stand ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Value (" ford i ", ĠeventName ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Value (" ved tak sp eri ode Id ", Ġved tak sp eri ode Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . lag re ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġme ld ing Id Ġ= ĠUUID . fromString ( message [" @ id "]. as Text ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġved tak sp eri ode Id Ġ= Ġved tak sp eri ode Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ra Til stand Ġ= Ġg jel den de Til stand , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor di Ġ= ĠeventName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtil Til stand Ġ= Ġs Ã¸ pp el b Ã¸ tt et il stand , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn Ã¥r Ġ= Ġmessage [" @ op prett et "]. as LocalDateTime () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }