@ -55,8 +55,8 @@ class CacheController {
companion object {
private val logger : Logger = LoggerFactory . getLogger ( CacheController :: class . java )
lateinit var courseList : CourseList
lateinit var mensaMenu : MensaMenu
var courseList = CoursesList ( CoursesMeta ( 0 , 0 ) , ArrayList ( ) )
var mensaMenu = MensaMenu ( MensaMeta ( 0 , " " ) , MensaWeek ( ) , MensaWeek ( ) )
var timetableList = ArrayList < TimetableCourseWeek > ( ) // this list contains all timetables
/ * *
@ -141,12 +141,12 @@ class CacheController {
* /
private fun asyncUpdateCourseList ( ) = GlobalScope . launch {
CourseListParser ( ) . getCourseLinks ( StartupController . courseListURL ) ?. let {
courseList = Course List(
Course Meta( System . currentTimeMillis ( ) / 1000 , it . size ) , it
courseList = Course s List(
Course s Meta( System . currentTimeMillis ( ) / 1000 , it . size ) , it
)
}
logger . info ( " u pdated courses successful at ${Date(courseList.meta.updateTime * 1000)} " )
logger . info ( " U pdated courses successful at ${Date(courseList.meta.updateTime * 1000)} " )
}
/ * *
@ -164,7 +164,7 @@ class CacheController {
)
}
logger . info ( " u pdated mensamenu successful at ${Date(mensaMenu.meta.updateTime * 1000)} " )
logger . info ( " U pdated mensamenu successful at ${Date(mensaMenu.meta.updateTime * 1000)} " )
}
/ * *
@ -173,7 +173,7 @@ class CacheController {
* a FixedThreadPool is used to make parallel requests for faster updates
* /
private fun asyncUpdateTimetables ( ) = GlobalScope . launch {
logger . info ( " u pdating ${timetableList.size} timetables ... " )
logger . info ( " U pdating ${timetableList.size} timetables ... " )
// create a new ThreadPool with 5 threads
val executor = Executors . newFixedThreadPool ( 5 )
@ -189,7 +189,7 @@ class CacheController {
}
} catch ( ex : Exception ) {
logger . error ( " e rror while updating the timetables" , ex )
logger . error ( " E rror while updating the timetables" , ex )
} finally {
executor . shutdown ( )
}
@ -214,16 +214,16 @@ class CacheController {
* runBlocking : otherwise the api would return no data to requests for a few seconds after startup
* /
private fun initUpdates ( ) = runBlocking {
// get all course s on startup
// get all course link s on startup, make sure there are course links
val jobCourseUpdate = GlobalScope . async {
CourseListParser ( ) . getCourseLinks ( StartupController . courseListURL ) ?. let {
courseList = Course List(
Course Meta( System . currentTimeMillis ( ) / 1000 , it . size ) , it
courseList = Course s List(
Course s Meta( System . currentTimeMillis ( ) / 1000 , it . size ) , it
)
}
}
// get the current and next weeks mensa menu s
// get the current and next weeks mensa menu
val jobMensa = GlobalScope . async {
val mensaCurrentWeek = MensaParser ( ) . getMensaMenu ( StartupController . mensaMenuURL )
val mensaNextWeek = MensaParser ( ) . getMensaMenu ( MensaParser ( ) . getMenuLinkNextWeek ( StartupController . mensaMenuURL ) )
@ -239,7 +239,7 @@ class CacheController {
jobCourseUpdate . await ( )
jobMensa . await ( )
logger . info ( " init updates successful" )
logger . info ( " Initial updates successful" )
}
/ * *