/* Ċ Ġ* Ċ Ġ* Ġ ĠCopyright ĠĠ 2 0 2 0 Ġ ĠThe ĠHy ve Ċ Ġ* Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* Ġ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ* Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġorg . radar base . export . inject Ċ Ċ import Ġorg . glass fish . j ersey . internal . inject . Abstract Binder Ċ import Ġorg . radar base . export . Config Ċ import Ġorg . radar base . export . io . UserData Writer Ċ import Ġorg . radar base . export . keycloak . Key cloak Client Ċ import Ġorg . radar base . export . service . Key cloak User Management Service Ċ import Ġorg . radar base . j ersey . auth . Auth Config Ċ import Ġorg . radar base . j ersey . enh ancer . Enh ancer Factory Ċ import Ġorg . radar base . j ersey . enh ancer . Enh ancers Ċ import Ġorg . radar base . j ersey . enh ancer . J ersey Resource Enh ancer Ċ import Ġorg . radar base . j ersey . filter . Filters Ċ import Ġorg . radar base . j ersey . service . Project Service Ċ import Ġjak arta . inject . Singleton Ċ Ċ class ĠUser Management Enh ancer Factory ( private Ġval Ġconfig : ĠConfig ) Ġ: ĠEn h ancer Factory Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcreate Enh ancers (): ĠList < J ersey Resource Enh ancer > Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠUser Management Enh ancer ( config ), ĊĠĠĠĠĠĠĠ ĠEn h ancers . exception , ĊĠĠĠĠĠĠĠ ĠEn h ancers . ecd sa , ĊĠĠĠĠĠĠĠ ĠEn h ancers . health , ĊĠĠĠĠĠĠĠ ĠEn h ancers . radar ( Auth Config ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjwt RS AP ublic Keys Ġ= Ġconfig . jwt RS AP ublic Keys , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjwt ResourceName Ġ= Ġconfig . jwt ResourceName , ĊĠĠĠĠĠĠĠ Ġ)), ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġclass ĠUser Management Enh ancer ( private Ġval Ġconfig : ĠConfig ): ĠJ ersey Resource Enh ancer Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġclasses : ĠArray < Class <* >> Ġ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( config . enable Cors ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . log Response , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . cors , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . log Response , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġpackages : ĠArray < String > Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" org . radar base . export . resource ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" org . radar base . export . lifecycle ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠAbstract Binder . en hance () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind ( config ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( Config :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind ( Key cloak Client :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( Key cloak Client :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` in `( Singleton :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind ( UserData Writer :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( UserData Writer :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` in `( Singleton :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind ( Key cloak User Management Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( Key cloak User Management Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` in `( Singleton :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind ( Project Service Wrapper :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( Project Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` in `( Singleton :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ