package Ġcom . d ude . d ms . changelog Ċ Ċ import Ġcom . d ude . d ms . brain . D ms Logger Ċ import Ġorg . springframework . beans . factory . annotation . Value Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġorg . springframework . web . client . HttpClient ErrorException Ċ import Ġorg . springframework . web . client . HttpClient ErrorException . Unauthorized Ċ import Ġorg . springframework . web . client . Rest ClientException Ċ import Ġorg . springframework . web . client . Rest Template Ċ Ċ @ Component Ċ class ĠChangelog Service Ġ{ ĊĊĠĠĠ Ġ@ Value ("\ ${ api . releases }") ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrelease Api : ĠString ĊĊĠĠĠ Ġ@ Value ("\ ${ build . version }") ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbuild Version : ĠString ĊĊĠĠĠ Ġval Ġcurrent Version Ġget () Ġ= Ġbuild Version ĊĊĠĠĠ Ġfun ĠfindAll (): ĠList < Change log > Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreleases Ġ= ĠRest Template (). get For Object ( release Api , ĠArray < Release >:: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( releases Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġreleases . map Ġ{ ĠChangelog ( it . published _ at , Ġit . body , Ġit . tag _ name ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠUnauthorized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOGGER . warn ( e . status Text ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠHttpClient ErrorException . NotFound ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOGGER . warn ( e . status Text ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠRest ClientException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . message ?. let Ġ{ ĠLOGGER . error ( it , Ġe ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLOGGER Ġ= ĠD ms Logger . getLogger ( Change log Service :: class . java ) ĊĠĠĠ Ġ} Ċ }