package Ġorg . github . te leg ab ots . task Ċ Ċ import Ġorg . github . te leg ab ots . api . ServiceProvider Ċ import Ġorg . github . te leg ab ots . api . Task Ċ import Ġorg . github . te leg ab ots . api . Task Context Ċ import Ġorg . github . te leg ab ots . api . Task Manager Ċ import Ġorg . github . te leg ab ots . service . Base Context Impl Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . util . concurrent . Executors Ċ Ċ /** Ċ Ġ* ĠFactory Ġthat Ġcreates ĠTask Manager Ġrelated Ġwith Ġblock Id / page Id Ċ Ġ*/ Ċ class ĠTask ManagerFactory ( val Ġservice Provider : ĠService Provider ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( java Class ) !! ĊĠĠĠ Ġprivate Ġval ĠexecutorService Ġ= ĠExec utors . new Cached ThreadPool () ĊĠĠĠ Ġprivate Ġval Ġtasks Ġ= Ġmutable Set Of < Task >() ĊĊĠĠĠ Ġfun Ġcreate ( context : ĠTask Context ): ĠTask Manager Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( log . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreal Context Ġ= Ġcontext Ġas ? ĠBase Context Impl ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Create Ġtask Manager , Ġblock Id : Ġ{}, Ġpage Id : Ġ{}, ĠmessageId : Ġ{}, Ġuser : Ġ{}", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . block Id (), Ġcontext . page Id (), Ġcontext . message Id (), Ġreal Context ?. user () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠTask ManagerImpl ( context , ĠexecutorService , Ġtasks ) ĊĠĠĠ Ġ} Ċ } Ċ