package Ġno . nav . e ess i . pens jon . f ag modul . pref ill Ċ Ċ import Ġio . micro meter . core . instrument . simple . Simple Meter Registry Ċ import Ġno . nav . e ess i . pens jon . f ag modul . models . ApiRequest Ċ import Ġno . nav . e ess i . pens jon . f ag modul . pref ill . k lient . Pref ill K lient Ċ import Ġno . nav . e ess i . pens jon . metrics . Metrics Helper Ċ import Ġno . nav . e ess i . pens jon . person op ps lag . p dl . Person Service Ċ import Ġno . nav . e ess i . pens jon . person op ps lag . p dl . model . Ak to er Id Ċ import Ġno . nav . e ess i . pens jon . person op ps lag . p dl . model . Ident Type Ċ import Ġno . nav . e ess i . pens jon . person op ps lag . p dl . model . N ors k Ident Ċ import Ġno . nav . e ess i . pens jon . services . pens j ons inform as jon . P ens j ons inform as jon Service Ċ import Ġno . nav . e ess i . pens jon . ved leg g . V ed leg g Service Ċ import Ġno . nav . pens jon . v 1 . pens j ons inform as jon . P ens j ons inform as jon Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġorg . springframework . stereotype . Service Ċ import Ġorg . springframework . web . server . ResponseStatus Exception Ċ import Ġjavax . annotation . Post Construct Ċ Ċ @ Suppress (" Spring Java Injection Points Autow iring Inspection ") Ċ @ Service Ċ class ĠIn nh ent ing Service ( ĊĠĠĠ Ġprivate Ġval Ġperson Service : ĠPerson Service , ĊĠĠĠ Ġprivate Ġval Ġved leg g Service : ĠV ed leg g Service , ĊĠĠĠ Ġprivate Ġval Ġpref ill K lient : ĠPref ill K lient , ĊĠĠĠ Ġprivate Ġval Ġp ens j ons inform as jon Service : ĠP ens j ons inform as jon Service , ĊĠĠĠ Ġ@ Autowired ( required Ġ= Ġfalse ) Ġprivate Ġval Ġmetrics Helper : ĠMetrics Helper Ġ= ĠMetrics Helper ( Simple Meter Registry ()) Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠH ent Person : ĠMetrics Helper . Metric ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadd Inst ution And Document Bu c Utils : ĠMetrics Helper . Metric ĊĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( In nh ent ing Service :: class . java ) ĊĊĠĠĠ Ġ@ Post Construct ĊĠĠĠ Ġfun Ġinit Metrics () Ġ{ ĊĠĠĠĠĠĠĠ ĠH ent Person Ġ= Ġmetrics Helper . init (" H ent Person ", Ġignore Http Codes Ġ= ĠlistOf ( HttpStatus . BAD _ REQUEST )) ĊĠĠĠĠĠĠĠ Ġadd Inst ution And Document Bu c Utils Ġ= Ġmetrics Helper . init ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Add Inst ution And Document Bu c Utils ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġignore Http Codes Ġ= ĠlistOf ( HttpStatus . BAD _ REQUEST ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġh ent Fn rf ra Ak to er Id f ra P DL ( ak to er id : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ak to er id . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠResponse Status Exception ( HttpStatus . BAD _ REQUEST , Ġ" F ant Ġing en Ġak to er ident ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġperson Service . h ent Ident ( Ident Type . N ors k Ident , ĠAk to er Id ( ak to er id )). id ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// Hj el pe Ġfunk s jon Ġfor ĠÃ¥ Ġvalid ere Ġog Ġh ente Ġak to er id Ġfor Ġevt . Ġav dod fn r Ġf ra ĠUI Ġ( P 2 1 0 0 ) Ġ- ĠP DL ĊĠĠĠ Ġfun Ġget Av dod Ak to er Id P DL ( request : ĠApi Request ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġb uc Ġ= Ġrequest . bu c Ġ?: Ġthrow ĠResponse Status Exception ( HttpStatus . BAD _ REQUEST ," M ang ler ĠB uc ") ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( bu c ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" P _ BU C _ 0 2 " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn ors k Ident Ġ= Ġrequest . ri kt ig Av dod () Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" M ang ler Ġfn r Ġfor Ġav d Ã¸ d ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠResponse Status Exception ( HttpStatus . BAD _ REQUEST ," M ang ler Ġfn r Ġfor Ġav d Ã¸ d ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( n ors k Ident . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠResponse Status Exception ( HttpStatus . BAD _ REQUEST , Ġ" Ident Ġhar Ġtom Ġinput - ver di ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperson Service . h ent Ident ( Ident Type . Ak to er Id , ĠN ors k Ident ( n ors k Ident )). id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" P _ BU C _ 0 5 ", Ġ" P _ BU C _ 0 6 ", Ġ" P _ BU C _ 1 0 " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn ors k Ident Ġ= Ġrequest . ri kt ig Av dod () Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( n ors k Ident . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠResponse Status Exception ( HttpStatus . BAD _ REQUEST , Ġ" Ident Ġhar Ġtom Ġinput - ver di ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgy ld ig N ors k Ident Ġ= Ġno . nav . e ess i . pens jon . person op ps lag . F od se ls nummer . f ra ( n ors k Ident ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperson Service . h ent Ident ( Ident Type . Ak to er Id , ĠN ors k Ident ( n ors k Ident )). id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( gy ld ig N ors k Ident Ġ== Ġnull ) Ġlogger . error (" N ors k Ident Ġer Ġik ke Ġgy ld ig ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠResponse Status Exception ( HttpStatus . NOT _ FOUND , Ġ" K orre kt Ġak to er Ident Ġik ke Ġfun net ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġh ent Fn rf ra Ak to er Service ( ak to er id : ĠString ?): ĠString Ġ= Ġh ent Fn rf ra Ak to er Id f ra P DL ( ak to er id ) ĊĊĠĠĠ Ġfun Ġh ent R ina S ak I der F ra MetaData ( ak to er id : ĠString ): ĠList < String > Ġ= Ġved leg g Service . h ent R ina S ak I der F ra MetaData ( ak to er id ) ĊĊĠĠĠ Ġfun Ġh ent Pre uty lt S ed ( api Request : ĠApi Request ): ĠString Ġ= Ġpref ill K lient . h ent Pre utf y lt S ed ( api Request ) ĊĊĠĠĠ Ġfun Ġh ent P ens jon inform as jon V ed tak ( ved tak Id : ĠString ) Ġ= Ġp ens j ons inform as jon Service . h ent V ed tak ( ved tak Id ) ĊĊĠĠĠ Ġfun Ġh ent Av d ode Fn rf ra P ens jon inform as jon ( pens jon inform as jon : ĠP ens j ons inform as jon ): ĠList < String >? Ġ= Ġp ens j ons inform as jon Service . h ent Gy ld ig Av dod ( pens jon inform as jon ) Ċ Ċ }