package Ġorg . micro j service . l ark . core . event . v 2 Ċ Ċ import Ġcom . fasterxml . jackson . databind . JsonNode Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġio . mic ronaut . jackson . serialize . Jack son Object Serializer Ċ import Ġjak arta . inject . Singleton Ċ import Ġorg . micro j service . l ark . core . event . v 2 . model . Event Request ĊĊ Ċ /** Ċ Ġ* ĠEvent ĠService Ċ Ġ* Ċ Ġ* Ġ@ author ĠCod er ĠY ellow Ċ Ġ* Ġ@ since Ġ 0 . 1 . 0 Ċ Ġ*/ Ċ @ Singleton Ċ class ĠEvent Service ( ĊĠĠĠ Ġprivate Ġval ĠobjectMapper : ĠObjectMapper , ĊĠĠĠ Ġprivate Ġval Ġobject Serializer : ĠJack son Object Serializer , ĊĠĠĠ Ġprivate Ġval Ġconsumers : ĠList < Event Consumer < Any >>, Ċ Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġdispatch ( event Request : ĠJsonNode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠobjectMapper . convert Value ( event Request , ĠEvent Request :: class . java ) ĊĠĠĠĠĠĠĠ Ġconsumers ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . eventType Ġ== Ġevent . event !! :: class . java Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . handle Event ( Ġevent Ġas ĠEvent Request < Any >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }