/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 Ġby ĠTitan ĠProject ĠContributors .. ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ package Ġio . tit and ata . tit an . providers . generic Ċ Ċ import Ġio . tit and ata . client . apis . Repositories Api Ċ import Ġio . tit and ata . client . apis . Volumes Api Ċ import Ġjava . text . Decimal Format Ċ import Ġkotlin . math . log 1 0 Ċ import Ġli quibase . Scope Ċ import Ġli quibase . ui . UI Service Ċ Ċ class ĠStatus ( ĊĠĠĠ Ġprivate Ġval Ġget Containers Status : Ġ() Ġ-> ĠList < Runtime Status >, ĊĠĠĠ Ġprivate Ġval Ġrepositories Api : ĠRe positories Api Ġ= ĠRe positories Api (), ĊĠĠĠ Ġprivate Ġval Ġvolumes Api : ĠVolume s Api Ġ= ĠVolume s Api (), ĊĠĠĠ Ġprivate Ġval Ġui : ĠUI Service ? Ġ= ĠScope . getCurrent Scope (). ui Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġn Ġ= ĠSystem . line Separator () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġhttps :// stackoverflow . com / a / 5 5 9 9 8 4 2 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġreadable FileSize ( size : ĠLong ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( size Ġ<= Ġ 0 ) Ġreturn Ġ" 0 " ĊĠĠĠĠĠĠĠ Ġval Ġunits Ġ= ĠarrayOf (" Bi ", Ġ" K iB ", Ġ" M iB ", Ġ" G iB ", Ġ" T iB ", Ġ" Pi B ", Ġ" E iB ") ĊĠĠĠĠĠĠĠ Ġval Ġdigit Groups Ġ= Ġ( log 1 0 ( size . toDouble ()) Ġ/ Ġlog 1 0 ( 1 0 2 4 . 0 )). toInt () ĊĠĠĠĠĠĠĠ Ġreturn ĠDecimal Format ("# , ## 0 .# "). format ( size Ġ/ ĠMath . pow ( 1 0 2 4 . 0 , Ġdigit Groups . toDouble ())) Ġ+ Ġ" Ġ" Ġ+ Ġunits [ digit Groups ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstatus ( container : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġrepositories Api . getRepository Status ( container ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( cont Ġin Ġget Containers Status ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( container Ġ== Ġcont . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui ?. sendMessage ("% 2 0 s Ġ% s $ n ". format (" Status : Ġ", Ġcont . status )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( status . last Commit Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui ?. sendMessage ("% 2 0 s Ġ% s $ n ". format (" Last ĠCommit : Ġ", Ġstatus . last Commit )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( status . source Commit Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui ?. sendMessage ("% 2 0 s Ġ% s $ n ". format (" Source ĠCommit : Ġ", Ġstatus . source Commit )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġui ?. sendMessage ("") ĊĊĠĠĠĠĠĠĠ Ġval Ġvolumes Ġ= Ġvolumes Api . list Volumes ( container ) ĊĠĠĠĠĠĠĠ Ġui ?. sendMessage ("% - 3 0 s Ġ Ġ%- 1 2 s Ġ Ġ% s $ n ". format (" Volume ", Ġ" Un compressed ", Ġ" Compressed ")) ĊĠĠĠĠĠĠĠ Ġfor Ġ( volume Ġin Ġvolumes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvolume Status Ġ= Ġvolumes Api . get Volume Status ( container , Ġvolume . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui ?. sendMessage ( ("% - 3 0 s Ġ Ġ%- 1 2 s Ġ Ġ% s $ n ". format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvolume . properties [" path "], Ġreadable FileSize ( volume Status . logical Size ), Ġreadable FileSize ( volume Status . actual Size )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ