package Ġnet . nem eros a . on track . extension . github . ingest ion . processing . config Ċ Ċ import Ġnet . nem eros a . on track . extension . git . property . Git Branch Configuration PropertyType Ċ import Ġnet . nem eros a . on track . extension . git . service . Git Service Ċ import Ġnet . nem eros a . on track . extension . github . client . On track GitHub Client Factory Ċ import Ġnet . nem eros a . on track . extension . github . property . GitHub Project Configuration PropertyType Ċ import Ġnet . nem eros a . on track . model . structure . Branch Ċ import Ġnet . nem eros a . on track . model . structure . Property Service Ċ import Ġorg . springframework . stereotype . Component Ċ Ċ @ Component Ċ class ĠDefault Config Loader Service ( ĊĠĠĠ Ġprivate Ġval Ġgit Hub Client Factory : ĠOn track GitHub Client Factory , ĊĠĠĠ Ġprivate Ġval Ġproperty Service : ĠProperty Service , ĊĠĠĠ Ġprivate Ġval Ġgit Service : ĠGit Service , Ċ ) Ġ: ĠConfig Loader Service Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġload Config ( branch : ĠBranch , Ġpath : ĠString ): ĠIn gestion Config ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgit Hub Project Property Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Service . getProperty ( branch . project , ĠGitHub Project Configuration PropertyType :: class . java ). value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġpr Ġ= Ġgit Service . get Branch As PullRequest ( branch ) ĊĠĠĠĠĠĠĠ Ġval Ġref Ġ= Ġif Ġ( pr Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpr . source ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgit Branch Property Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Service . getProperty ( branch , ĠGit Branch Configuration PropertyType :: class . java ). value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit Branch Property . branch ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġclient Ġ= Ġgit Hub Client Factory . create ( git Hub Project Property . configuration ) ĊĠĠĠĠĠĠĠ Ġval Ġbinary Content Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . getFile Content ( git Hub Project Property . repository , Ġref , Ġpath ) Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ// ĠAss uming ĠUTF - 8 ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġbinary Content . toString ( Charsets . UTF _ 8 ) ĊĠĠĠĠĠĠĠ Ġ// ĠParsing Ġas ĠYAML ĊĠĠĠĠĠĠĠ Ġreturn ĠConfig Parser . parse Yaml ( content ) ĊĠĠĠ Ġ} Ċ }