package Ġno . nav . dag p enger . mot tak . t jen ester Ċ Ċ import Ġcom . fasterxml . jackson . databind . JsonNode Ċ import Ġmu . Kotlin Logging Ċ import Ġno . nav . dag p enger . mot tak . A ktiv it ets log g Ċ import Ġno . nav . dag p enger . mot tak . In ns ending Mediator Ċ import Ġno . nav . dag p enger . mot tak . Json Message Extensions . get OrNull Ċ import Ġno . nav . dag p enger . mot tak . meld inger . Journal post Ċ import Ġno . nav . hel se . rap ids _ river s . Json Message Ċ import Ġno . nav . hel se . rap ids _ river s . Message Context Ċ import Ġno . nav . hel se . rap ids _ river s . R ap ids Connection Ċ import Ġno . nav . hel se . rap ids _ river s . R iver Ċ import Ġno . nav . hel se . rap ids _ river s . as LocalDateTime Ċ import Ġjava . time . LocalDateTime Ċ import Ġno . nav . dag p enger . mot tak . A ktiv it ets log g . A ktiv itet . Be h ov . Be h ov type Ġas ĠBe h ov Ċ Ċ private Ġval Ġlog g Ġ= ĠKotlin Logging . logger Ġ{} Ċ private Ġval Ġs ik ker Log g Ġ= ĠKotlin Logging . logger (" t jen est ek all ") Ċ Ċ internal Ġclass ĠJournal post M ott ak ( ĊĠĠĠ Ġprivate Ġval Ġin ns ending Mediator : ĠIn ns ending Mediator , ĊĠĠĠ Ġrap ids Connection : ĠR ap ids Connection Ċ ) Ġ: ĠR iver . Packet Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġl Ã¸ s ning Ġ= Ġ"@ l Ã¸ s ning .${ Be h ov . Journal post . name }" ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠR iver ( rap ids Connection ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Ġ{ Ġit . require Value ("@ event _ name ", Ġ" be h ov ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Ġ{ Ġit . require ("@ op prett et ", ĠJsonNode :: as LocalDateTime ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Ġ{ Ġit . require Key ( l Ã¸ s ning ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Ġ{ Ġit . require Key (" journal post Id ") Ġ} ĊĠĠĠĠĠĠĠ Ġ}. register ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Packet ( packet : ĠJson Message , Ġcontext : ĠMessage Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjournal post Id Ġ= Ġpacket [" journal post Id "]. as Text () ĊĠĠĠĠĠĠĠ Ġlog g . info Ġ{ Ġ" F Ã¥ tt Ġl Ã¸ s ning Ġfor Ġ$ l Ã¸ s ning , Ġjournal post Id : Ġ$ journal post Id " Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġjournal post Data Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpacket [ l Ã¸ s ning ]. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJournal post ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv it ets log g Ġ= ĠA ktiv it ets log g (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjournal post Id Ġ= Ġjournal post Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjournal post Status Ġ= Ġit [" journal status "]. as Text (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbru ker Ġ= Ġit . get OrNull (" br uk er ") ?. let Ġ{ Ġjson B ru ker Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJournal post . B ru ker ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġjson B ru ker [" id "]. as Text (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠJournal post . B ru ker Type . valueOf ( json B ru ker [" type "]. as Text ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdokument er Ġ= Ġit [" d okument er "]. map Ġ{ Ġjson D okument Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJournal post . D okument Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt it tel H vis Til g jen ge lig Ġ= Ġjson D okument [" tit tel "]. text Value (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdokument Info Id Ġ= Ġjson D okument [" d okument Info Id "]. as Text (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbre vk ode Ġ= Ġjson D okument [" bre vk ode "]. as Text (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh oved D okument Ġ= Ġjson D okument [" h oved D okument "]. as Boolean () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregist r ert D ato Ġ= Ġit [" re lev ante D ato er "]. first OrNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [" dat otype "]. as Text () Ġ== Ġ" DAT O _ REGISTR ERT " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ?. get (" dat o ") ?. as Text (). let Ġ{ ĠLocalDateTime . parse ( it ) Ġ} Ġ?: ĠLocalDateTime . now (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbe handling st ema Ġ= Ġit [" be handling st ema "]. text Value () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ik ker Log g . error Ġ{ Ġ" Kl arte Ġik ke ĠÃ¥ Ġle se Ġ$ journal post Id , Ġ${ packet . toJson () }" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġin ns ending Mediator . h Ã¥ nd ter ( journal post Data ) ĊĠĠĠ Ġ} Ċ } Ċ