count courseList requests seperat

This commit is contained in:
Jannik 2020-02-27 17:42:19 +01:00
parent be95af43c2
commit 2f1f65eba0
Signed by: Seil0
GPG Key ID: E8459F3723C52C24
3 changed files with 24 additions and 13 deletions

View File

@ -30,9 +30,9 @@ import org.mosad.thecitadelofricks.controller.CacheController.Companion.getTimet
import org.mosad.thecitadelofricks.controller.CacheController.Companion.mensaMenu
import org.mosad.thecitadelofricks.controller.StartupController
import org.mosad.thecitadelofricks.controller.StatusController.Companion.getStatus
import org.mosad.thecitadelofricks.controller.StatusController.Companion.updateCourseListRequests
import org.mosad.thecitadelofricks.controller.StatusController.Companion.updateMensaMenuRequests
import org.mosad.thecitadelofricks.controller.StatusController.Companion.updateTimetableRequests
import org.mosad.thecitadelofricks.controller.StatusController.Companion.updateTotalRequests
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.web.bind.annotation.RequestMapping
@ -67,14 +67,13 @@ class APIController {
@RequestMapping("/courseList")
fun courseList(): CoursesList {
logger.info("courseList request at ${LocalDateTime.now()}!")
updateTotalRequests()
updateCourseListRequests()
return courseList
}
@RequestMapping("/mensamenu")
fun mensamenu(): MensaMenu {
logger.info("mensamenu request at ${LocalDateTime.now()}!")
updateTotalRequests()
updateMensaMenuRequests()
return mensaMenu
}
@ -85,7 +84,6 @@ class APIController {
@RequestParam(value = "week", defaultValue = "0") week: Int
): TimetableCourseWeek {
logger.info("timetable request at ${LocalDateTime.now()}!")
updateTotalRequests()
updateTimetableRequests(courseName)
return getTimetable(courseName, week)
}
@ -96,7 +94,7 @@ class APIController {
@RequestParam(value = "week", defaultValue = "0") week: Int
): HashSet<String> {
logger.info("lessonSubjectList request at ${LocalDateTime.now()}!")
updateTotalRequests()
updateTimetableRequests(courseName)
return getLessonSubjectList(courseName, week)
}
@ -107,7 +105,7 @@ class APIController {
@RequestParam(value = "week", defaultValue = "0") week: Int
): ArrayList<Lesson> {
logger.info("lesson request at ${LocalDateTime.now()}!")
updateTotalRequests()
updateTimetableRequests(courseName)
return getLesson(courseName, lessonSubject, week)
}

View File

@ -69,8 +69,9 @@ data class Status(
val uptime: String,
val apiVersion: String,
val softwareVersion: String,
val requestCount: Int,
val totalRequests: Int,
val mensaMenuRequests: Int,
val courseListRequests: Int,
val timetableRequests: ArrayList<TimetableCounter>,
val timetableListSize: Int,
val coursesLastUpdate: Date,

View File

@ -42,27 +42,34 @@ class StatusController {
private var totalRequests = 0
private var mensaMenuRequests = 0
private var courseListRequests = 0
private var timetableRequests = ArrayList<TimetableCounter>()
fun updateTotalRequests() {
/**
* if a mensamenu/courseList/timetable is requested update the specific and total request count
*/
fun updateMensaMenuRequests() {
mensaMenuRequests++
totalRequests++
}
fun updateMensaMenuRequests() {
mensaMenuRequests++
fun updateCourseListRequests() {
courseListRequests++
totalRequests++
}
/**
* if a timetable is requested update the request counter
*/
fun updateTimetableRequests(courseName: String) {
timetableRequests.stream().filter { it.courseName == courseName }.findFirst().ifPresentOrElse({
it.requests++
}, {
timetableRequests.add(TimetableCounter(courseName, 1))
})
totalRequests++
}
/**
* getters and setters
*/
fun getTotalRequests(): Int {
return totalRequests
}
@ -71,6 +78,10 @@ class StatusController {
return mensaMenuRequests
}
fun getCourseListRequests(): Int {
return courseListRequests
}
fun getTimetableRequests(): ArrayList<TimetableCounter> {
return timetableRequests
}
@ -108,6 +119,7 @@ class StatusController {
softwareVersion,
getTotalRequests(),
getMensaMenuRequests(),
getCourseListRequests(),
getTimetableRequests(),
CacheController.timetableList.size,
Date(CacheController.courseList.meta.updateTime * 1000),