package Ġcom . d sm . d ms . domain . service Ċ Ċ import Ġcom . d sm . d ms . domain . base . ErrorHandler Ċ import Ġcom . d sm . d ms . domain . entity . Me al Ċ import Ġcom . d sm . d ms . domain . repository . Me al Repository Ċ import Ġio . reactivex . Single Ċ import Ġcom . d sm . d ms . domain . base . Result Ċ import Ġcom . d sm . d ms . domain . to Result ĊĊ Ċ class ĠMe al ServiceImpl ( ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠMe al Repository , ĊĠĠĠ Ġprivate Ġval Ġhandler : ĠError Handler Ċ ): ĠMe al Service Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Me al ( date : ĠString ): ĠSingle < Result < Me al >> Ġ= ĊĠĠĠĠĠĠĠ Ġrepository . get Remote Me al ( date ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler Ġ= Ġhandler , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Local Data Fun Ġ= Ġ{ Ġrepository . getLocal Me al ( date ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave Local Fun Ġ= Ġ{ ĠT Ġ-> Ġrepository . save Local Me al ( T ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ Ċ } Ċ