package Ġio . git pl ag . core . async Ċ Ċ import Ġcom . github . kit tin un f . fuel . core . Fuel Error Ċ import Ġcom . github . kit tin un f . fuel . core . HttpException Ċ import Ġio . git pl ag . core . exception . Repository Exception Ċ import Ġio . git pl ag . core . websocket . Notification Service Ċ import Ġio . git pl ag . git . agent . Git Agent Ċ import Ġio . git pl ag . git . payload . Git Manager Ċ import Ġio . git pl ag . model . entity . Repository Ċ import Ġio . git pl ag . model . enums . Git Property Ċ import Ġorg . springframework . beans . factory . annotation . Qualifier Ċ import Ġorg . springframework . scheduling . annotation . Async Ċ import Ġorg . springframework . stereotype . Component Ċ Ċ /** Ċ Ġ* ĠThe Ġclass Ġthat Ġasynchronously Ġiniti ates Ġthe Ġdownloading Ġof Ġfiles Ġfrom Ġgit Ċ Ġ*/ Ċ @ Component Ċ class ĠAsync File Uploader ( ĊĠĠĠ Ġ@ Qualifier (" git Rest Managers ") Ġprivate Ġval Ġrest Managers : ĠMap < Git Property , ĠGit Agent >, ĊĠĠĠ Ġ@ Qualifier (" payload Processors ") Ġprivate Ġval Ġpayload Processors : ĠMap < Git Property , ĠGit Manager >, ĊĠĠĠ Ġprivate Ġval Ġnotification Service : ĠNotification Service Ċ ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDownload Ġfiles Ġof Ġthe Ġ[ repository ] Ġfrom Ġgit ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Async (" custom Executor ") ĊĠĠĠ Ġfun Ġupload Files ( repository : ĠRepository ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpayload Processor Ġ= Ġpayload Processors . getValue ( repository . git Service ) ĊĠĠĠĠĠĠĠ Ġnotification Service . notify (" Started Ġupload Ġof Ġfiles Ġfrom Ġgit Ġrepository Ġ${ repository . name }. ") ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpayload Processor . download All Pull Requests Of Repository ( repository ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmessage Ġ= Ġ" Failed Ġupload Ġof Ġfiles Ġfrom Ġgit Ġrepository Ġ${ repository . name } ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( e ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠF uel Error , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠHttp Exception Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ+= Ġ" ĠAccess Ġto Ġgit Ġis Ġdenied ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Service . notify ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRepository Exception ( message , Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnotification Service . notify (" Ended Ġupload Ġof Ġfiles Ġfrom Ġgit Ġrepository Ġ${ repository . name }") ĊĠĠĠ Ġ} Ċ } Ċ