package Ġno . nav . person br uk er . dit tn av . event test producer . op pg ave Ċ Ċ import Ġno . nav . br uk er not ifik as jon . schemas . N ok kel Ċ import Ġno . nav . br uk er not ifik as jon . schemas . Opp g ave Ċ import Ġno . nav . br uk er not ifik as jon . schemas . builders . Opp g ave Builder Ċ import Ġno . nav . person br uk er . dit tn av . event test producer . common . kafka . Kafka Producer Wrapper Ċ import Ġno . nav . person br uk er . dit tn av . event test producer . common . In n log getB ru ker Ċ import Ġno . nav . person br uk er . dit tn av . event test producer . common . create Key For Event Ċ import Ġno . nav . person br uk er . dit tn av . event test producer . common . getP refer erte K an aler Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . net . URL Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Zone Offset Ċ Ċ class ĠO pp g ave Producer ( private Ġval Ġopp g ave Kafka Producer : ĠKafka Producer Wrapper < N ok kel , ĠO pp g ave >, Ġprivate Ġval Ġsystem br uk er : ĠString ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( Opp g ave Producer :: class . java ) ĊĊĠĠĠ Ġfun Ġproduce Opp g ave Event For Ident ( inn log getB ru ker : ĠIn n log getB ru ker , Ġdto : ĠPro duce Opp g ave Dto ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġcreate Key For Event ( system br uk er ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Ġ= Ġcreate Opp g ave For Ident ( inn log getB ru ker , Ġdto ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Event To Kafka ( key , Ġevent ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" Det Ġsk j ed de Ġen Ġfe il Ġved Ġprod user ing Ġav Ġet Ġevent Ġfor Ġbru ker en Ġ$ inn log getB ru ker ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsend Event To Kafka ( key : ĠN ok kel , Ġevent : ĠO pp g ave ) Ġ{ ĊĠĠĠĠĠĠĠ Ġopp g ave Kafka Producer . send Event ( key , Ġevent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Opp g ave For Ident ( inn log getB ru ker : ĠIn n log getB ru ker , Ġdto : ĠPro duce Opp g ave Dto ): ĠO pp g ave Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠLocalDateTime . now ( Zone Offset . UTC ) ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠO pp g ave Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with F od se ls nummer ( inn log getB ru ker . ident ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Gr upper ings Id ( dto . gr upper ings id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Link ( URL ( dto . link )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with T ek st ( dto . tek st ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Tid sp unkt ( now ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with S ik kerhets n iv aa ( inn log getB ru ker . inn log g ings n iv aa ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Ek st ern Var sl ing ( dto . ek st ern Var sl ing ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Prefer erte K an aler (* getP refer erte K an aler ( dto . prefer erte K an aler ). to Typed Array ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder . build () ĊĠĠĠ Ġ} Ċ } Ċ