package Ġmain . controller Ċ Ċ import Ġmain . data . Division Ċ import Ġmain . data . Team Ċ import Ġmain . data . persistence . Team Repository Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . stereotype . Controller Ċ import Ġorg . springframework . ui . Model Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ Ċ @ Controller Ċ class ĠTeam Leader board Controller Ġ@ Autowired Ċ constructor ( private Ġval Ġteam Repository : ĠTeam Repository ) Ġ{ ĊĠĠĠ Ġ@ GetMapping ("/ data / team ranks ") ĊĠĠĠ Ġfun Ġteam ranks ( model : ĠModel ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġno vice R anks Ġ= Ġteam Repository . findBy Division ( Division . NO VICE ). map Ġ{ ĠTeam Total DTO ( it ) Ġ}. sorted () ĊĠĠĠĠĠĠĠ Ġmodel . addAttribute (" no vice R anks ", Ġno vice R anks ) ĊĊĠĠĠĠĠĠĠ Ġval Ġadvanced R anks Ġ= Ġteam Repository . findBy Division ( Division . ADV ANCED ). map Ġ{ ĠTeam Total DTO ( it ) Ġ}. sorted () ĊĠĠĠĠĠĠĠ Ġmodel . addAttribute (" advanced R anks ", Ġadvanced R anks ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ" data / team ranks " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠTeam Total DTO Ġinternal Ġconstructor ( private Ġval Ġt : ĠTeam ) Ġ: ĠComparable < Team Total DTO > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcompare To ( other : ĠTeam Total DTO ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( score Ġ!= Ġother . score ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġother . score . compareTo ( score ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( school Ġ!= Ġother . school ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschool . compareTo ( other . school ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġscore : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġt . score Ġ+ Ġt . get Individual s (). map Ġ{ Ġit . score Ġ}. sum () ĊĠĠĠĠĠĠĠ Ġval Ġschool : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġt . school ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġt . id ĊĠĠĠ Ġ} Ċ } Ċ