package Ġno . nav . su . se . bak over . service . person hen del ser Ċ Ċ import Ġno . nav . su . se . bak over . common . s ik ker Log g Ċ import Ġno . nav . su . se . bak over . database . hen del se . Person hen del se Repo Ċ import Ġno . nav . su . se . bak over . database . sak . S ak Repo Ċ import Ġno . nav . su . se . bak over . domain . hen del se . Person hen del se Ċ import Ġno . nav . su . se . bak over . domain . op pg ave . Opp g ave Config Ċ import Ġno . nav . su . se . bak over . service . op pg ave . Opp g ave Service Ċ import Ġno . nav . su . se . bak over . service . person . Person Service Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . util . UUID Ċ Ċ class ĠPerson hen del se Service ( ĊĠĠĠ Ġprivate Ġval Ġs ak Repo : ĠS ak Repo , ĊĠĠĠ Ġprivate Ġval Ġperson hen del se Repo : ĠPerson hen del se Repo , ĊĠĠĠ Ġprivate Ġval Ġopp g ave ServiceImpl : ĠO pp g ave Service , ĊĠĠĠ Ġprivate Ġval Ġperson Service : ĠPerson Service , Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( this :: class . java ) ĊĊĠĠĠ Ġfun Ġpro sess er Ny H en del se ( person hen del se : ĠPerson hen del se . Ik ke T ilk ny tt et S ak ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġe ks ist eren de S ak Id Og Num mer Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ak Repo . h ent S ak Id Og Num mer For Id enter ( person hen del se . metadata . person id enter ) Ġ?: Ġreturn ĠUnit . also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug (" Person hen del se Ġik ke Ġk ny tt et Ġtil Ġs ak : ĠIgn orer er Ġ${ person hen del se . hen del se } Ġmed Ġh en del ses id Ġ${ person hen del se . metadata . hen del se Id }, Ġoffset Ġ${ person hen del se . metadata . offset }, Ġpart is jon Ġ${ person hen del se . metadata . part is jon } Ġog Ġend ring stype Ġ${ person hen del se . end ring stype }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik ker Log g . debug (" Person hen del se Ġik ke Ġk ny tt et Ġtil Ġs ak : Ġ$ person hen del se ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlog . info (" Person hen del se Ġfor Ġs ak Ġid Ġ${ eks ist eren de S ak Id Og Num mer . sak Id }: ĠPers ister er Ġ${ person hen del se . hen del se } Ġmed Ġh en del ses id Ġ${ person hen del se . metadata . hen del se Id }, Ġoffset Ġ${ person hen del se . metadata . offset }, Ġpart is jon Ġ${ person hen del se . metadata . part is jon } Ġog Ġend ring stype Ġ${ person hen del se . end ring stype }") ĊĠĠĠĠĠĠĠ Ġs ik ker Log g . debug (" Person hen del se Ġfor Ġs ak : Ġ$ person hen del se ") ĊĠĠĠĠĠĠĠ Ġperson hen del se Repo . lag re ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperson hen del se Ġ= Ġperson hen del se . til k ny tt S ak ( UUID . randomUUID (), Ġe ks ist eren de S ak Id Og Num mer ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠ ĠTODO Ġai Ġ 0 2 . 0 9 : ĠK an Ġv ur dere ĠpÃ¥ Ġs ik t ĠÃ¥ Ġl age Ġkun Ġen Ġopp g ave Ġfor Ġfl ere Ġperson hen del ser Ġfor Ġsam me Ġbru ker , ĊĠĠĠĠĠĠĠ Ġf . eks Ġh vis Ġend ring sty pen Ġer ĠAN N UL ERT Ġeller ĠK OR RIG ERT . ĊĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġopp rett Opp ga ver For Person hen del ser () Ġ= ĊĠĠĠĠĠĠĠ Ġperson hen del se Repo . h ent Person hen del ser U ten Opp g ave (). forEach Ġloop @{ Ġperson hen del se Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs ak Ġ= Ġs ak Repo . h ent S ak ( person hen del se . sak Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sak Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" F ant Ġik ke Ġs ak Ġfor Ġperson hen del se Ġmed Ġid : Ġ${ person hen del se . id }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ loop Ġ// Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġperson Service . h ent A kt Ã¸ r Id Med System br uk er ( sak . fn r ). fold ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Left Ġ= Ġ{ Ġlog . error (" F ant Ġik ke Ġperson Ġfor Ġperson hen del se Ġmed Ġid : Ġ${ person hen del se . id }") Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Right Ġ= Ġ{ Ġakt Ã¸ r Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopp g ave ServiceImpl . op prett Opp g ave Med System br uk er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave Config . Person hen del se ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs aks nummer Ġ= Ġperson hen del se . s aks nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperson hen del se stype Ġ= Ġperson hen del se . hen del se , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġakt Ã¸ r Id Ġ= Ġakt Ã¸ r Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġopp g ave Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info (" Opp rett et Ġopp g ave Ġfor Ġperson hen del se Ġmed Ġid : Ġ${ person hen del se . id }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperson hen del se Repo . lag re ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperson hen del se . til Send t Til Opp g ave ( op pg ave Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Left Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" K un ne Ġik ke Ġopp ret te Ġopp g ave Ġfor Ġperson hen del se Ġmed Ġid : Ġ${ person hen del se . id }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ