package Ġpl . pol sl . timetable . synchron ization . sc raper Ċ Ċ import Ġcom . github . m ichael bull . result . Result Ċ import Ġorg . js oup . J soup Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . cache . annotation . Cache able Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġpl . pol sl . timetable . course . lect urer . L ect urer Ċ import Ġjava . net . URL Ċ Ċ @ Component Ċ class ĠC aching L ect urer Factory : Ġ( String , ĠURL ) Ġ-> ĠResult < L ect urer , ĠThrowable > Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( this . java Class ) ĊĊĠĠĠ Ġ@ Cache able ( value Ġ= Ġ" lect urers ") ĊĠĠĠ Ġoverride Ġfun Ġinvoke ( short Name : ĠString , Ġurl : ĠURL ): ĠResult < L ect urer , ĠThrowable > Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . trace (" Parsing Ġlect urer Ġ$ short Name : Ġ$ url ") ĊĠĠĠĠĠĠĠ Ġreturn ĠResult . of Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParsed L ect urer ( J soup . connect ( url . toString () Ġ+ Ġ"& win W = 1 5 8 4 & win H = 8 1 8 & load BG = 0 0 0 0 0 0 "). get (), Ġshort Name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }